Accueil Finances personnelles Caractéristiques communes de NoSQL - mannequins

Caractéristiques communes de NoSQL - mannequins

Table des matières:

Vidéo: Azure Friday | Cassandra API for Azure Cosmos DB 2025

Vidéo: Azure Friday | Cassandra API for Azure Cosmos DB 2025
Anonim

Les livres et les blogs NoSQL offrent des opinions différentes sur ce qu'est une base de données NoSQL. Quatre fonctions principales de NoSQL, présentées dans la liste suivante, s'appliquent à la plupart des bases de données NoSQL. La liste compare NoSQL au SGBD relationnel traditionnel:

  • Schéma agnostique: Un schéma de base de données est la description de toutes les structures de données et de données possibles dans une base de données relationnelle. Avec une base de données NoSQL, un schéma n'est pas requis, ce qui vous donne la liberté de stocker des informations sans avoir à faire de conception de schéma.

  • Non relationnel: Les relations dans une base de données établissent des connexions entre des tables de données. Par exemple, une liste de détails de transaction peut être connectée à une liste distincte de détails de livraison. Avec une base de données NoSQL, ces informations sont stockées sous la forme d'un agrégat - un enregistrement unique avec tout ce qui concerne la transaction, y compris l'adresse de livraison.

  • Matériel de base: Certaines bases de données sont conçues pour fonctionner au mieux (ou uniquement) avec du matériel de stockage et de traitement spécialisé. Avec une base de données NoSQL, des serveurs standard prêts à l'emploi peuvent être utilisés. Ajouter plus de ces serveurs bon marché permet aux bases de données NoSQL d'évoluer pour gérer plus de données.

  • Hautement distribuable: Les bases de données distribuées peuvent stocker et traiter un ensemble d'informations sur plusieurs appareils. Avec une base de données NoSQL, un cluster de serveurs peut être utilisé pour contenir une seule grande base de données.

Schéma agnostique

Les bases de données NoSQL sont agnostiques. Vous n'êtes pas obligé de faire beaucoup de travail de conception avant de pouvoir stocker des données dans des bases de données NoSQL. Vous pouvez commencer à coder et stocker et récupérer des données sans savoir comment la base de données stocke et fonctionne en interne. (Si et quand vous avez besoin de fonctionnalités avancées, vous pouvez ajouter manuellement d'autres index ou modifier les structures de stockage de données.) L'agnosticisme de schéma peut être la différence la plus significative entre NoSQL et les bases de données relationnelles.

Le grand avantage d'une base de données agnostique de schéma est que le temps de développement est raccourci. Cet avantage augmente au fur et à mesure que vous parcourez plusieurs versions de développement et que vous devez modifier les structures de données internes dans la base de données.

Par exemple, dans un SGBDR traditionnel, vous passez par un processus de refonte du schéma. Le schéma indique à la base de données à quelles données s'attendre. Modifiez les données stockées ou les structures et vous devez réinsérer la base de données à l'aide d'un schéma modifié. Si vous deviez effectuer un changement, vous devrez passer beaucoup de temps à décider comment réorganiser les données existantes. Dans les bases de données NoSQL, vous stockez simplement une structure de données différente. Il n'est pas nécessaire de dire la base de données à l'avance.

Vous devrez peut-être modifier vos requêtes en conséquence, peut-être ajouter l'index spécifique (tel qu'un index d'intervalle entier pour autoriser moins et plus que les requêtes spécifiques au type de données), mais l'ensemble du processus beaucoup moins douloureux qu'avec un SGBDR.

Le SGBDR a décollé à cause de sa flexibilité et parce que, en utilisant SQL, il a accéléré le changement d'une requête. Les bases de données NoSQL offrent cette flexibilité pour modifier à la fois le schéma et la requête, ce qui est l'une des principales raisons pour lesquelles ils seront de plus en plus adoptés au fil du temps.

