Google datastore & search api

613 vues

Publié le

Présentation Google DataStore / search API

Publié dans : Internet
0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
613
Sur SlideShare
0
Issues des intégrations
0
Intégrations
20
Actions
Partages
0
Téléchargements
4
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Google datastore & search api

  1. 1. Google Datastore & Search API
  2. 2. Twitter : @celine_louvet Github : celinelouvet Céline Louvet Chez Sfeir depuis 2011 Développeuse Backend Core Java, Google Cloud Platform TDD, Qualité de code
  3. 3. Google Datastore
  4. 4. ● BDD dédiée pour AppEngine ● BDD NoSQL Schemaless ● Clé / Valeur Google Datastore Qu’est ce que c’est ?
  5. 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
  6. 6. Google Datastore Datastore Megastore Bigtable Query Fiabilité (Réplication) Scalabilité (Sharding automatique) Architecture interne
  7. 7. Google Datastore Datastore Megastore Bigtable Query Fiabilité (Réplication) Scalabilité (Sharding automatique) Bigtable
  8. 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. 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. 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
  11. 11. Google Datastore Datastore Megastore Bigtable Query Scalabilité (Sharding automatique) Megastore Fiabilité (Réplication)
  12. 12. Entity Group 1 Entity Group 2 Google Datastore Qu’apporte Megastore ? ● Réplication des données ● Cohérence acceptable ● Données réparties en “Entity groups” Cell Cell Comment Comment Comment Comment Cell User Spreadsheet Spreadsheet
  13. 13. Cohérence faible Google Datastore Réplication & scalabilité Datacenter 1 Paul Datacenter 2 Valérie Cohérence forteEntity Group 1 Entity Group 2
  14. 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
  15. 15. Google Datastore Datastore Megastore Bigtable Query Scalabilité (Sharding automatique) Datastore Fiabilité (Réplication)
  16. 16. Google Datastore Qu’apporte Datastore ? ● Facilité de requête ○ APIs de manipulation des données (Python, Java, Go) ● Clé / Valeur
  17. 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
  18. 18. Google Datastore Différentes APIs ● API Low-Level ● JDO/JPA ● Frameworks externes : Objectify, Twig, Slim3, etc.
  19. 19. Google Datastore Différentes APIs Démo
  20. 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
  21. 21. Google Search API
  22. 22. ● Moteur de recherche plein texte ● Document ● Scalable, shardée Google Search API Qu’est ce que c’est ?
  23. 23. ● Objet unique avec un id et des champs ● Plusieurs types de champs : ○ Atom ○ Text ○ HTML ○ Number ○ Date ○ Geopoint Google Search API Documents
  24. 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. 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
  26. 26. Google Search API Démo
  27. 27. Le couple idéal
  28. 28. Le couple idéal Service DAO Search Datastore Search API
  29. 29. Des questions ?
  30. 30. Merci
  31. 31. Sources
  32. 32. ● Megastore : Providing Scalable, Highly Available Storage for Interactive Services ● Bigtable: A Distributed Storage System for Structured Data ● Understanding Paxos Sources

×