Accueil Finances personnelles 10 Raisons Les développeurs aiment NoSQL - les nuls

10 Raisons Les développeurs aiment NoSQL - les nuls

Table des matières:

Vidéo: Entrevue - Emmanuel Viau - Ere Informatique 2024

Vidéo: Entrevue - Emmanuel Viau - Ere Informatique 2024
Anonim

La popularité des bases de données NoSQL vient du nombre de développeurs enthousiastes à l'idée de les utiliser. Les développeurs considèrent NoSQL comme une technologie habilitante et libératrice. Contrairement à l'approche relationnelle traditionnelle, NoSQL vous permet de travailler avec des données plus proches de l'application que le modèle de données relationnel.

Les développeurs adoptent les technologies NoSQL pour de nombreuses raisons, dont certaines sont mises en évidence ici:

Pas besoin d'écrire SQL

L'écriture de SQL (Structured Query Language) - et le fait bien - est le fléau de l'existence de nombreux développeurs d'entreprise. Cette difficulté est due au fait que l'écriture de requêtes très complexes avec plusieurs jointures entre des tables connexes n'est pas facile à faire. De plus, à la lumière des changements réguliers dans la base de données au fil du temps, le maintien d'un 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 d'écrire du SQL. L'un des moyens les plus populaires est l'utilisation de la bibliothèque ORM (Object-Relational Mapping), Hibernate. Hibernate prend un fichier de configuration et un ou plusieurs objets et abstracts éloignés du SQL méchant afin que les développeurs n'aient pas à l'utiliser. Cela a un coût en termes de performance, bien sûr, et ne résout pas tous les cas d'utilisation de requêtes. Parfois, vous devez revenir à SQL.

Les bases de données NoSQL fournissent leurs propres langages de requête, qui sont adaptés à la façon dont les données sont gérées par la base de données et aux opérations que les développeurs effectuent le plus souvent. Cette approche fournit un mécanisme de requête plus simple que les instructions SQL imbriquées.

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 pourraient pas casser l'habitude SQL!

Ne pas avoir à passer des mois à créer un schéma

L'agnosticisme des schémas dans les bases de données NoSQL vous permet de charger des données rapidement sans avoir à créer un schéma relationnel sur plusieurs mois. Vous n'avez pas besoin d'analyser au préalable tous les éléments de données que vous avez besoin de stocker dans NoSQL, comme vous le faites avec un SGBDR.

Moins de code de transformation de données (ETL)

Un problème courant lié aux bases de données relationnelles lié à la conception d'un schéma initial est que vous devez forcer des données non relationnelles en lignes et en colonnes. Ce mécanisme de déchiquetage, ainsi que d'autres méthodes de code qui pré-traitent les informations pour le stockage et le post-traitent pour la récupération est appelé extraire, transformer et charger (ETL) .

Ce code force les développeurs à prendre leurs beaux modèles d'objets et de documents et à écrire du code pour stocker chaque dernier élément. Le faire est méchant et conduit également à des développeurs hautement qualifiés qui écrivent un code de plomberie peu performant et inintéressant.

Les bases de données NoSQL vous permettent de conserver les structures de données stockées beaucoup plus près de leur forme d'origine. Les données circulant entre les systèmes sont généralement au format XML, tandis que dans le cas des applications Web, les données sont formatées dans un document JSON. Le fait de pouvoir stocker, gérer et rechercher des fichiers JSON en mode natif est un avantage considérable pour les développeurs d'applications.

Plus facile à maintenir le code

Tout le code que vous écrivez doit être maintenu. En conservant les structures de base de données à proximité des formats de données du code de l'application, vous minimisez la quantité de code, ce qui minimise la maintenance des tests de code et de régression que vous devez effectuer au fil du temps.

Lorsque les structures de données changent sur un SGBDR, vous devez passer en revue tout le code SQL pouvant utiliser les tables modifiées. Dans NoSQL, vous ajoutez simplement le support pour les nouveaux éléments, ou simplement les ignorer! Beaucoup plus facile à maintenir, grâce à la nature agnostique du schéma des bases de données NoSQL.

Exécuter du code à proximité des données pour obtenir les meilleures performances

Un SGBDR fournit des procédures stockées pour l'exécution de 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 analytiques et complexes de gestion de données.

