Download - Exposé sur Berkeley Data Base
![Page 1: Exposé sur Berkeley Data Base](https://reader033.vdocuments.mx/reader033/viewer/2022061201/547894aab4af9fb1728b4766/html5/thumbnails/1.jpg)
Ecole Nationale Supérieure d’informatique
Exposé Base de donnéeBerekley DB
Réalisé par: Chelghoum Ahlem (CdP) Souiad Ilhem Bouterbiat Oualid Dehimi Mustapha El Amine Kaddour Issa Kamel
Section: AGroupe: A2
![Page 2: Exposé sur Berkeley Data Base](https://reader033.vdocuments.mx/reader033/viewer/2022061201/547894aab4af9fb1728b4766/html5/thumbnails/2.jpg)
2
Sommaire
• Introduction.• C’est quoi Berkeley?• Utilisation de Berkeley DB.• Famille de Berkeley DB.• Berkeley DB Tools.• La Paire Clé/Valeur.• Méthodes d’accès aux données.• Architecture de BDB.• Gestion des données.• Démonstration.• Conclusion.
![Page 3: Exposé sur Berkeley Data Base](https://reader033.vdocuments.mx/reader033/viewer/2022061201/547894aab4af9fb1728b4766/html5/thumbnails/3.jpg)
Introduction
Le SGBD est un logiciel destiné à stocker et à partager des informations dans une base de données en garantissant la qualité, la pérennité et la confidentialité des informations, tout en cachant la complexité des opérations, permet d’interagir avec une base de données.
![Page 4: Exposé sur Berkeley Data Base](https://reader033.vdocuments.mx/reader033/viewer/2022061201/547894aab4af9fb1728b4766/html5/thumbnails/4.jpg)
C’est quoi Berkeley
Berkeley DB (BDB) fait partie de la famille des bases de données « clé-valeur » et est sans doute le produit de cette famille le plus utilisé au monde avec plusieurs dizaines de millions de déploiement. La première version de BDB remonte à 1986 et est la propriété d'Oracle depuis février 2006.
![Page 5: Exposé sur Berkeley Data Base](https://reader033.vdocuments.mx/reader033/viewer/2022061201/547894aab4af9fb1728b4766/html5/thumbnails/5.jpg)
C’est quoi Berkeley
Il est utilisé dans de nombreux environnement sous Unix, Linux, Microsoft Windows et dans les systèmes embarqués
La dernière version de BDB c’est 6.0
![Page 6: Exposé sur Berkeley Data Base](https://reader033.vdocuments.mx/reader033/viewer/2022061201/547894aab4af9fb1728b4766/html5/thumbnails/6.jpg)
Utilisation de Berkeley DBBerkeley DB est embarquer dans plusieurs application propriétaire et open sourceBDB est le gestionnaire de données intégré dans la majorité des serveurs d'annuaire déployés aujourd'hui, y compris les serveurs LDAP de Netscape, MessageDirect ( Embarqué dans beaucoup de serveur de messagerie).On retrouve aussi Berkely DB dans le Apache web serveur et le Gnome desktop.Sendmail server utilise Berkeley DB pour le stockage des alias et information des utilisateurs
![Page 7: Exposé sur Berkeley Data Base](https://reader033.vdocuments.mx/reader033/viewer/2022061201/547894aab4af9fb1728b4766/html5/thumbnails/7.jpg)
Utilisation de Berkeley
![Page 8: Exposé sur Berkeley Data Base](https://reader033.vdocuments.mx/reader033/viewer/2022061201/547894aab4af9fb1728b4766/html5/thumbnails/8.jpg)
Famille Berkeley DB
• Oracle BDB core • Oracle BDB XML Edition• BDB Java Edition
![Page 9: Exposé sur Berkeley Data Base](https://reader033.vdocuments.mx/reader033/viewer/2022061201/547894aab4af9fb1728b4766/html5/thumbnails/9.jpg)
Berkeley DB Tools
Berkeley DB offre également des services de base de données basics pour les développeurs. Ces services comprennent :
Gestion page cache Transactions et l'exploitation forestière Verrouillage
![Page 10: Exposé sur Berkeley Data Base](https://reader033.vdocuments.mx/reader033/viewer/2022061201/547894aab4af9fb1728b4766/html5/thumbnails/10.jpg)
10
La distribution Open Source
• La distribution Berkeley BD dispose de essentiellement de 4 produit :
• Berkeley DB Data Store : c’est la distribution standard, il est destiné à être utilisé en mono-utilisateur ou dans applications où on peut garantir que pas plus d'un thread de contrôle ne sera jamais lancer pour mettre à jour la base de données à tout moment .
![Page 11: Exposé sur Berkeley Data Base](https://reader033.vdocuments.mx/reader033/viewer/2022061201/547894aab4af9fb1728b4766/html5/thumbnails/11.jpg)
11
La distribution Open Source
• Berkeley DB Concurrent Data Store:Permet la mise à jour simultané de la base de
donnée. Et donc plusieurs threads de contrôle peuvent se lancer simultanément.
![Page 12: Exposé sur Berkeley Data Base](https://reader033.vdocuments.mx/reader033/viewer/2022061201/547894aab4af9fb1728b4766/html5/thumbnails/12.jpg)
12
La distribution Open Source
• Berkeley DB transactionnel Data Store:Ajoute le support transactionnel complet au
Berkeley DB Data Store. Il est conçu pour les applications qui nécessitent des services de base de données de puissance industrielle , y compris d'excellentes performances sous des charges de travail haute concurrence avec un mélange des lecteurs et des écritures.
![Page 13: Exposé sur Berkeley Data Base](https://reader033.vdocuments.mx/reader033/viewer/2022061201/547894aab4af9fb1728b4766/html5/thumbnails/13.jpg)
13
La distribution Open Source
• Berkeley DB High Availability:Il est dédié à la réplication de données . Le maître gère
toutes les mises à jour , et les distribue à autant de répliques que l'application nécessite . Toutes les répliques peuvent gérer les requêtes de lecture pendant le traitement normal. Si le système maître échoue pour une raison quelconque, l'un des répliques reprend que le nouveau système de maître , et distribue des mises à jour des répliques restantes .
![Page 14: Exposé sur Berkeley Data Base](https://reader033.vdocuments.mx/reader033/viewer/2022061201/547894aab4af9fb1728b4766/html5/thumbnails/14.jpg)
La Paire Clé/ValeurPK ? Quantité immense de données(Web2.0). Besoin de disponibilité (high availibility). Performances dégradées de Relationnel lorsque la quantité de
données augmente(beaucoup de jointures).
« Berkley db a été le premier a implémenté cette technique ».
Principe: Données structurées sous forme de deux colonnes : clé &
valeurs. Clé unique. Valeur dynamique (peut être définit selon les besoins de
l’utilisateur : valeur1#valeur2#valeur3#...ex). Priorité disponibilité et non ACID.
![Page 15: Exposé sur Berkeley Data Base](https://reader033.vdocuments.mx/reader033/viewer/2022061201/547894aab4af9fb1728b4766/html5/thumbnails/15.jpg)
La Paire Clé/Valeur
![Page 16: Exposé sur Berkeley Data Base](https://reader033.vdocuments.mx/reader033/viewer/2022061201/547894aab4af9fb1728b4766/html5/thumbnails/16.jpg)
Méthodes d’accés aux données
B-Tree:Les clés ont une structure arbitraire.
![Page 17: Exposé sur Berkeley Data Base](https://reader033.vdocuments.mx/reader033/viewer/2022061201/547894aab4af9fb1728b4766/html5/thumbnails/17.jpg)
Méthode d’accés aux données
File d’attente: La méthode d'accès file d'attente utilise un verrouillage de niveau record (chaque
enregistrement est verrouillé par le gestionnaire de verrouillage.
Il est conçu pour les insertions rapides à la queue. A un curseur spécial consommer opération qui
supprime et retourne un enregistrement de la tête de la file d'attente.
![Page 18: Exposé sur Berkeley Data Base](https://reader033.vdocuments.mx/reader033/viewer/2022061201/547894aab4af9fb1728b4766/html5/thumbnails/18.jpg)
Architecture de BDB
![Page 19: Exposé sur Berkeley Data Base](https://reader033.vdocuments.mx/reader033/viewer/2022061201/547894aab4af9fb1728b4766/html5/thumbnails/19.jpg)
Gestion des données
Berkeley DB stocke des données rapidement et facilement sans la surcharge dans d'autres bases de données.
Berkeley DB est une bibliothèque C qui s'exécute dans le même processus que l'application, en évitant les retards de communication inter-processus de l'aide d'un serveur de base de données distant.
Caches partagés conservent des données les plus actives dans la mémoire, en évitant l'accès au disque coûteux.
![Page 20: Exposé sur Berkeley Data Base](https://reader033.vdocuments.mx/reader033/viewer/2022061201/547894aab4af9fb1728b4766/html5/thumbnails/20.jpg)
20
Quelques propriétés de BDB
• La taille de des clés est de 2^32 bits.• La taille des page est paramétrable, à la création
de la base, le développeur peut choisir la taille de la page.
• Offre aux utilisateurs le service de checkpoints, se service vérifie le fichier log et l’état de la base de donnée pour éventuellement lancer un update.
• Les dernières versions du BDB implémentent le langage SQL.
![Page 21: Exposé sur Berkeley Data Base](https://reader033.vdocuments.mx/reader033/viewer/2022061201/547894aab4af9fb1728b4766/html5/thumbnails/21.jpg)
21
Comparaison entre SQL et BDB query language
Expréssion SQL Equivalent Oracle Berkeley DB
Database Environment
Table Database
Tuple/row Key/data pair
Primary index Key
Secondary index Secondary database
![Page 22: Exposé sur Berkeley Data Base](https://reader033.vdocuments.mx/reader033/viewer/2022061201/547894aab4af9fb1728b4766/html5/thumbnails/22.jpg)
22
Comparaison entre SQL et BDB query language
CREATE DATABASE personnel
DB_ENV *dbenv;
ASSERT(db_env_create(&dbenv, 0) == 0);
DB_ASSERT(dbenv->open(dbenv, "my_databases/personnel", DB_CREATE | DB_INIT_LOCK | DB_INIT_MPOOL | DB_INIT_TXN | DB_THREAD, 0644);
CREATE cursor
DB *dbp; ASSERT(dbp->cursor(dbp, NULL, 0) == 0);
CREATE TABLE
DB *dbp; DB_ENV *dbenv ASSERT(db_create(&dbp, dbenv, 0) == 0); ASSERT(dbp->open(dbp, NULL, "employee.db", NULL, DB_BTREE, DB_AUTO_COMMIT | DB_CREATE | DB_THREAD, 0644) == 0).
![Page 23: Exposé sur Berkeley Data Base](https://reader033.vdocuments.mx/reader033/viewer/2022061201/547894aab4af9fb1728b4766/html5/thumbnails/23.jpg)
23
Comparaison entre SQL et BDB query language
INSERT INTO employees VALUES (00010002, "mouse", "mickey", 1000000.00, "Main Street", "Disney Land", "CA", 98765);
DB *dbp; DBT key_dbt, data_dbt; emp_data edata; emp_key ekey ekey = 00010002; strcpy(edata.lname, "Mouse"); strcpy(edata.fname, "Mickey"); edata.salary = 1000000.00; strcpy(edata.street, "Main Street"); strcpy(edata.city, "Disney Land"); strcpy(edata.state, "CA"); edata.zip = 98765memset(&key_dbt, 0, sizeof(key_dbt)); memset(&data_dbt, 0, sizeof(data_dbt)); key->data = &ekey; key->size = sizeof(ekey); data->data = &edata; data->size = sizeof(edata); ASSERT(dbp->put(dbp, NULL, &key_dbt, &data_dbt, DB_AUTO_COMMIT) == 0);
![Page 24: Exposé sur Berkeley Data Base](https://reader033.vdocuments.mx/reader033/viewer/2022061201/547894aab4af9fb1728b4766/html5/thumbnails/24.jpg)
24
Comparaison entre SQL et BDB query language
SELECT * FROM employees WHERE id=0010002 ;
DBT key_dbt, data_dbt; emp_data *edata; emp_key ekey; emp_key = 0010002; memset(&key_dbt, 0, sizeof(key_dbt)); key_dbt.data = &emp_key; key_dbt.size = sizeof(emp_key); memset(&data_dbt, 0, sizeof(data_dbt)); dbc->c_get(dbc, &key_dbt, &data_dbt, DB_SET);
![Page 25: Exposé sur Berkeley Data Base](https://reader033.vdocuments.mx/reader033/viewer/2022061201/547894aab4af9fb1728b4766/html5/thumbnails/25.jpg)
25
Comparaison entre SQL et BDB query language
DELETE FROM employees WHERE id= 0010002
DBT key_dbt; emp_key ekey; ekey = 0010002; memset(&key_dbt, 0, sizeof(key_dbt)); key_dbt.data = &ekey; key_dbt.size = sizeof(ekey); dbp->del(dbp, NULL, &key_dbt, 0);
![Page 26: Exposé sur Berkeley Data Base](https://reader033.vdocuments.mx/reader033/viewer/2022061201/547894aab4af9fb1728b4766/html5/thumbnails/26.jpg)
26
Démonstration
![Page 27: Exposé sur Berkeley Data Base](https://reader033.vdocuments.mx/reader033/viewer/2022061201/547894aab4af9fb1728b4766/html5/thumbnails/27.jpg)
Conclusion
L’ensembles des SGBD ont:Une centralisation des données.Un contrôle centralisé de l'accès aux donnéesIndépendance vis -à -vis de la structure physique et logique des données
![Page 28: Exposé sur Berkeley Data Base](https://reader033.vdocuments.mx/reader033/viewer/2022061201/547894aab4af9fb1728b4766/html5/thumbnails/28.jpg)
Conclusion
L’ensembles des SGBD assure:Une centralisation des données.Un contrôle centralisé pour l'accès aux donnéesIndépendance vis -à -vis de la structure physique et logique des données
![Page 29: Exposé sur Berkeley Data Base](https://reader033.vdocuments.mx/reader033/viewer/2022061201/547894aab4af9fb1728b4766/html5/thumbnails/29.jpg)
Conclusion
Berkeley diffère des autres SGBD dans:• Sa flexibilisé et rapidité.•Reliable et scalable.•Abélite car on peut choisir les features a utilisé.
![Page 30: Exposé sur Berkeley Data Base](https://reader033.vdocuments.mx/reader033/viewer/2022061201/547894aab4af9fb1728b4766/html5/thumbnails/30.jpg)
30
Merci pour votre attention
![Page 31: Exposé sur Berkeley Data Base](https://reader033.vdocuments.mx/reader033/viewer/2022061201/547894aab4af9fb1728b4766/html5/thumbnails/31.jpg)
31
Vos Questions