Base de données
MariaDB est un système de gestion de bases de données relationnelles (SGBDR).MariaDB est un fork de MySQL ce qui signifie qu'il a été développé à partir du code source de MySQL.
- Moteurs de Stockage : Aria, ColumnStore, MyRocks, XtraDB (remplacement de InnoDB), MyISAM.
- Entièrement distribué sous la licence GPL, garantissant que toutes les versions sont open source et libres d'utilisation.
PostgreSQL est un autre système de gestion de bases de données relationnelles (SGBDR) open source,
Indexation :
- MySQL et MariaDB : Support B-tree, Hash, et autres types d'index.
- PostgreSQL : Supporte les index B-tree, Hash, GIN (Generalized Inverted Index), GiST (Generalized Search Tree), SP-GiST, et BRIN (Block Range INdexes), offrant une flexibilité considérable pour les cas d'utilisation complexes.
Cas d'Utilisation :
- MySQL et MariaDB :Applications web courantes, CMS (Content Management Systems) comme WordPress, LAMP stack (Linux, Apache, MySQL, PHP/Perl/Python).
- PostgreSQL : Applications nécessitant des fonctionnalités avancées de base de données, des transactions complexes, et une conformité stricte aux standards SQL.
Limites Théoriques de MySQL
Taille maximale limitée par le système de fichiers courants comme ext4 ont une limite de taille de fichier de 16 To
Taille maximale d'une table : 64 To pour le moteur de stockage InnoDB.
Taille maximale d'un enregistrement : 64 Ko pour les lignes, mais des données plus volumineuses peuvent être stockées dans des colonnes BLOB ou TEXT.
Nombre maximal de colonnes par table : 1017 pour InnoDB.
Nombre maximal d'index par table : 64 pour InnoDB.
Limites Théoriques de PostgreSQL
Taille maximale limitée par le système de fichiers et le matériel.
Taille maximale d'une table : 32 To
Taille maximale d'un enregistrement : 1.6 To.
Nombre maximal de colonnes par table : 1600.
Calcul d'Enregistrements
Estimation de la Taille d'un Enregistrement
Pour chaque champ, nous devons estimer la taille moyenne. En MySQL, les types de données VARCHAR prennent 1 octet supplémentaire pour chaque caractère
pour stocker la longueur du champ. Les autres types de données ont des tailles fixes.
Nom : 50 caractères = 51 octets Prénom : 50 caractères = 51 octets Adresse : 100 caractères = 101 octets Code Postal : 10 caractères = 11 octets Ville : 50 caractères = 51 octets Date de Naissance : 3 octets (type DATE) Numéro de Téléphone : 15 caractères = 16 octets Email : 50 caractères = 51 octets Taille d’un enregistrement=51+51+101+11+51+3+16+51=335 octets Population de la France La population de la France est d'environ 68 millions de personnes.
Pour calculer la taille totale nécessaire pour stocker toutes ces informations, nous multiplions la taille d'un enregistrement par le nombre d'individus :
Taille totale=335 octets/enregistrement×68,000,000 enregistrements Taille totale=22,780,000,000 octets
La taille nécessaire pour stocker les informations de toute la population française, en supposant que chaque enregistrement utilise environ 335 octets, serait d'environ 21.2 Go. Cependant, cette estimation ne prend pas en compte l'espace supplémentaire requis pour les index, les éventuelles surcharges de stockage, et les autres métadonnées de la base de données. Pour une estimation plus précise, il serait prudent de prévoir un espace supplémentaire, par exemple :
Indexation : Les index peuvent ajouter une surcharge significative. Si nous estimons une surcharge d'indexation de 50%, cela ajouterait environ 10.6 Go. Marge de sécurité : Ajouter une marge de sécurité de 10% pour les métadonnées et les autres besoins de stockage. Ainsi, une estimation plus réaliste pourrait être :
En arrondissant, nous pourrions prévoir environ 34 Go de stockage ! Ça tiens sur ma La clé USB acheté 15 €
3.9 To pour population mondiale