- Introduction
- Origine des bases de données, les notions de transaction,
- Les SGBD, la standardisation SQL,
- L’arrivée de nouveaux besoins : volumes importants liés aux technologies et aux nouveaux usages,
- Traitements optimisés de flux de données au fil de l’eau.
- Développement des techniques sur différents aspects : stockage, indexation/recherche, calcul.
- Définition ETL : Extract Transform Load.
- Caractéristiques NoSQL
- Structure de données proches des utilisateurs, développeurs:
- Sérialisation, tables de hachage, JSON.
- Priorité au traitement du côté client.
- Protocoles d’accès aux données, interfaces depuis les langages classiques.
- Données structurées et non structurées, documents, images,
- Stockage réparti : réplication, sharding, protocole gossip, hachage,..
- Parallélisation des traitements : implémentation de MapReduce.
- Cohérence des données et gestion des accès concurrents :
- « eventual consistancy » et multi-version concurrency control.
- Les principaux acteurs
- Les solutions NoSQL et leurs choix techniques :
- CouchDB, MongoDB, Cassandra, HBase (Hadoop), ElasticSearch, ..
- Démonstrations avec Cassandra et couchDB.
- Critères de choix.
- Mise en œuvre
- Points à vérifier : méthode d’utilisation des données, format de stockage JSON, XML, choix de la clé, notion de clé composite, …
- aspects matériels, besoins en mémoire, disques, répartition,
|