Même sur requête, vous ne devez pas trop vous inquiéter de connaître les modifications de schéma - considérez un index sur un numéro de compte de champ, où numéro de compte peut être situé n'importe où dans un document stocké dans une base de données NoSQL. Vous pouvez modifier la structure et la relocaliser où numéro de compte est stocké, et si l'élément a le même nom ailleurs dans le document, il est toujours disponible pour la requête sans modifier votre mécanisme de requête.

Notez que toutes les bases de données NoSQL ne sont pas totalement indépendantes des schémas. Certains, tels que HBase, vous obligent à arrêter la base de données pour modifier les définitions de colonne. Ils sont toujours considérés comme des bases de données NoSQL car tous les champs définis (colonnes dans ce cas) ne doivent pas être connus à l'avance pour chaque enregistrement - seulement les familles de colonnes.

Le SGBDR permet d'identifier les champs individuels des enregistrements en tant que valeurs nulles . Le problème avec un SGBDR réside dans le fait que la taille et la performance des données stockées sont négativement affectées lorsque le stockage est réservé aux valeurs nulles, au cas où l'enregistrement pourrait ultérieurement avoir une valeur dans cette colonne. Dans Cassandra, vous ne fournissez simplement pas les données de cette colonne, ce qui résout le problème.

Non relationnel

Les systèmes de gestion de bases de données relationnelles ont été le moyen dominant pour stocker les données d'application pendant plus de 20 ans. Beaucoup de travail mathématique a été fait pour prouver la théorie qui les sous-tend.

Cette sous-couche décrit la relation entre les tableaux. Une seule ligne d'ordre peut se rapporter à de nombreuses lignes d'adresse de livraison, mais chaque ligne d'adresse de livraison concerne également plusieurs lignes d'ordre. C'est une beaucoup - à - beaucoup de relations .

Les bases de données NoSQL n'ont pas ce concept de relation entre leurs enregistrements. Ils dénormalisent plutôt les données. Cela signifie que dans une base de données NoSQL aurait une structure de commande avec l'adresse de livraison intégrée. Cela signifie que l'adresse de livraison est dupliquée dans chaque ligne de commande qui l'utilise. Cette approche présente l'avantage de ne pas nécessiter de jointures de temps de requête complexes entre plusieurs structures de données (tables).

Les bases de données NoSQL ne stockent pas d'informations sur la manière dont les enregistrements individuels se rapportent à d'autres enregistrements dans la base de données, ce qui peut sembler être une limitation. Cependant, les bases de données NoSQL sont plus flexibles en termes de structures de données que vous pouvez stocker.

Considérez une commande d'un détaillant en ligne. La commande peut inclure des codes de produit, des quantités, des prix d'articles et des descriptions d'articles, ainsi que des informations sur la personne qui commande, telles que l'adresse de livraison et les informations de paiement.

Plutôt que d'insérer dix lignes dans une variété de tables dans une base de données relationnelle, vous pouvez à la place stocker une structure unique pour toutes ces informations de commande, par exemple un document JSON ou XML.

En théorie des bases de données relationnelles, l'objectif est de normaliser vos données (c'est-à-dire d'organiser les champs et les tables pour supprimer les données en double). Dans les bases de données NoSQL, en particulier les bases de données Document ou Aggregate, vous dénormaliserez souvent délibérément les données en stockant plusieurs fois plusieurs données.

Vous pouvez stocker, par exemple, "Adresse de livraison client" plusieurs fois sur de nombreuses commandes effectuées par un client au fil du temps, plutôt que de les stocker une seule fois et de s'y référer dans plusieurs commandes. Cela nécessite un espace de stockage supplémentaire et un peu de prévoyance dans la gestion de votre application. Alors pourquoi le faire?

