Table des matières:
- Moins besoin d'ETL
- Prise en charge du texte non structuré
- Capacité à gérer les changements dans le temps
- Pas de recours à la magie SQL
- Possibilité de mettre à l'échelle horizontalement le matériel de base
- Largeur de la fonctionnalité
- Prise en charge de plusieurs structures de données
- Choix du fournisseur
- Aucun code hérité
- Code d'exécution à côté des données
Vidéo: MongoDB Tutorial In 90 Minutes | Full MongoDB Course | MongoDB Tutorial for Beginners. Learn MongoDB 2024
Les bases de données NoSQL ne remplacent pas directement un système de gestion de base de données relationnelle. Pour de nombreux problèmes de données, cependant, NoSQL est une meilleure correspondance qu'un SGBDR.
Moins besoin d'ETL
Les bases de données NoSQL supportent le stockage des données "tel quel. «Les magasins de valeurs clés vous permettent de stocker des structures de données simples, tandis que les bases de données document NoSQL vous permettent de gérer une gamme de structures plates ou imbriquées.
La plupart des données transitant entre les systèmes le font sous forme de message. Généralement, les données prennent l'un de ces formats:
-
Un objet binaire à passer à travers un ensemble de couches
-
Un document XML
-
Un document JSON
Etre capable de manipuler nativement ces formats dans une plage de Les bases de données NoSQL réduisent la quantité de code à convertir du format de données source vers le format à stocker. Ceci s'appelle extraire, transformer et charger (ETL).
En utilisant cette approche, vous réduisez considérablement la quantité de code requise pour commencer à utiliser une base de données NoSQL. De plus, parce que vous n'avez pas à payer pour les mises à jour de ce code «plomberie», les coûts de maintenance en cours sont considérablement réduits.
Prise en charge du texte non structuré
La grande majorité des données des systèmes d'entreprise n'est pas structurée. De nombreuses bases de données NoSQL peuvent gérer l'indexation de texte non structuré soit en tant que fonctionnalité native (MarkLogic Server), soit en tant que jeu de services intégré, y compris Solr ou Elasticsearch.
Etre capable de gérer du texte non structuré augmente considérablement l'information et peut aider les organisations à prendre de meilleures décisions. Par exemple, les utilisations avancées incluent la prise en charge de plusieurs langues avec une recherche à facettes, une fonctionnalité d'extraits et un support de création de mots. Les fonctionnalités avancées incluent également la prise en charge des dictionnaires et des thésaurus.
En outre, grâce aux actions d'alerte de recherche sur l'acquisition de données, vous pouvez extraire des entités nommées de répertoires tels que des personnes, des lieux et des organisations, ce qui permet de mieux catégoriser, étiqueter et rechercher des données textuelles.
Les services d'enrichissement d'entités tels que SmartLogic, OpenCalais, NetOwl et TEMIS Luxid qui combinent des informations extraites avec d'autres informations fournissent un riche réseau d'informations entrelacées et améliorent l'analyse et l'utilisation efficaces.
Capacité à gérer les changements dans le temps
En raison de la nature agnostique des bases de données NoSQL, ils sont très capables de gérer les changements - vous n'avez pas besoin de réécrire les routines ETL si la structure des messages XML change.
Certaines bases de données NoSQL vont encore plus loin et fournissent un index universel pour la structure, les valeurs et le texte des informations.Microsoft DocumentDB et MarkLogic Server fournissent tous deux cette fonctionnalité.
Si une structure de document change, ces index permettent aux entreprises d'utiliser les informations immédiatement, plutôt que de devoir attendre plusieurs mois avant de pouvoir tester et réécrire les systèmes.
Pas de recours à la magie SQL
Le langage SQL (Structured Query Language) est le langage prédominant utilisé pour interroger les systèmes de gestion de bases de données relationnelles. Etre capable de structurer les requêtes de manière à ce qu'elles fonctionnent bien est devenu au fil des années un art épineux. Les jointures multitâches complexes ne sont pas faciles à écrire depuis la mémoire.
Bien que plusieurs bases de données NoSQL prennent en charge l'accès SQL, elles le font pour des raisons de compatibilité avec des applications existantes telles que les outils de Business Intelligence (BI). Les bases de données NoSQL prennent en charge leurs propres langues d'accès qui peuvent interpréter les données stockées, plutôt que d'exiger un modèle relationnel dans la base de données sous-jacente.
Cette mentalité plus centrée sur le développeur pour la conception des bases de données et de leurs interfaces de programmation d'applications (API) est la raison pour laquelle les bases de données NoSQL sont devenues très populaires parmi les développeurs d'applications.
Les développeurs d'applications n'ont pas besoin de connaître les rouages internes et les caprices des bases de données avant de les utiliser. Les bases de données NoSQL permettent aux développeurs de travailler sur ce qui est requis dans les applications au lieu d'essayer de forcer les bases de données relationnelles à faire ce qui est requis.
Possibilité de mettre à l'échelle horizontalement le matériel de base
Les bases de données NoSQL gèrent le partitionnement ( sharding ) d'une base de données sur plusieurs serveurs. Ainsi, si vos besoins en stockage de données augmentent trop, vous pouvez continuer à ajouter des serveurs peu coûteux et les connecter à votre cluster de base de données ( mise à l'échelle horizontale ), les faisant fonctionner comme un service de données unique.
Comparez cela au monde de la base de données relationnelle où vous avez besoin d'acheter du matériel nouveau, plus puissant et donc plus cher à mettre à l'échelle ( mise à l'échelle verticale ). Si vous deviez doubler la quantité de données que vous stockez, vous pourriez facilement quadrupler le coût du matériel dont vous avez besoin.
Fournir la durabilité et la haute disponibilité d'une base de données NoSQL en utilisant du matériel et du stockage peu coûteux est l'un des atouts majeurs de NoSQL. Pouvoir le faire tout en offrant une évolutivité généreuse pour de nombreuses utilisations ne fait pas de mal non plus!
Largeur de la fonctionnalité
La plupart des bases de données relationnelles prennent en charge les mêmes fonctionnalités, mais de façon légèrement différente, de sorte qu'elles sont toutes similaires.
Les bases de données NoSQL, au contraire, sont disponibles en quatre types de base: valeur-clé, colonne, document et triples. Dans ces types, vous pouvez trouver une base de données pour répondre à vos besoins particuliers (et particuliers!). Avec autant de choix, vous trouverez forcément une base de données NoSQL qui résoudra les problèmes de votre application.
Prise en charge de plusieurs structures de données
De nombreuses applications nécessitent un stockage d'objets simple, tandis que d'autres nécessitent un stockage de structure hautement complexe et interdépendant. Les bases de données NoSQL fournissent un support pour une gamme de structures de données.
-
Les valeurs binaires simples, les listes, les cartes et les chaînes peuvent être traitées à grande vitesse dans les magasins de valeurs-clés.
-
Les valeurs d'informations associées peuvent être regroupées dans des familles de colonnes dans des clones BigTable.
-
Des structures hiérarchiques parents-enfants très complexes peuvent être gérées dans des bases de documents.
-
Un réseau d'informations interdépendantes peut être décrit de manière flexible et associé dans des magasins triples et graphiques.
Choix du fournisseur
L'industrie du NoSQL regorge de bases de données, bien que bon nombre d'entre elles existent depuis moins de dix ans. Par exemple, IBM, Microsoft et Oracle ont récemment récemment trempé leurs orteils sur ce marché. Par conséquent, de nombreux fournisseurs ciblent des publics particuliers avec leur propre brassage d'innovation.
Les variantes open-source sont disponibles pour la plupart des bases de données NoSQL, ce qui permet aux entreprises d'explorer et de commencer à utiliser des bases de données NoSQL avec un minimum de risques. Ces entreprises peuvent ensuite utiliser leurs nouvelles méthodes sur une plate-forme de production en utilisant des offres d'entreprise.
Aucun code hérité
Les bases de données NoSQL ne sont pas dotées de code hérité, ce qui signifie qu'elles n'ont pas besoin de prendre en charge les anciennes plates-formes matérielles ou de mettre à jour des fonctionnalités inhabituelles et peu utilisées.
Les bases de données NoSQL évoluent rapidement en termes de développement et de maturation. De nouvelles fonctionnalités sont publiées en permanence, et les fonctionnalités nouvelles et existantes sont fréquemment mises à jour (les fournisseurs NoSQL n'ont donc pas besoin de maintenir une base de code très importante). En fait, les nouveaux rejets majeurs se produisent annuellement plutôt que tous les trois à cinq ans.
Code d'exécution à côté des données
Les bases de données NoSQL ont été créées à l'ère de Hadoop. Le système de fichiers hautement distribué de Hadoop (HDFS) et l'environnement de traitement par lots (Map / Reduce) ont signalé des changements dans la façon dont les données sont stockées, interrogées et traitées.
Les requêtes et le travail de traitement passent maintenant à plusieurs serveurs, ce qui fournit des niveaux élevés de parallélisation pour les charges de travail d'acquisition et de requête. Pouvoir calculer des agrégations à côté des données est également devenu la norme.
Vous n'avez plus besoin d'un système d'entrepôt de données distinct mis à jour du jour au lendemain. Avec les agrégations rapides et la gestion des requêtes, l'analyse est transmise à la base de données pour être exécutée à côté des données, ce qui signifie que vous n'avez pas besoin d'envoyer beaucoup de données autour d'un réseau pour réaliser une analyse combinée localement.