De nombreuses bases de données NoSQL permettent de distribuer ce type de code 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 importante pour les grandes ingestions de données nécessitant un traitement et pour les analyses d'agrégation complexes au moment de la requête.

Les fonctions définies par l'utilisateur (UDF) et les scripts côté serveur dans une variété de bases de données NoSQL fournissent cette capacité distribuée. Les fonctions UDF sont similaires à la fonction MapReduce de Hadoop, à l'exception des fonctions UDF qui peuvent être exécutées en temps réel plutôt qu'en mode de traitement par lots et qui ne requièrent pas les mêmes ressources que Hadoop plus une base de données.

Beaucoup d'options open-source

Dans de nombreux domaines logiciels d'entreprise, le choix d'une solution open source solide fait défaut. Seulement une ou deux options répandues peuvent exister. La disponibilité des compétences et le soutien local dans le pays sont des problèmes encore plus importants.

Cependant, il existe une myriade de bases de données NoSQL open-source. Beaucoup d'entre eux ont des sociétés commerciales à part entière qui offrent un soutien et ont des bureaux dans le monde entier. Donc, si vous avez besoin de support ou plus de fonctionnalités, vous pouvez éventuellement passer à ces versions.

Cela réduit le coût d'adoption de la technologie NoSQL et vous permet d'essayer avant d'acheter. "Cette disponibilité d'alternatives open-source a conduit les entreprises commerciales dans l'espace NoSQL à proposer des versions gratuites mais bien documentées de leurs logiciels ou à proposer des licences de démarrage spéciales aux petites organisations.

Facile à mettre à l'échelle

Vous n'avez pas besoin d'un DBA coûteux pour passer des journées à refactoriser SQL et à créer des vues matérialisées afin de tirer le meilleur parti des performances des systèmes NoSQL.

Les magasins de valeurs-clés peuvent gérer des centaines de milliers d'opérations par serveur. Tous les types de NoSQL peuvent évoluer horizontalement sur des serveurs de marchandises relativement bon marché.Il est donc beaucoup plus facile de faire évoluer votre cluster de base de données avec NoSQL qu'avec les bases de données relationnelles traditionnelles.

De plus, en raison de leur capacité à évoluer, les bases de données NoSQL s'intègrent bien dans les nuages ​​publics et privés. Les bases de données NoSQL sont conçues pour être flexibles, se développer et se contracter à mesure que les utilisations de votre application changent. Cette capacité est souvent appelée élasticité .

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

Bien que les cas critiques nécessitent une conformité ACID, toutes les applications ne doivent pas nécessairement le faire. Etre capable de détendre la cohérence à travers de très grandes grappes peut être utile pour certaines applications.

Les bases de données NoSQL vous permettent d'assouplir ces contraintes ou de mélanger et faire correspondre une cohérence forte et une cohérence faible dans la même base de données, pour différents types d'enregistrements.

Support du langage ésotérique

Pratiquement toutes les bases de données supportent les principaux langages de programmation tels que Java et C #. NET. De nombreuses bases de données prennent en charge PHP, Python et Ruby on Rails.

NoSQL dispose d'un ensemble de pilotes de langage évolutif pour une gamme encore plus large de langages de programmation. Si votre organisation dispose d'un langage spécifique à un domaine, vous pouvez trouver un support dans une base de données NoSQL.

JavaScript de bout en bout

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

De nombreuses bases de données NoSQL prennent désormais en charge le développement JavaScript complet de bout en bout. Cela signifie que votre organisation peut désormais utiliser le même pool de compétences en langage de programmation pour créer des applications Web et des API de données de niveau intermédiaire et la logique métier, ainsi que gérer les déclencheurs de base de données backend et le traitement analytique MapReduce.

Par conséquent, en comparaison avec d'autres technologies de base de données, le coût total de possession (TCO) de NoSQL est inférieur.

10 Raisons Les développeurs aiment NoSQL - les nuls

Le choix des éditeurs

Tableaux et pointeurs en C ++ - le nom du tableau des mannequins

Tableaux et pointeurs en C ++ - le nom du tableau des mannequins

Est un pointeur sur le tableau lui-même. Le tableau est une séquence de variables stockée en mémoire. Le nom du tableau pointe vers le premier élément. C'est une question intéressante sur les pointeurs: Pouvez-vous avoir un en-tête de fonction, comme la ligne suivante, et juste utiliser sizeof pour déterminer comment ...

