10 Raisons développeurs aiment nosql

La popularité des bases de données NoSQL découle du grand nombre de développeurs qui sont excités à propos de leur utilisation. Développeurs voir NoSQL comme une technologie habilitante et libératrice. Contrairement à l'approche traditionnelle relationnelle, NoSQL vous donne une façon de travailler avec des données qui est plus proche de la demande que le modèle de données relationnel.

Sommaire

Développeurs adopter des technologies NoSQL pour de nombreuses raisons, dont certaines sont mises en évidence ici:

Pas besoin d'écrire SQL

Rédaction Structured Query Language (SQL) - et de le faire bien - est le fléau de l'existence de nombreux développeurs d'entreprise. Cette douleur est parce que l'écriture des requêtes très complexes avec plusieurs jointures entre tables connexes est pas facile à faire. En outre, à la lumière des changements de base de données régulières au fil du temps, le maintien de code de requête complexe est un travail en soi.

Les développeurs d'entreprise ont inventé un certain nombre de façons d'éviter l'écriture SQL. Une des façons les plus populaires est grâce à l'utilisation de la bibliothèque Object-Relational Mapping (ORM), Hibernate. Hibernate prend un fichier de configuration et un ou plusieurs objets et fait abstraction SQL méchant afin que les développeurs ne doivent pas l'utiliser. Cela arrive à un coût en termes de performances, bien sûr, et ne résout pas tous les cas d'utilisation de la requête. Parfois, vous devez revenir à SQL.

Bases de données NoSQL fournissent leurs propres langages de requêtes, qui sont à l'écoute de la façon dont les données sont gérées par la base de données et les opérations que les développeurs effectuent le plus souvent. Cette approche fournit un mécanisme de requête simple que des instructions SQL imbriquées font.

Certaines bases de données NoSQL fournissent également une interface SQL pour interroger les bases de données NoSQL, au cas où les développeurs ne peuvent pas rompre avec l'habitude de SQL!

Ne pas avoir à passer des mois à la conception de schéma

Schema agnosticisme dans les bases de données NoSQL vous permet de charger les données rapidement sans avoir à créer un schéma relationnel sur une période de mois. Vous ne disposez pas d'analyser l'avant chaque élément de données unique que vous devez stocker dans NoSQL, comme vous le faites avec un SGBDR.

Moins de transformation de données code (ETL)

Un problème courant avec les bases de données relationnelles qui vient d'avoir une conception du schéma initial est que vous avez de forcer les données non relationnelles en lignes et en colonnes. Ce mécanisme de broyage, ainsi que d'autres méthodes de code qui prétraiter des informations de stockage et de post-traitement pour l'extraction est dénommé extraire, transformer, et de chargement (ETL).

Ce code oblige les développeurs à prendre leurs modèles d'objets et de documents brillant agréable et écrire du code pour stocker chaque dernier élément. Cela est méchant et conduit également à des développeurs hautement qualifiés écriture peu performants et le code de plomberie inintéressant.




Bases de données NoSQL vous permettent de garder les structures de données stockées beaucoup plus proches de leur forme originale. Données circulant entre les deux systèmes est typiquement dans un format XML, alors que quand il vient aux applications Web, des données est formaté dans un document JSON. Être capable de stocker nativement, gérer et rechercher JSON est un énorme avantage pour les développeurs d'applications.

Plus facile à maintenir le code

Tout le code que vous écrivez doit être maintenue. En gardant les structures proches des formats de données du code de l'application de base de données, vous réduisez la quantité de code, qui à son tour réduit l'entretien des tests de code et de régression que vous devez faire au fil du temps.

Lorsque les structures de données changent sur un SGBDR, vous devez examiner toutes code SQL qui peuvent utiliser les tableaux modifiés. Dans NoSQL, il suffit d'ajouter un soutien pour les nouveaux éléments, ou tout simplement les ignorer! Beaucoup plus facile à maintenir, grâce à la nature de schéma agnostique de bases de données NoSQL.

Exécuter du code à proximité des données pour la meilleure performance

Un SGBDR fournit des procédures stockées pour exécuter du code sur un serveur de base de données. Ce code est exécuté en un seul endroit. Cette approche utile est la base de nombreuses applications de gestion des données analytiques et complexes.

