4. ● BDD dédiée pour AppEngine
● BDD NoSQL Schemaless
● Clé / Valeur
Google Datastore
Qu’est ce que c’est ?
5. Cohérence forte :
La donnée est toujours cohérente entre toutes les instances
Cohérence faible :
Il faut du temps avant que toutes les données soient cohérentes entre les
instances
Google Datastore
Préambule
8. Google Datastore
Qu’est ce que Bigtable ?
● 1ère
base haute disponibilité et scalable de Google
● Utilisation par Google :
○ Sur plus de 60 projets
○ Web Search, Youtube, Earth, Analytics, etc.
● Dédiée au stockage : ne supporte pas les queries
9. Google Datastore
Représentation de Bigtable
● Map multi-dimensionnelle, triée
○ comporte des lignes
○ une ligne comporte des colonnes
○ chaque cellule comporte plusieurs versions
de la donnée, indexées par timestamp
Row 1
Col 1
t1
t1’
Col 2
t2
t2’
Row 2
Col 1
t3
t3’
10. Google Datastore
Opérations sur Bigtable
● Exclusivement pour une ligne
○ Create, Read, Update & Delete
○ une cohérence forte
○ transactions
● Tri par clé de ligne
○ Permet les requêtes par plage de clés de ligne
○ Mais aucune recherche par colonne
14. Google Datastore
Opérations entre Entity Groups
Entity Group 1
Entity Group 2
Index globaux
Cohérence faible
Index locaux
Cohérence forte
Entités
Modification
Queue
Entités
Index locaux
Cohérence forte
17. Google Datastore
Principe du Datastore
● Combinaison de plusieurs Bigtables
○ Entities table
○ Index tables :
■ entities by kind
■ entities by property ASC
■ entities by property DESC
○ Custom indexes table
20. Google Datastore
Différentes APIs en résumé
● API Low-Level
○ Meilleures performances
○ Plus de code à produire
● Objectify
○ Beaucoup moins de code
○ Des performances dégradées
○ Prise en compte des évolutions plus longue
○ Des bugs potentiels
22. ● Moteur de recherche plein texte
● Document
● Scalable, shardée
Google Search API
Qu’est ce que c’est ?
23. ● Objet unique avec un id et des champs
● Plusieurs types de champs :
○ Atom
○ Text
○ HTML
○ Number
○ Date
○ Geopoint
Google Search API
Documents
24. ● Récupération de documents :
○ par id
○ par plage d’ids
● Recherche par contenu en respectant des critères
Google Search API
Index
25. ● Sur tous les champs :
la tour sombre
● Sur certains champs spécifiquement :
“author=king”
● En combinant :
“author=king AND NOT title=tour”
Google Search API
Requêtes
32. ● Megastore : Providing Scalable, Highly Available Storage for
Interactive Services
● Bigtable: A Distributed Storage System for Structured Data
● Understanding Paxos
Sources