Table des matières:
Vidéo: Common design patterns with Azure Cosmos DB | Azure Friday 2024
Bien que certaines fonctionnalités soient assez communes aux bases de données NoSQL (par exemple, agnosticisme de schémas et structure non relationnelle)), il n'est pas rare qu'une base de données manque d'une ou de plusieurs des fonctionnalités suivantes et soit toujours considérée comme une base de données NoSQL moderne.
Open-source
Le logiciel NoSQL est unique car le mouvement open source a favorisé le développement plutôt que de suivre un ensemble de sociétés commerciales. Vous pouvez donc trouver une foule de produits NoSQL open-source pour répondre à tous les besoins. Lorsque les développeurs n'ont pas trouvé de base de données NoSQL pour leurs besoins, ils en ont créé un, et l'ont publié initialement comme open-source.
La majorité des solutions NoSQL populaires sont pilotées par des sociétés commerciales, la variante open source ne disposant pas des fonctionnalités clés requises pour une utilisation critique dans les grandes entreprises.
La différence entre les fournisseurs de code source ouvert NoSQL et ces sociétés entièrement commerciales est que les fournisseurs open-source ont un modèle d'affaires similaire au modèle Red Hat. Fondamentalement, ils publient un produit open-source et vendent également des fonctionnalités complémentaires, des services de support et d'implémentation.
Ce n'est pas une mauvaise chose! Il est à noter, cependant, que les gens de NoSQL ne sont pas dirigés uniquement, ou même principalement, par des développeurs open-source qui travaillent pendant leur temps libre - au contraire, ils travaillent pour les sociétés commerciales derrière les produits.
Acheteur méfiez-vous! Quand il s'agit de sélectionner une base de données NoSQL, rappelez-vous "le coût total de possession. «De nombreuses entreprises ont acquis des produits Open Source uniquement pour se procurer un abonnement à prix élevé afin d'obtenir les fonctionnalités souhaitées.
BASE versus ACID
Avant 2014, la majorité des définitions NoSQL n'incluaient pas la prise en charge des transactions ACID en tant que caractéristique déterminante des bases de données NoSQL. Ce n'est plus vrai.
La transaction conforme à l'ACID signifie que la base de données est conçue pour ne pas perdre de données:
-
Chaque opération déplace la base de données d'un état valide à un autre ( A tomique).
-
Tout le monde a la même vue des données à tout moment ( C ).
-
Les opérations sur la base de données n'interfèrent pas ( I ).
-
Lorsqu'une base de données indique qu'elle a sauvegardé des données, vous savez que les données sont sécurisées ( D utilisables).
Peu de bases de données NoSQL ont des transactions ACID. Les exceptions à cette norme sont FoundationDB, Neo4j et MarkLogic Server, qui fournissent des transactions ACID entièrement sérialisables.
Pourquoi la conformité à l'ACID est-elle une caractéristique pas si commune?Lorsque le SGBDR Oracle a été publié, il ne fournissait pas non plus de conformité ACID. Il a fallu sept versions avant que la conformité ACID ne soit prise en charge dans plusieurs mises à jour et tables de base de données.
De même, si vous regardez les feuilles de route de toutes les bases de données NoSQL, vous verrez qu'elles se réfèrent toutes au travail sur la cohérence transactionnelle. MongoDB, par exemple, a recueilli 150 millions de dollars à l'automne 2013 pour résoudre ce problème et d'autres problèmes d'entreprise. MongoDB a annoncé un nouveau moteur de stockage compatible ACID. Le débat ACID versus BASE est intéressant.