Il y a deux avantages à stocker des données plusieurs fois:

  • Stockage et récupération faciles: Sauvegardez et obtenez un seul enregistrement.

  • Vitesse de requête: Dans les bases de données relationnelles, vous joignez des informations et ajoutez des contraintes entre les tables au moment de la requête. Cela peut nécessiter le moteur de base de données pour évaluer plusieurs tables. Plus vous avez de contraintes de requêtes sur différentes tables, plus vous réduisez la vitesse de votre requête. (C'est pourquoi un SGBDR a des vues précalculées.) Dans une base de données NoSQL, toutes les informations dont vous avez besoin pour évaluer votre requête se trouvent dans un seul document. Par conséquent, vous pouvez rapidement déterminer la liste des documents correspondants.

Les vues relationnelles et les dénormalisations NoSQL sont des approches différentes du problème de la propagation des données entre les enregistrements. Dans NoSQL, vous devrez peut-être gérer plusieurs dénormalisations représentant différentes vues des mêmes données. Cette approche augmente le coût de stockage mais vous donne beaucoup de temps de requête.

Compte tenu du coût toujours plus faible du stockage et de la vitesse accrue de développement et d'interrogation, les données dénormalisées ( vues matérialisées ) ne sont pas une raison majeure pour réduire les solutions NoSQL. C'est juste une façon différente d'aborder le même problème, avec ses propres avantages et inconvénients.

NoSQL est hautement distribuable et utilise du matériel de base

Dans de nombreuses bases de données NoSQL, une décision de conception clé consiste à utiliser plusieurs ordinateurs pour stocker des données pour une seule base de données plutôt que d'avoir toute la base de données sur un seul serveur.

Il est difficile de stocker des données sur plusieurs machines et de les interroger. Vous devez envoyer la requête à tous les serveurs et attendre une réponse. Heureusement, vous avez configuré les machines de façon à ce qu'elles soient assez rapides pour se parler entre elles afin de gérer les requêtes distribuées!

Le principal avantage de cette approche est dans le cas de très grands ensembles de données, car pour certains besoins de stockage, même le plus grand serveur unique disponible ne peut pas stocker ou traiter toutes les données dont vous avez besoin. Considérez tous les messages sur Twitter et Facebook. Vous avez besoin d'un mécanisme distribué pour gérer efficacement toutes ces données, même si elles concernent surtout ce que les gens avaient pour le petit-déjeuner et les jolies vidéos de chats.

Un avantage de la distribution de votre base de données est que vous pouvez utiliser des serveurs moins chers, appelés serveurs de base .Même pour les ensembles de données plus petits, il peut être moins coûteux d'acheter trois serveurs de base au lieu d'un seul serveur plus puissant.

Un autre avantage clé est que l'ajout de haute disponibilité est plus facile. vous êtes déjà à mi-chemin en distribuant vos données. Si vous répliquez vos données une ou deux fois sur d'autres serveurs du cluster, vos données seront toujours accessibles, même si l'un des serveurs tombe en panne, brûle et meurt.

Toutes les bases de données open source ne prennent pas en charge la haute disponibilité, sauf si vous achetez la version prise en charge et payante de la base de données auprès de la société qui l'a développée.

Une exception à la règle hautement distribuable est celle des bases de données graphiques. Afin de répondre efficacement à certaines requêtes graphiques en temps opportun, les données doivent être stockées sur un seul serveur. Personne n'a encore résolu ce problème particulier.

Vérifiez soigneusement si vous avez besoin d'un magasin triple ou d'un magasin de graphes. Les magasins triples sont généralement distribuables, contrairement aux magasins graphiques. Lequel vous avez besoin dépend des requêtes que vous devez soutenir.

Caractéristiques communes de NoSQL - mannequins

Le choix des éditeurs

Magasin de données ou entrepôt de données? - les mannequins

Magasin de données ou entrepôt de données? - les mannequins

L'idée d'un dépôt de données n'est guère révolutionnaire, malgré ce que vous pourriez lire sur les blogs et dans la presse spécialisée, et ce que vous pourriez entendre lors de conférences ou de séminaires. Un magasin de données est simplement un entrepôt de données réduit - c'est tout. Les vendeurs font de leur mieux pour définir des ...

Classer Votre Entrepôt de données - mannequins

Classer Votre Entrepôt de données - mannequins

Bien que vous devez vous assurer que votre entrepôt de données correspond à vos besoins uniques, certaines directives peuvent vous aider. vous déterminez la complexité probable de son environnement et de sa structure. Une bonne configuration consiste à utiliser une classification à trois niveaux pour la planification d'un entrepôt de données. En déterminant une catégorie probable pour une mise en œuvre, vous pouvez avoir ...

Business Intelligence Architecture et Data Warehousing - Mannequins

Business Intelligence Architecture et Data Warehousing - Mannequins

Les débuts du Business Intelligence (toute variété sauf data mining) avait une forte saveur client / serveur de première génération à deux niveaux. (Certains environnements d'intelligence d'affaires qui étaient hébergés sur un mainframe et qui effectuaient des requêtes et des rapports étaient construits avec une architecture centralisée.) Conceptuellement, les premières architectures d'intelligence d'affaires avaient du sens, compte tenu de l'état de l'art ...

Le choix des éditeurs

Câblage réseau pour l'examen de certification Cisco ICND1 - mannequins

Câblage réseau pour l'examen de certification Cisco ICND1 - mannequins

L'examen de certification ICND1 vous teste sur les différents types de câblage utilisé dans différents scénarios de réseau. Voici quelques points clés à retenir sur le câblage réseau. Rollover Cable: Un câble de survol est aussi connu comme un câble de console et obtient le nom rollover parce que l'ordre des fils d'un ...

Pour la certification compTIA A + - mannequins

Pour la certification compTIA A + - mannequins

Les examens A +, y compris le réseau local (LAN) et le réseau étendu (WAN): LAN: Un réseau local (LAN) est un réseau qui implique généralement un immeuble de bureaux ou peut-être même des systèmes en réseau sur un étage. Le principal point à retenir lors de l'identification ...

Outils de dépannage réseau - nuls

Outils de dépannage réseau - nuls

Voici une liste d'outils de dépannage courants que vous devriez connaître pour les examens A +. L'un des défis des réseaux de soutien aujourd'hui est de savoir comment les résoudre. Vous trouvez tellement d'aspects du réseau qu'il est difficile de savoir par où commencer votre dépannage. Crimper: A ...

Le choix des éditeurs

En sélectionnant Logiciel de blog hébergé - duos

En sélectionnant Logiciel de blog hébergé - duos

Lorsque vous choisissez de bloguer en utilisant un service de blog hébergé, vous n'avez pas besoin de s'inquiéter de la technologie du logiciel du tout. Vous pouvez vous concentrer sur le sujet de votre prochain article de blog plutôt que sur la manière de configurer un serveur Web. Pour utiliser un logiciel de blog hébergé, connectez-vous à l'outil d'édition, écrivez un ...

Sélectionnant l'hébergement Web pour votre blog WordPress - les nuls

Sélectionnant l'hébergement Web pour votre blog WordPress - les nuls

Après avoir choisi un domaine approprié pour votre blog, vous besoin d'un endroit pour votre installation de WordPress à vivre. N'oubliez pas que vous pouvez également demander à d'autres blogueurs quel hôte ils utilisent et quelle a été leur expérience. Les logiciels Web tels que WordPress ont certaines exigences techniques. Les exigences pour WordPress sont PHP 5. 6 ou plus ...

ÉVolutivité et Mom Blogging - mannequins

ÉVolutivité et Mom Blogging - mannequins

L'évolutivité est l'un de ces mots de jargon MBA-ish absolument ennuyeux que vous n'auriez probablement jamais pense que cela s'appliquerait à un blogueur maman. Mais ce que l'évolutivité signifie vraiment, c'est qu'une entreprise doit avoir une structure en place qui lui permet de croître. Bien sûr, vous voulez augmenter votre revenu - mais vous ...