==================================================
En informatique, NoSQL désigne une catégorie de systèmes de gestion de base de données (SGBD) qui n'est plus fondée sur l'architecture classique des bases relationnelles. L'unité logique n'y est plus la table, et les données ne sont en général pas manipulées avec SQL. À l'origine servant à manipuler des bases de données géantes pour des sites web de très grande audience tels que Google, Amazon.com, Facebook ou eBay1, le NoSQL s'est aussi étendu par le bas après 2010. Il renonce aux fonctionnalités classiques des SGBD relationnels au profit de la simplicité. Les performances restent bonnes avec la montée en charge (scalabilité) en multipliant simplement le nombre de serveurs, solution raisonnable avec la baisse des coûts, en particulier si les revenus croissent en même temps que l'activité2. Les systèmes géants sont les premiers concernés : énorme quantité de données3, structuration relationnelle faible (ou de moindre importance que la capacité d'accès très rapide, quitte à multiplier les serveurs). Un modèle typique en NoSQL est le système clé-valeur, avec une base de donnée pouvant se résumer topologiquement à un simple tableau associatif unidimensionnel avec des millions - voire des milliards - d'entrées. Parmi les applications typiques, on retrouve des analyses temps-réel, statistiques, du stockage de logs, etc. De grands acteurs d'Internet, notamment Google (BigTable), Amazon (Dynamo (en)), LinkedIn (Project Voldemort), Facebook (Cassandra Project puis HBase), SourceForge.net (MongoDB), Ubuntu One (CouchDB), etc. conçoivent et exploitent des bases de données de type NoSQL. D'autres acteurs plus modestes sont à l'origine de grand succès, notamment dans le domaine des stockage clé-valeur (Redis…). Une proportion importante de ces projets est open-source et sous licence libre. |
|