NoSQL Typologie et Panorama 08/02/2011 Pierre Couzy – Microsoft
Une heure pour couvrir 40 ans… Qui peut le plus peut le moins ? Dire ce qu’on n’est pas, c’est ne pas être ce qu’on dit ? Typologie, code et aphorismes La minute de l’auvergnat Questions-réponses http://geekandpoke.typepad.com/geekandpoke/2011/01/nosql.html?
Pourquoi NoSQL ? “This growth has forced us into horizontal and vertical partitioning strategies that have eliminated most of the value of a relational database, while still incurring all the overhead.” Digg, Mars 2010
Le théorême de CAP ? Mais je vous recommande également ceci http://www.cs.berkeley.edu/~brewer/cs262b-2004/PODC-keynote.pdf Mais je vous recommande également ceci http://dbmsmusings.blogspot.com/2010/04/problems-with-cap-and-yahoos-little.html
Au final … http://en.wikipedia.org/wiki/NoSQL
Les bases de données relationnelles sont-elles vraiment ACID ? (et entre nous…) Les bases de données relationnelles sont-elles vraiment ACID ?
Un peu de code ? Reprenons les principaux mouvements NoSQL Clé-Valeur Colonne Document Graphe
Clé-Valeur
Orienté colonne var results = from c in context.InventoryTable where c.PartitionKey == productLine && c.LastUpdateDate >= updatedSince select c; GET http://<compte>.table.core.windows.net/InventoryTable()?$filter=(PartitionKey%20eq%20'Aliment')%20and%20(LastUpdateDate%20ge%20datetime'2011-01-06T16%3A33%3A31.2217664Z') HTTP/1.1
TechReady11 3/31/2017 Compte de Stockage Table Entité (ligne) Propriété (colonne) Sessions Session 1 Année Titre Time Sujet Stockage … Session 2 Année Titre Time url Partition Key Row Key Time Stamp Jusque 252 Propriétés Jusque 1Mo / Entité … Pas de schéma fixe mais un schéma “flexible” : Chaque ligne ou entité peut voir sa structure (ses propriétés) varier au sein d’une même table. Les trois propriétés obligatoires pour chaque entité PartitionKey – Première Colonne (Performance des requêtes & Montée en charge) RowKey – Identifie de manière unique l’entité dans la partition Timestamp - Read Only - Optimistic Concurrency Un Index par table = Partitionkey + Rawkey Les types supportés par les propriétés des entités sont les suivants: String, Binary, Bool, DateTime, GUID, Int, Int64, and Double (http://msdn.microsoft.com/en-us/library/dd179338.aspx) © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
L’orienté document
L’orienté Graphe
Quelques architectures
Quelques architectures
Quelques architectures
Quelques architectures
Combiner ? Sql Azure et auto-sharding ?
Comment choisir ? Faire une typologie de la donnée référence d’activité Ressource .. Et une typologie de requêtage Clé de hachage Index Map-Reduce Ad hoc
Auto-Complétion en Redis ? http://antirez.com/post/autocomplete-with-redis.html
Pour finir… The Friends table contains many million rows, while Diggs holds hundreds of millions. Computing the intersection with a JOIN is much too slow in MySQL, so we have to do it in PHP. […] the fully denormalized Cassandra dataset weighs in at 3 terabytes and 76 billion columns
MSDN et TechNet : l’essentiel des ressources techniques à portée de clic Portail administration et infrastructure pour informaticiens Portail de ressources technique pour développeurs http://technet.com http://msdn.com