3. Le 5 octobre 2013
✔
Histoire
✔
Un choix
✔
En mode avancé
✔
En pratique
Sommaire
4. Le 5 octobre 2013
✔
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 2009)
L'origine Dates importantes
Histoire de début
5. Le 5 octobre 2013
✔
N° 1 dans le monde
✔
50k Download (depuis
2003)
✔
+ 13M installation
active
✔
MySQL Oracle
✔
Drizzle
✔
Percona
✔
MariaDB
✔
De nos jours... MySQL Forks
Et maintenant
8. Le 5 octobre 2013
✔
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
✔
??? MySQL 5.7
Les grandes dates de MySQL
9.
10. Le 5 octobre 2013
✔
Mi 2008 début
✔
Mars 2011 1ère
version 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
11.
12. Le 5 octobre 2013
✔
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
Les étapes de Percona Server
13.
14. Le 5 octobre 2013
✔
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
✔
MariaDB 10.0.1
(fin 2013)Galera people
Compression Multimaster
Replication
MariaDB : un jeune projet... MATURE
15. Le 5 octobre 2013
✔ 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 2013
✔ MariaDB 10.0.1 → MariaDB 5.6 + MariaDB 10.0
Repère des versions
16.
17. Le 5 octobre 2013
✔
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é
En un mot... MariaDB vs MySQL
19. Le 5 octobre 2013
✔
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
Connecteurs
20. Le 5 octobre 2013
Cassandra SE
✔
A partir de MariaDB 5.3
✔
NoSQL / NewSQL
✔
Données non structurées
✔
Réplication rapide
✔
Assurer l'intégration des
données SQL / NoSQL
✔
Mapping possible
Storages engines 1/4
22. Le 5 octobre 2013
➢
Cassandra
➢
TokuDB
➢
Connect
✔
MariaDB 10.0
✔
Lecture / Ecriture / MAJ
✔
TXT
✔
DBF
✔
.INI
✔
.XML
✔
ODBC
✔
Locale ou distant
✔
Possible de faire le sien
Storages engine 3/4
23. Le 5 octobre 2013
➢
Cassandra
➢
TokuDB
➢
Connect
A partir de 5.1
✔
PBXT(Désactiver 5.5)
✔
XtraDB (old innoDB)
✔
FederatedX
✔
Aria (old MyISAM)
Storages engine 4/4
24. Le 5 octobre 2013
➢
Cassandra
➢
TokuDB
➢
Connect
A partir de 5.1
✔
OQGraph (moteur info)
✔
SphinxSE (=search)
A partir de 5.2
Storages engines 4/4
25. Le 5 octobre 2013
✔
Pont entre les BDD relationnelles et non
relationnelles
✔
Toutes les colonnes stockées dans un « blob »
✔
Possibilité de le manipuler
✔
Possibilité de créer des index Virtuels
Colonnes Dynamiques
26. Le 5 octobre 2013
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]
],
...)
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;
Coloris / Taille / Matériel / Vide / hard / optionID / Type_id / Prix
Création d'une colonne dynamique
28. Le 5 octobre 2013
SELECT ...
FROM table1
WHERE table1_col IN (
SELECT table2_col
FROM table2
WHERE table2_subq)
AND table1_where;
Optimizer_switch='semijoin=on'
Materialization=on / off
in_to_exists = on/off
tmp_table_size
max_heap_table_size
Optimizer_switch='semijoin=on'
Materialization=on / off
in_to_exists = on/off
tmp_table_size
max_heap_table_size
Subquery... MariaDB 5.3 + MySQL 5.6
29. Le 5 octobre 2013
✔
Moteur de table (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
MariaDB 10.0
30. Le 5 octobre 2013http://blog.mariadb.org/mariadb-5-3-optimizer-benchmark/
Performance
32. Le 5 octobre 2013
✔
EasyPHP
✔
Xampp
✔
WampServer
✔
PHPserver
✔
WampMSS
Environnement embarqué
33. Le 5 octobre 2013
✔
DL MariaDB (http://mariadb.org)
✔
Installer dans 1 dossier MySQL
✔
Déplacer les BDD sauvegardées data
✔
Lancer Wampserver
Exemple 1 : wampserver
34. Le 5 octobre 2013
✔
DL PHPServer
http://www.treshaut.net/viewtopic.php?t=28&p=71
✔
Installation
Exemple 2 : PHPServer
35. Le 5 octobre 2013
Exemple 2 : PHPServer avec phpMyAdmin
36. Le 5 octobre 2013
✔
sudo apt-get install mariadb-server mariadb-client
✔
Vous retrouvez :
✔
/etc/mysql/my.cnf
✔
> mysql
✔
Au final
Exemple 3 : Linux
37. Le 5 octobre 2013
✔
MySQLdump
✔
XtraBackup
✔
mysqlhotcopy
(MyISAM)
✔
XtraBackup manager
(PHP)
✔
...
✔
MySQL Workbench
✔
SkySQL visual Editor
(SQLYog)
✔
HeidiSQL
✔
PhpMyAdmin
✔
Toad For MySQL
✔
...
Backup Pour vos requêtes
Outils
40. Le 5 octobre 2013
✔
Distributions
✔
OpenSUSE 12.3
✔
Gentoo
✔
FreeBSD
✔
Homebrew
✔
Slackware
✔
ArchLinux
✔
Fédora 7.0
✔
...
✔
Dec 2012 Wikipedia
✔
2013
✔
Blog de Mozilla
✔
Google Developer
Ceux qui ont déjà sauté...