Boost Bibliothèques et C ++ - mannequins

Boost Bibliothèques et C ++ - mannequins

De nombreux développeurs utilisent les bibliothèques Boost car elles fournissent un code de haute qualité une partie de Boost est en train d'être normalisée pour être incluse dans la bibliothèque standard. L'une des meilleures choses à propos de Boost est que la bibliothèque elle-même est gratuite. Le site Web de Boost tient à faire savoir aux développeurs qu'ils ne ...

Casser les programmes Mis à part C ++ - les mannequins

Casser les programmes Mis à part C ++ - les mannequins

Le programmeur peut casser un seul programme en fichiers sources distincts généralement appelés modules. Ces modules sont compilés séparément dans le code machine par le compilateur C ++, puis combinés au cours du processus de génération pour générer un seul programme. Ces modules sont également connus par les geeks du compilateur en tant qu'unités de traduction C ++. Le processus de combinaison ...

Le choix des éditeurs

Comment régler les paramètres via l'affichage d'informations sur votre Nikon D5200 - mannequins

Comment régler les paramètres via l'affichage d'informations sur votre Nikon D5200 - mannequins

L'information l'affichage ne sert pas uniquement à vérifier les paramètres de prise de vue actuels; Cela vous donne également un accès rapide à certains des paramètres les plus critiques. La touche de cette fonction est le bouton Information Edit, situé à l'arrière de l'appareil photo, à droite du viseur. Voici comment cela fonctionne: Afficher les informations ...

Met en surbrillance le mode d'affichage sur votre Nikon D7100 - mannequins

Met en surbrillance le mode d'affichage sur votre Nikon D7100 - mannequins

En mode d'affichage hautes lumières sur votre Nikon D7100 pense que l'appareil photo peut être surexposé clignoter dans le moniteur de l'appareil photo. L'un des problèmes de photo les plus difficiles à corriger dans un programme de retouche photo est connu sous le nom de surbrillance dans certains cercles et de surbrillance dans d'autres. Les deux termes signifient que les zones les plus claires de ...

Comment régler les paramètres via la bande de contrôle Nikon D3300 - les tétines

Comment régler les paramètres via la bande de contrôle Nikon D3300 - les tétines

Présentes en bas à gauche Au coin du Nikon D3300, le bouton i active une bande de contrôle qui vous donne un accès rapide à certains paramètres de prise de vue critiques. Voici comment utiliser la bande de contrôle pour la photographie dans le viseur: Affichez l'écran d'informations. Vous pouvez le faire en appuyant sur le bouton Info. Appuyez sur le bouton i. Le haut ...

Le choix des éditeurs

Comment imprimer vos diapositives et notes Keynote - Les tétines

Comment imprimer vos diapositives et notes Keynote - Les tétines

Lorsque vous créez une présentation dans Snow Leopard Application Keynote, vous ne pouvez pas toujours vouloir imprimer des documents. Cependant, si vous présentez un long diaporama avec beaucoup d'informations que vous aimeriez que votre public se souvienne, rien ne vaut les documents qui incluent des images réduites de vos diapositives (et, facultativement, les notes de votre présentateur). Vous pouvez ...

Comment réorganiser ou supprimer les signets - les mannequins

Comment réorganiser ou supprimer les signets - les mannequins

Safari enregistre vos signets et vos dossiers de signets dans l'ordre dans lequel vous les créez, en les ajoutant au bas d'une liste toujours croissante. Si vous continuez à ajouter des marque-pages au menu Signets sans les placer dans des dossiers, vous pouvez constater que vous avez un nombre de signets gazillion indiqué bon gré mal gré et que vous ne vous en souvenez plus ...

Pour ouvrir et utiliser l'iDisk de Snow Leopard - les mannequins

Pour ouvrir et utiliser l'iDisk de Snow Leopard - les mannequins

Avec un compte MobileMe actif, iDisk est disponible et vous fournit un espace de stockage supplémentaire. Pour connaître l'espace de stockage utilisé et pour configurer l'accès à votre dossier Public, ouvrez les Préférences Système, cliquez sur l'icône MobileMe, puis sur le bouton iDisk pour afficher les paramètres. Vos paramètres iDisk sont disponibles dans les Préférences Système. Le ...