Beaucoup de bases de données NoSQL permettent ce type de code pour être distribué sur tous les serveurs qui stockent des données pertinentes, ce qui permet une plus grande parallélisation de la charge de travail. Cette approche est particulièrement important pour les grandes ingestions de données qui ont besoin de traitement et d'analyse d'agrégation complexes au moment de la requête.

Fonctions définies par l'utilisateur (UDF) et les scripts côté serveur dans une variété de bases de données NoSQL offrent cette possibilité distribué. UDF sont similaires à la capacité MapReduce Hadoop de, sauf UDF peuvent se produire en temps réel plutôt que en mode batch et ne nécessite pas la même dépense dans l'infrastructure que Hadoop plus une base de données exigeraient.

Beaucoup d'options open-source

Dans de nombreuses régions de logiciels d'entreprise, le choix d'une solution open-source solide fait défaut. Seuls un ou deux options étendues peuvent exister. Disponibilité de compétences et de soutien local dans le pays sont encore plus grands problèmes.

Cependant, il existe une myriade de bases de données open-source NoSQL. Beaucoup de ces sociétés commerciales ont-part entière qui offrent soutien et ont des bureaux à l'échelle mondiale. Donc, si vous avez besoin d'aide ou de plus de fonctionnalités, vous pouvez passer à ces versions par la suite.

Cela réduit le coût de l'adoption de la technologie NoSQL et vous permet de “ essayer avant d'acheter ”. Cette disponibilité d'alternatives open-source a causé les sociétés commerciales dans l'espace NoSQL à offrir des versions gratuites, mais le bien-vedette de leur logiciel ou d'offrir des licences de démarrage spéciaux pour les petites organisations.

Facile à l'échelle

Vous ne devez pas obtenir un DBA coûteux de passer des jours refactoring SQL et en créant des vues matérialisées pour eek chaque pouce de la performance sur les systèmes NoSQL.

Magasins clé-valeur peuvent gérer des centaines de milliers d'opérations par serveur. Tous les types de NoSQL peuvent évoluer horizontalement à travers les serveurs de produits relativement bon marché. Ainsi, il est beaucoup plus facile de faire évoluer votre cluster de base de données NoSQL avec de bases de données relationnelles traditionnelles.

En outre, en raison de leur capacité à l'échelle, les bases de données NoSQL adaptent également dans les nuages ​​publics et privés. Bases de données NoSQL sont conçus pour être flexibles et d'élargir et de contrat que les utilisations de votre changement d'application. Cette capacité est souvent appelée élasticité.

Modèle de données de cohérence éventuelle

Bien que les cas critiques exigent la conformité ACID, toutes les applications ne doit le faire. Être capable de détendre la cohérence entre les très grandes grappes peut être utile pour certaines applications.

Bases de données NoSQL permettent de vous détendre ces contraintes ou de mélanger et assortir une forte cohérence et de consistance faible dans la même base de données, pour les différents types de disques.

Support de langage ésotérique

Quasiment toutes les bases de données prennent en charge les principaux langages de programmation tels que Java et C # .NET. Beaucoup de bases de données appuient les goûts de PHP, Python et Ruby on Rails.

NoSQL a un ensemble florissant de pilotes de langue pour une gamme encore plus large de langages de programmation. Si votre organisation a un langage spécifique au domaine, vous pourriez bien trouver un soutien pour elle dans une base de données NoSQL.

javascript bout-en-bout

Utiliser javascript a explosé ces dernières années. Il est un langage de script pratique à la fois sur le web et, grâce à Node.js, sur le côté serveur.

Beaucoup de bases de données NoSQL prennent désormais en charge le développement de bout-en-bout javascript. Cela signifie que votre organisation peut désormais utiliser le même pool de compétences linguistiques de programmation pour concevoir des applications Web et des API de données de niveau intermédiaire et la logique métier, ainsi que gérer des déclencheurs de base de données back-end et de traitement analytique basé sur MapReduce à côté des données.

En conséquence, par rapport à d'autres technologies de base de données, le coût total de possession (TCO) de NoSQL est inférieure.


» » » » 10 Raisons développeurs aiment nosql