MariaDB à l'assaut des développeurs 
(PHP, Python, Perl, Ruby, Java...) 
Le 4 sept. 2014 
Christophe Villeneuve 
@hellosct...
Qui... est Christophe Villeneuve ? 
<< 
afup – lemug.fr – mysql – mariadb – drupal – demoscene – firefoxos – drupagora – p...
Sommaire 
● Histoire & ses forks 
● MySQL 5.x → MariaDB 5.x 
● MariaDB 10.x 
● Les bases 
● MariaDB pour vos développement...
L'origine Dates importantes 
Le 4 sept. 2014 
✔ Fondé par 
✔ Monty Widenius 
✔ David Axmark 
✔ 1983 – 1ère idée 
✔ Fondé e...
Le 4 sept. 2014 
✔ De nos jours... MySQL Forks 
✔ N° 1 dans le monde 
✔ 50k Download (depuis 
2003) 
✔ + 13M installation ...
Présentation des forks
Le 4 sept. 2014 
Les grandes dates de MySQL 
✔ 1983 
✔ 1995 Création de MySQL 
✔ 1999 MySQL 3.23 
✔ 2000 InnoDB 
✔ 2003 My...
Le 4 sept. 2014 
✔ Mi 2008 début 
✔ Mars 2011 1er GA 
✔ Version redessinée de 
MySQL 6.0 
✔ Basé sur Micro-kernel 
+ simpl...
Le 4 sept. 2014 
Les étapes de Percona Server 
✔ Dec 2008 : 1ère released 
✔ 2010 Percona 5.5 
✔ Juin 2013 Percona 5.6 
✔ ...
Le 4 sept. 2014 
MariaDB : un jeune projet... MATURE 
✔ Communauté d'amis 
✔ 100 % Open source et 
compatible MySQL 
✔ Pla...
GO MariaDB
5.x 5.x 
Le 4 sept. 2014 
Compatibilité
Le 4 sept. 2014 
Repère des versions 
✔ MariaDB 5.1 → MySQL 5.1 
✔ MariaDB 5.2 → MariaDB 5.1 
✔ MariaDB 5.3 → MariaDB 5.2 ...
Le 4 sept. 2014 
Apprentissage
Le 4 sept. 2014 
En un mot... MariaDB vs MySQL 
✔ Plus de storages 
✔ Vitesse 
✔ Innodb, replication, stockage... 
✔ Nombr...
Performance 
http://blog.mariadb.org/mariadb-5-3-optimizer-benchmark/ Le 4 sept. 2014
Le 4 sept. 2014 
Connecteurs 
✔ PHP (driver natif) → BSD licence 
✔ Python 
✔ Perl 
✔ Ruby 
✔ .NET avec MyODBC 
✔ JDBC (ba...
Outils de dev : Environnement embarqué 
Le 4 sept. 2014 
✔ EasyPHP 
✔ Xampp 
✔ WampServer 
✔ PHPserver 
✔ WampMSS 
✔ Neard
Le 4 sept. 2014 
Exemple 1 : wampserver 
✔ DL MariaDB (http://mariadb.org) 
✔ Installer dans 1 dossier MySQL 
✔ Déplacer l...
Exemple 2 : PHPServer 
✔ DL PHPServer 
http://www.treshaut.net/viewtopic.php?t=28&p=71 
Le 4 sept. 2014 
✔ Installation
Exemple 2 : PHPServer avec phpMyAdmin 
Le 4 sept. 2014
Exemple 3 : Linux 
✔ sudo apt-get install mariadb-server mariadb-client 
Le 4 sept. 2014 
✔ Vous retrouvez : 
✔ /etc/mysql...
Backup Pour vos requêtes 
Le 4 sept. 2014 
✔ MySQLdump 
✔ XtraBackup 
✔ mysqlhotcopy (MyISAM) 
✔ XtraBackup manager 
(PHP)...
Le 4 sept. 2014 
Dispo dans MariaDB 10.0 
✔ Moteur de stockage (storages engines) natif 
✔ Réplication multisource 
✔ NOW(...
Le 4 sept. 2014 
5.x 
10.x
✔ Précision date-heure 
Le 4 sept. 2014 
✔ Avant 
✔ TIME 
✔ DATETIME 
✔ TIMESTAMP 
✔ Dispo MariaDB 5.3+ 
✔ temporal functi...
Avant MariaDB 5.3+ 
Le 4 sept. 2014 
✔ Create table t1 (d 
DATETIME) ; 
✔ Insert INTO t1 values.... 
✔ Select * from t1 ; ...
✔ Dispo MariaDB 5.2+ 
✔ Colonne dans une table 
qui sa valeur calculée 
automatiquement 
Le 4 sept. 2014 
✔ 2 types : 
✔ V...
Le 4 sept. 2014 
Exemple (Colonnes Virtuelles) (1/2) 
✔ CREATE TABLE table1 ( 
a INT NOT NULL, 
b VARCHAR(32), 
c INT AS (...
Le 4 sept. 2014 
Exemple (Colonnes Virtuelles) (2/2) 
✔ INSERT INTO table1 VALUES 
✔ (1, 'some text',default,default), 
✔ ...
✔ Dispo MariaDB 10.0+ 
✔ Expressions régulières 
Le 4 sept. 2014 
✔ Compatible 
✔ REGEXP 
✔ RLIKE operator 
✔ Fonctionne 
...
Le 4 sept. 2014 
Exemple (PCRE) (1/2) 
✔ Fonction de remplace 
✔ SELECT REGEXP_REPLACE('ab12cd','[0-9]','') AS r; 
→ abcd ...
Exemple (PCRE) (2/2) 
✔ Retourne la partie correspondante d'une chaine 
Le 4 sept. 2014 
✔ SELECT REGEXP_SUBSTR( 
'http://...
✔ Dispo MariaDB 10+ 
✔ Inspiré de PostgreSQL 
✔ Supprimer les opérations 
qui renvoient un ensemble 
de ligne supprimées 
...
Exemple (Delete...returning) 
✔ DELETE FROM tests WHERE status = 'DONE' 
RETURNING *; 
Le 4 sept. 2014 
✔ → 5
✔ Dispo MariaDB 5.3+ 
✔ Pont entre les BDD 
relationnelles et non 
relationnelles 
✔ Toutes les colonnes 
stockées dans un...
Le 4 sept. 2014 
Exemple (colonne dynamique) 1/2 
CREATE TABLE t1 ( 
ID int 
auto_increment 
primary key, 
Type_id int, 
P...
INSERT into t1 values (NULL, 1 , 10, COLUMN_CREATE(1, 'bleu', 2 , 'M')); 
INSERT into t1 values (NULL, 2 , 400, COLUMN_CRE...
Le 4 sept. 2014 
Exemple2 (colonne dynamique)
Moteur de stockage 
storage engine
Le 4 sept. 2014 
Moteur de stockage : SphinxSE 
● Dispo MariaDB 5.2+ 
● Recherche Full-text 
● Ne stocke pas les données 
...
Entier 
Poids 
Votre 
requete 
Group 
Indexation 
Requete 
Le 4 sept. 2014 
Exemple SphinxSE 
● CREATE TABLE t1 ( 
id INTE...
Le 4 sept. 2014 
Moteur de stockage : CassandraSE 
● Dispo MariaDB 10.0+ 
● Brique de Apache Cassandra 
● Données non rela...
Le 4 sept. 2014 
CassandraSE : Utilisation (1/2) 
> create table t2 (rowkey varchar(36) primary key, 
data1 varchar(60), 
...
Le 4 sept. 2014 
CassandraSE : Utilisation (2/2) 
> insert into t1 values 
('rowkey10', 'data1-value', 123456), 
('rowkey1...
Le 4 sept. 2014 
Moteur de stockage : Connect 
● Dispo MariaDB 10.0+ 
● ETL : Extract, transform et Load 
● Lecture / Ecri...
Le 4 sept. 2014 
Connect : exemple CSV 
● Fichier 
– first,last,birthday 
– "Christophe","Villeneuve","Jan 1" 
– "PHP","Qu...
Le 4 sept. 2014 
Connect : exemple ODBC 
> create Table table2 
ENGINE=CONNECT TABLE_TYPE=ODBC 
SRCDEF='select key, sum(l_...
Le 4 sept. 2014 
Moteur de stockage : TokuDB 
● Natif dans MariaDB 5.5 & MariaDB 10.0+ 
● (R)Tokutek & MariaDB 
● Techniqu...
Le 4 sept. 2014 
TokuDB : exemple
Le 4 sept. 2014 
Moteur de stockage : Spider (v3) 
● Dispo MariaDB 10.0+ 
● Moteur de stockage fédérés comme 
– Sharding /...
Le 4 sept. 2014 
Spider : l'approche
Le 4 sept. 2014 
Moteur de stockage : Les autres 
● XtraDB (MariaDB 10.0.9) 
– Fork de InnoDB (Full compatible) 
● Aria ap...
Le 4 sept. 2014 
✔ Distributions 
✔ OpenSUSE 12.3 
✔ Gentoo 
✔ FreeBSD 
✔ Homebrew 
✔ Slackware 
✔ ArchLinux 
✔ Debian / U...
Merci 
Et merci à Monty Widenius
Le 4 sept. 2014 
Ressources 
● MariaDB : https://mariadb.com/kb/en/ 
● Planet mariaDB : http://planetmariadb.org/ 
● Manag...
MariaDB à l'assaut des developpeurs
MariaDB à l'assaut des developpeurs
MariaDB à l'assaut des developpeurs
MariaDB à l'assaut des developpeurs
Prochain SlideShare
Chargement dans…5
×

MariaDB à l'assaut des developpeurs

1 223 vues

Publié le

Présentation effectuée à PHP Quebec (Septembre 2014) "MariaDB à l'assaut des developpeurs... PHP, Python,, Ruby, Java..." par Christophe Villeneuve.
Après une présentation générale, nous verrons quelques fonctionnalités de la base de données MariaDB et les principaux Moteurs de Stockages utiles pour les développeurs

Publié dans : Internet
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
1 223
Sur SlideShare
0
Issues des intégrations
0
Intégrations
79
Actions
Partages
0
Téléchargements
21
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

MariaDB à l'assaut des developpeurs

  1. 1. MariaDB à l'assaut des développeurs (PHP, Python, Perl, Ruby, Java...) Le 4 sept. 2014 Christophe Villeneuve @hellosct1
  2. 2. Qui... est Christophe Villeneuve ? << afup – lemug.fr – mysql – mariadb – drupal – demoscene – firefoxos – drupagora – phptour – forumphp – solutionlinux – demoinparis – ici et maintenant – eyrolles – editions eni – programmez – linux pratique – webriver – phptv – neuros - elephpant
  3. 3. Sommaire ● Histoire & ses forks ● MySQL 5.x → MariaDB 5.x ● MariaDB 10.x ● Les bases ● MariaDB pour vos développements
  4. 4. L'origine Dates importantes Le 4 sept. 2014 ✔ Fondé par ✔ Monty Widenius ✔ David Axmark ✔ 1983 – 1ère idée ✔ Fondé en 1995 ✔ 2007 Préparation pour Nasdaq ✔ 2008 Rachat par Sun ✔ 2009 Sun racheté par Oracle ✔ Promesse de Oracle sur 5 ans (fin 2014) Histoire de début
  5. 5. Le 4 sept. 2014 ✔ De nos jours... MySQL Forks ✔ N° 1 dans le monde ✔ 50k Download (depuis 2003) ✔ + 13M installation active ✔ MySQL Oracle ✔ Drizzle ✔ Percona ✔ MariaDB Et maintenant
  6. 6. Présentation des forks
  7. 7. Le 4 sept. 2014 Les grandes dates de MySQL ✔ 1983 ✔ 1995 Création de MySQL ✔ 1999 MySQL 3.23 ✔ 2000 InnoDB ✔ 2003 MySQL 3.23 GA ✔ 2004 MySQL 4.1 GA ✔ 2005 Oracle avec InnoDB ✔ 2005 MySQL 5.0 GA ✔ 2008 MySQL 5.1GA(Sun) ✔ 2010 MySQL 5.5 GA (Oracle) ✔ 2011 Modules de codes source fermé ✔ 2013 MySQL 5.6 GA ✔ 2013 (dec) MySQL 5.7
  8. 8. Le 4 sept. 2014 ✔ Mi 2008 début ✔ Mars 2011 1er GA ✔ Version redessinée de MySQL 6.0 ✔ Basé sur Micro-kernel + simple & + léger ✔ En ligne de commande ✔ BDD du coté serveur ✔ GPL v2 Drizzle les points forts
  9. 9. Le 4 sept. 2014 Les étapes de Percona Server ✔ Dec 2008 : 1ère released ✔ 2010 Percona 5.5 ✔ Juin 2013 Percona 5.6 ✔ XtraDB au lieu de InnoDB ✔ Plus d'instrumentation ✔ Nombreux outils ✔ Amélioration Restart ✔ Performance ✔ Statistiques
  10. 10. Le 4 sept. 2014 MariaDB : un jeune projet... MATURE ✔ Communauté d'amis ✔ 100 % Open source et compatible MySQL ✔ Plateforme d'innovation ✔ Des commiteurs ✔ Dec 2008 Création de Monty Program → Monty Widenius ✔ MariaDB 5.1 (Fev 2010) ✔ MariaDB 5.2 (Nov 2010) ✔ MariaDB 5.3 (Avril 2012) ✔ MariaDB 5.5 (Avril 2012) ✔ MariaDB 10.0a (Nov 2012) 1er semestre 2013 ✔ 2013 Fondation Compression Multimaster Replication Galera people ✔ 2013 MariaDB 10.0.1
  11. 11. GO MariaDB
  12. 12. 5.x 5.x Le 4 sept. 2014 Compatibilité
  13. 13. Le 4 sept. 2014 Repère des versions ✔ MariaDB 5.1 → MySQL 5.1 ✔ MariaDB 5.2 → MariaDB 5.1 ✔ MariaDB 5.3 → MariaDB 5.2 ✔ MariaDB 5.5 → MariaDB 5.3 + MySQL 5.5 ✔ MariaDB 10.0 → MariaDB 5.5 + MySQL 5.6 ✔ MariaDB 5.6 → MariaDB 5.5 + MySQL 5.6 Fin 2014 ou début 2015 ✔ MariaDB 10.1 → MariaDB 10.0 + MySQL 5.6/5.7
  14. 14. Le 4 sept. 2014 Apprentissage
  15. 15. Le 4 sept. 2014 En un mot... MariaDB vs MySQL ✔ Plus de storages ✔ Vitesse ✔ Innodb, replication, stockage... ✔ Nombreuses extensions et fonctionnalités ✔ Colonnes virtuelles, colonne dynamique, multi... ✔ Plus de tests ✔ Tests correctifs, réactivités... ✔ Code source ouvert ✔ Développé par la communauté
  16. 16. Performance http://blog.mariadb.org/mariadb-5-3-optimizer-benchmark/ Le 4 sept. 2014
  17. 17. Le 4 sept. 2014 Connecteurs ✔ PHP (driver natif) → BSD licence ✔ Python ✔ Perl ✔ Ruby ✔ .NET avec MyODBC ✔ JDBC (basé sur drizzle driver) ✔ C ✔ Oracle connector (licence GPL) Tous sont LGPL → Aucune licence commerciale
  18. 18. Outils de dev : Environnement embarqué Le 4 sept. 2014 ✔ EasyPHP ✔ Xampp ✔ WampServer ✔ PHPserver ✔ WampMSS ✔ Neard
  19. 19. Le 4 sept. 2014 Exemple 1 : wampserver ✔ DL MariaDB (http://mariadb.org) ✔ Installer dans 1 dossier MySQL ✔ Déplacer les BDD sauvegardées data ✔ Lancer Wampserver
  20. 20. Exemple 2 : PHPServer ✔ DL PHPServer http://www.treshaut.net/viewtopic.php?t=28&p=71 Le 4 sept. 2014 ✔ Installation
  21. 21. Exemple 2 : PHPServer avec phpMyAdmin Le 4 sept. 2014
  22. 22. Exemple 3 : Linux ✔ sudo apt-get install mariadb-server mariadb-client Le 4 sept. 2014 ✔ Vous retrouvez : ✔ /etc/mysql/my.cnf ✔ > mysql ✔ Au final
  23. 23. Backup Pour vos requêtes Le 4 sept. 2014 ✔ MySQLdump ✔ XtraBackup ✔ mysqlhotcopy (MyISAM) ✔ XtraBackup manager (PHP) ✔ ... ✔ MySQL Workbench ✔ SkySQL visual Editor (SQLYog) ✔ HeidiSQL ✔ PhpMyAdmin ✔ Toad For MySQL ✔ ... Outils
  24. 24. Le 4 sept. 2014 Dispo dans MariaDB 10.0 ✔ Moteur de stockage (storages engines) natif ✔ Réplication multisource ✔ NOW() à la place de DATETIME ✔ Amélioration des informations erreurs ✔ Amélioration schéma de performance ✔ InnoDB ✔ Replication ✔ Statistics & Monitoring ✔ Optimizer ✔ Performance
  25. 25. Le 4 sept. 2014 5.x 10.x
  26. 26. ✔ Précision date-heure Le 4 sept. 2014 ✔ Avant ✔ TIME ✔ DATETIME ✔ TIMESTAMP ✔ Dispo MariaDB 5.3+ ✔ temporal functions ✔ CAST ✔ dynamic columns Les fonctions (1/5) Microseconds
  27. 27. Avant MariaDB 5.3+ Le 4 sept. 2014 ✔ Create table t1 (d DATETIME) ; ✔ Insert INTO t1 values.... ✔ Select * from t1 ; ✔ Create table t2 (d DATETIME (6) ) ; ✔ Insert Into t2 values ('2011-03-11'), ('2012-04-19 13:08:22'), ('2013-07-18 13:44:22.123456'); ✔ Select * from t2 ; Exemple (Microseconds)
  28. 28. ✔ Dispo MariaDB 5.2+ ✔ Colonne dans une table qui sa valeur calculée automatiquement Le 4 sept. 2014 ✔ 2 types : ✔ VIRTUAL : sur le principe d'une vue ✔ PERSISTENT : Calculé lorsque les données sont insérées et stockées dans une table Les fonctions (2/5) Microseconds Colonnes virtuelles Source : https://mariadb.com/kb/en/virtual-columns/
  29. 29. Le 4 sept. 2014 Exemple (Colonnes Virtuelles) (1/2) ✔ CREATE TABLE table1 ( a INT NOT NULL, b VARCHAR(32), c INT AS (a mod 10) VIRTUAL, d VARCHAR(5) AS (left(b,5)) PERSISTENT ); ✔ DESCRIBE table1;
  30. 30. Le 4 sept. 2014 Exemple (Colonnes Virtuelles) (2/2) ✔ INSERT INTO table1 VALUES ✔ (1, 'some text',default,default), ✔ (2, 'more text',5,default), ✔ (123, 'even more text',default,'something'); ✔ Select * from table1;
  31. 31. ✔ Dispo MariaDB 10.0+ ✔ Expressions régulières Le 4 sept. 2014 ✔ Compatible ✔ REGEXP ✔ RLIKE operator ✔ Fonctionne ✔ Multi caractères Les fonctions (3/5) Microseconds Colonnes Virtuelles PCRE Source : https://mariadb.com/kb/en/pcre-regular-expressions/
  32. 32. Le 4 sept. 2014 Exemple (PCRE) (1/2) ✔ Fonction de remplace ✔ SELECT REGEXP_REPLACE('ab12cd','[0-9]','') AS r; → abcd ✔ Retourne 1ère position ✔ SELECT REGEXP_INSTR('abc','b') ; → 2 ✔ SELECT REGEXP_INSTR('hello','o') ; → 5
  33. 33. Exemple (PCRE) (2/2) ✔ Retourne la partie correspondante d'une chaine Le 4 sept. 2014 ✔ SELECT REGEXP_SUBSTR( 'http://www.phpquebec.org/content/contact', 'https?://[^/]*') FROM... → http://www.phpquebec.org
  34. 34. ✔ Dispo MariaDB 10+ ✔ Inspiré de PostgreSQL ✔ Supprimer les opérations qui renvoient un ensemble de ligne supprimées Le 4 sept. 2014 Les fonctions (4/5) Microseconds Colonnes virtuelles PCRE Delete... Returning
  35. 35. Exemple (Delete...returning) ✔ DELETE FROM tests WHERE status = 'DONE' RETURNING *; Le 4 sept. 2014 ✔ → 5
  36. 36. ✔ Dispo MariaDB 5.3+ ✔ Pont entre les BDD relationnelles et non relationnelles ✔ Toutes les colonnes stockées dans un 'blob' ✔ Possibilité de manipuler ✔ Possibilité de créer des index virtuels Le 4 sept. 2014 Les fonctions (5/5) Microseconds Colonnes virtuelles REG EXP Delete... Returning Colonnes Dynamiques
  37. 37. Le 4 sept. 2014 Exemple (colonne dynamique) 1/2 CREATE TABLE t1 ( ID int auto_increment primary key, Type_id int, Prix decimal(7,2), extra blob ); COLUMN_CREATE( column_nr, value [as type], [ column_nr, value [as type] ], ...) ID type_id Prix blob
  38. 38. INSERT into t1 values (NULL, 1 , 10, COLUMN_CREATE(1, 'bleu', 2 , 'M')); INSERT into t1 values (NULL, 2 , 400, COLUMN_CREATE(3, 'RAM', 5 , 800)); UPDATE t1 SET extra = COLUMN_ADD(extra, 6 , 2048) WHERE id=2; C1oloris Taille Materiel Mhz option Le 4 sept. 2014 Exemple (colonne dynamique) 2/2 ID type_id Prix 1 2 3 4 5 6 1 1 10 bleu M 2 2 400 Ram 800 2048
  39. 39. Le 4 sept. 2014 Exemple2 (colonne dynamique)
  40. 40. Moteur de stockage storage engine
  41. 41. Le 4 sept. 2014 Moteur de stockage : SphinxSE ● Dispo MariaDB 5.2+ ● Recherche Full-text ● Ne stocke pas les données ● Client haut pour permettre à MariaDB de parler à Sphinx searchd ● Installation dans My.cnf [mysqld] plugin-load= 'ha_sphinx.so';
  42. 42. Entier Poids Votre requete Group Indexation Requete Le 4 sept. 2014 Exemple SphinxSE ● CREATE TABLE t1 ( id INTEGER UNSIGNED NOT NULL, weight INTEGER NOT NULL, query VARCHAR(3072) NOT NULL, group_id INTEGER, INDEX(query) ) ENGINE=SPHINX CONNECTION="sphinx://localhost:9312/test"; ● SELECT * FROM t1 WHERE query='test it;mode=any';
  43. 43. Le 4 sept. 2014 Moteur de stockage : CassandraSE ● Dispo MariaDB 10.0+ ● Brique de Apache Cassandra ● Données non relationnelles (NoSQL) ● Assurer l'intégration des données SQL / NoSQL ● Mapping possible ● Manipulations : static columns, dynamic columns, rowkey ● Installation dans My.cnf [mysqld] plugin-load=ha_cassandra.so
  44. 44. Le 4 sept. 2014 CassandraSE : Utilisation (1/2) > create table t2 (rowkey varchar(36) primary key, data1 varchar(60), data2 varchar(60) ) engine=cassandra keyspace='mariadbtest' thrift_host='localhost' column_family='cf1'; Clé primaire obligatoire Colonnes statiques Sous ensemble des colonnes CF
  45. 45. Le 4 sept. 2014 CassandraSE : Utilisation (2/2) > insert into t1 values ('rowkey10', 'data1-value', 123456), ('rowkey11', 'data1-value2', 34543); > select * from t1 where rowkey='rowkey11';
  46. 46. Le 4 sept. 2014 Moteur de stockage : Connect ● Dispo MariaDB 10.0+ ● ETL : Extract, transform et Load ● Lecture / Ecriture / MAJ – TXT, DBF, INI, XML – MS Access, MS Excel, TBL (similaire à MERGE) – ODBC, MySQL,SQLite, Oracle, DB2, WMI... ● Locale ou distant ● Custom possible ● Accès en parallèle sur multitables ● Installation dans My.cnf [mysqld] plugin-load=ha_connect.so
  47. 47. Le 4 sept. 2014 Connect : exemple CSV ● Fichier – first,last,birthday – "Christophe","Villeneuve","Jan 1" – "PHP","Quebec","Sep 4" > CREATE TABLE users_csv ( first varchar(32) NOT NULL, last varchar(32) NOT NULL, birthday varchar(50) NOT NULL ) ENGINE=CONNECT TABLE_TYPE =CSV FILE_NAME ='/var/lib/mysql/users.csv' HEADER=1 SEP_CHAR=',' QUOTED=1; > SELECT * FROM users_csv; | first | last | birthday | +---------------+---------------+-------------+ | Christophe | Villeneuve | Jan 1 | | PHP | Quebec | Sep 4 | +---------------+---------------+-------------+
  48. 48. Le 4 sept. 2014 Connect : exemple ODBC > create Table table2 ENGINE=CONNECT TABLE_TYPE=ODBC SRCDEF='select key, sum(l_quantity) qt from dbt3.table1 group by key' CONNECTION='DSN=oracle;UID=login;PWD=password'; > MariaDB [dbt3]> select sum(qt) from (select qt from table2) as result; → 31444 Valeur de sum(qt)
  49. 49. Le 4 sept. 2014 Moteur de stockage : TokuDB ● Natif dans MariaDB 5.5 & MariaDB 10.0+ ● (R)Tokutek & MariaDB ● Technique utilise l'arbre fractal – Amélioration indexation – Amélioration des requêtes ● Schéma de vitesse ● Compression ● Réplication ● Souple
  50. 50. Le 4 sept. 2014 TokuDB : exemple
  51. 51. Le 4 sept. 2014 Moteur de stockage : Spider (v3) ● Dispo MariaDB 10.0+ ● Moteur de stockage fédérés comme – Sharding / partitionnement * – Transactions *, XA – Intégré dans le pool de connexion – Haute disponibilité Cluster Shared­Nothing ● Load balancing : – Accès par Spider cluster avec plusieurs serveurs MariaDB
  52. 52. Le 4 sept. 2014 Spider : l'approche
  53. 53. Le 4 sept. 2014 Moteur de stockage : Les autres ● XtraDB (MariaDB 10.0.9) – Fork de InnoDB (Full compatible) ● Aria appelé Maria (MariaDB 5.1) – Anciennement MyISAM ● Mroonga (MariaDB 10.0) – fulltext searches with Chinese, Japanese and Korean languages ● Oqgraph (MariaDB 10.0) – Utilisé pour mettre en oeuvre des structures d'arbres ● Sequence (MariaDB 10.0) – Retourne une séquence de nombres comme un jeu de résultats ● FederatedX (MariaDB 10.0) – Fork de Federated https://mariadb.com/kb/en/mariadb/documentation/storage-engines/
  54. 54. Le 4 sept. 2014 ✔ Distributions ✔ OpenSUSE 12.3 ✔ Gentoo ✔ FreeBSD ✔ Homebrew ✔ Slackware ✔ ArchLinux ✔ Debian / Ubuntu ✔ Fédora 7.0 ✔ Redhat ✔ ... ✔ Dec 2012 Wikipedia ✔ 2013 ✔ Blog de Mozilla ✔ Google Developer Ceux qui ont déjà sauté...
  55. 55. Merci Et merci à Monty Widenius
  56. 56. Le 4 sept. 2014 Ressources ● MariaDB : https://mariadb.com/kb/en/ ● Planet mariaDB : http://planetmariadb.org/ ● Management : http://skysql.com/ ● Blog http://serge.frezefond.com/

×