«Sharding» une base de données sur de nombreuses instances de serveur peut être obtenue avec des bases de données SQL, mais est généralement accompli par le biais de San et d`autres arrangements complexes pour faire du matériel agissent comme un seul serveur. Étant donné que la base de données ne fournit pas cette capacité nativement, les équipes de développement prennent le travail de déploiement de plusieurs bases de données relationnelles sur un certain nombre de machines. Les données sont stockées de manière autonome dans chaque instance de base de données. Le code d`application est développé pour distribuer les données, distribuer des requêtes et agréger les résultats de données dans toutes les instances de base de données. Du code supplémentaire doit être développé pour gérer les défaillances de ressources, pour effectuer des jointures entre les différentes bases de données, pour le rééquilibrage des informations, la réplication et d`autres exigences. En outre, de nombreux avantages de la base de données relationnelle, tels que l`intégrité transactionnelle, sont compromis ou éliminés lors de l`utilisation de partitionnement manuel. Rebjournalisé ce sur blah blah blog et a commenté: vraiment belle vue d`ensemble des techniques de modélisation des données pour les bases NoSQL. Dans un post ultérieur, nous allons couvrir des techniques de visualisation de modèle de données spécifiques pour d`autres produits NoSQL tels que Cassandra, qui est basé sur la structure de la famille de colonnes. Merci beaucoup! Vous m`avez sauvé des jours de recherche. Presque aucun article sur la modélisation des données d`adresse NoSQL.
La plupart remuent la mise à l`échelle et la soupe CAP. Comprendre la nature des données pour évaluer l`utilité d`un NoSQL DB est beaucoup plus important pour les entreprises ordinaires (non-Google-taille) que la simple réalisation “J`ai beaucoup de données”. De nombreuses technologies de base de données NoSQL ont d`excellentes capacités de mise en cache intégrées, en conservant autant que possible les données fréquemment utilisées dans la mémoire système et en supprimant le besoin d`une couche de mise en cache distincte. Certaines bases de données NoSQL offrent également une couche de gestion de base de données en mémoire intégrée entièrement gérée pour les charges de charge exigeant le débit le plus élevé et la latence la plus faible. Il est intéressant de mentionner que pour les modèles de données NoSQL, un chemin évolutif naturel existe à partir de simples magasins de valeurs clés aux bases de données de graphes très compliquées, comme illustré dans le diagramme suivant: comme (Voice in the Wind) dit, tous les DB ont actuellement des compromis et leur Endroit. Même dans NoSQL key-value, BigTable, mongoDB a tous les avantages/inconvénients. Malheureusement, les ingénieurs DB aujourd`hui devront être complètement habitués à tous de prendre les bonnes décisions pour les besoins de l`entreprise. Pascal Desmarets: la méthode globale est très similaire, mais la mise en œuvre peut être considérablement différente. Pour tirer parti des avantages de NoSQL, il est essentiel de concevoir des modèles de données qui sont spécifiques à l`application, de sorte que vous stockez les informations d`une manière qui optimise les performances des requêtes. Ce changement d`esprit peut être un défi pour ceux qui ont appliqué les principes de la modélisation des données agnostique de l`application depuis des décennies. Pour beaucoup d`entre nous, les règles de normalisation sont devenues une seconde nature, et nous devons nous forcer à appliquer une approche basée sur les requêtes à la conception de schémas pour les bases de données NoSQL.
Cette section est consacrée aux principes de base de la modélisation de données NoSQL. Cependant, le schéma flexible n`est pas sans ses défis. Par exemple, les objets de base de données créés dynamiquement peuvent entraîner des problèmes de gestion de base de données imprévus en raison du manque de supervision DBA. En outre, les modifications de schéma non supervisées augmentent les défis DBA dans le diagnostic des problèmes associés. Souvent, un tel dépannage exige que le DBA examine le code d`application écrit dans les langages de programmation (par exemple, Java) plutôt que dans le SGBD DDL (langage de définition de données) – une compétence que la plupart des AD ne possèdent pas. Les équipes doivent choisir la base de données NoSQL appropriée en fonction de leurs besoins. Par exemple, choisissez le magasin de clé-valeur si vous devez gérer le schéma simple et la lecture/écriture plus rapide sans mises à jour fréquentes.