Donner aux développeurs d'applications modernes les moyens d'agir grâce aux bases orientées documents

Dans tous les secteurs d'activité, la réussite commerciale dépend de la capacité d'une entreprise à offrir de nouvelles expériences numériques par le biais de logiciels.

La vitesse à laquelle une entreprise peut développer et déployer une nouvelle application dotée de fonctionnalités innovantes est un levier direct sur les résultats commerciaux. Étant donné le rôle vital que jouent les développeurs dans la réussite de votre entreprise, il va de soi que les équiper d’outils permettant de maximiser leur productivité est dans votre intérêt.

Malheureusement, de nombreuses entreprises n'ont pas conscience de la charge qu'elles imposent à leurs équipes de développement en utilisant une base de données relationnelle. Si la base de données relationnelle constitue depuis 50 ans le fondement des applications axées sur les données, elle a été développée à une époque antérieure à Internet et ne convient donc plus comme base pour les applications web et mobiles actuelles.

Les bases de données orientées documents, qui sont apparues au cours de la dernière décennie, se sont imposées comme l'alternative la plus populaire et la plus largement utilisée par rapport au modèle tabulaire des bases de données relationnelles traditionnelles. Les bases de données documents sont devenues si puissantes que même les bases de données relationnelles tentent de les imiter. Construites autour de documents de type JavaScript Object Notation (JSON), les bases de données documents sont intuitives pour les développeurs. Au lieu de la structure rigide en lignes et colonnes du modèle relationnel, les bases de données documents font correspondre les documents directement aux objets dans le code, ce qui correspond à la façon dont les codeurs pensent et travaillent naturellement avec les données.

Décortiquons les principaux avantages des bases de données documentaires dans la création d'applications modernes. Nous verrons pourquoi la flexibilité du modèle de document élimine les dépendances complexes entre groupes qui ont traditionnellement ralenti les développeurs.

Les limites du modèle de base de données relationnelle

Les bases de données relationnelles ajoutent de la complexité à la charge de travail d'un développeur, ce qui nuit considérablement à la rapidité du travail. La structure rigide en lignes et en colonnes crée un décalage entre la façon dont les développeurs conçoivent le code et les données, et la façon dont ils doivent les stocker. En outre, si le modèle relationnel convenait à une époque où la plupart des applications n'utilisaient qu'un petit ensemble d'attributs tels que les noms de famille, les codes postaux et les départements, la majorité des données collectées par les entreprises aujourd'hui sont riches en structure. Nous avons des noms donnés et parfois des noms préférés. Nous avons des attributs uniques qui ne sont pertinents que pour certains d'entre nous. Par exemple, les titulaires d'un doctorat ont des sujets de thèse, les amateurs de sport ont des sports préférés, nos familles ont toutes les formes et tailles imaginables. Ces données richement structurées reflètent notre façon de penser dans le monde réel, et il est très difficile de les aplatir, de les stocker, de les analyser ou de les interroger à l'aide de lignes et de colonnes.

Avec les bases de données relationnelles, les développeurs peuvent se sentir coincés dans des sables mouvants, les modifications apportées à leurs applications les obligeant à collaborer soigneusement avec des experts tels que les administrateurs de bases de données (DBA), qui les aident à traduire leurs schémas et leurs requêtes en modèles de données relationnelles sous-jacents afin de s'assurer que les stratégies d'indexation sont utilisées de manière appropriée. Cela augmente la charge cognitive qui est difficile à comprendre et ralentit tout. Plus de la moitié des changements d'application nécessitent des modifications du schéma de la base de données. Ces modifications de la base de données sont plus longues à réaliser que les changements d'application qu'elles sont censées prendre en charge. Vous pouvez rapidement comprendre pourquoi ces efforts compliqués ralentissent considérablement la mise en production de nouvelles fonctionnalités logicielles.

Permettre le développement d'applications modernes avec des bases de données documents

Avec la naissance d’Internet et la prolifération des applications mobiles et web, le rôle des développeurs a évolué. L'émergence de cadres de développement robustes, qui font abstraction de la complexité sous-jacente, et l'essor de DevOps, ont conduit les entreprises à consolider les fonctions de développement. La nouvelle génération de développeurs "full-stack" voulait des bases de données qui répondent mieux aux exigences de leurs applications et à leur façon de travailler avec les données.

Les fondateurs de MongoDB ont reconnu le besoin d'une solution de base de données moderne alors qu'ils travaillaient pour le géant de la publicité DoubleClick en 2007. Les contraintes du modèle relationnel ne leur permettaient toujours pas d'atteindre les 400 000 transactions par seconde requises par l'entreprise. Ces défis les ont incités à créer une nouvelle base de données moderne et polyvalente. Cette base de données pouvait combler les lacunes du modèle de données relationnel et offrir une solution que les développeurs souhaitaient réellement utiliser. Le résultat a été une base de données NoSQL évolutive horizontalement et basée sur les documents. Le modèle de base de données document en général, remédie aux limites des bases de données relationnelles de plusieurs façons notables :

  • Modèle de données intuitif : Les documents au centre des bases de données documents ont un format de données universel. JSON est un format léger, indépendant du langage et lisible par l'Homme. Il est devenu une norme largement utilisée pour le stockage et l'échange de données. Ces documents correspondent directement aux structures de données dans les langages de programmation les plus courants, ce qui rend inutile la couche de correspondance supplémentaire souvent utilisée avec les bases de données relationnelles. Comme les données auxquelles on accède ensemble sont stockées ensemble, il y a moins de code à écrire ; les développeurs n'ont pas besoin de décomposer les données entre les tables ou d'exécuter des jointures.
  • Schéma flexible : Ces documents de type JSON sont flexibles. Chaque document peut avoir ses propres champs, et il n'est pas nécessaire de prédéfinir le schéma dans la base de données. Il peut être modifié à tout moment. Cette souplesse améliore l'agilité des développeurs. Comme l'ont constaté les développeurs de Travelers Insurance, le passage d'une base de données relationnelle au NoSQL a permis à l'entreprise d'accélérer considérablement la livraison de nouvelles applications logicielles.

Répondre aux attentes des utilisateurs tout en simplifiant les architectures d'application

Les applications les plus innovantes que nous utilisons dans notre vie quotidienne - pensez à Netflix, Instagram, Twitter - ont élevé les attentes des utilisateurs quant à ce que chaque application devrait être. Aujourd'hui, nous attendons des applications qu'elles soient :

  • Très réactive
  • Capable de fournir des informations pertinentes
  • Optimisée pour les appareils mobiles
  • Sécurisée
  • Alimentée par des informations en temps réel
  • Améliorée en permanence

Répondre à ces attentes peut être extrêmement difficile, surtout pour les développeurs qui utilisent des bases de données relationnelles. Une infrastructure de données typique construite autour d'une ancienne base de données relationnelle peut piéger votre équipe de développement dans des architectures trop complexes et cloisonnées. Les bases de données documents, en revanche, peuvent simplifier les architectures d'application. Les documents sont un sur-ensemble de tous les autres modèles de données, de sorte que les développeurs peuvent stocker et travailler avec une grande variété de types de données. Les équipes de développement peuvent intégrer la plupart de leurs cas d'utilisation dans un seul modèle de données et une seule base de données.

Le passage à une base de données documents a permis à Toyota Material Handling Europe de passer d'une base de code monolithique à une architecture basée sur des microservices, alors que ses équipes de développement soutenaient une évolution historique du secteur vers des usines plus intelligentes, plus autonomes et plus sûres.

Pour l’architecte de solutions et responsable informatique de Toyota Material Handling Europe, la partie la plus belle est le modèle de données. Tout est un document JSON naturel. Pour les développeurs, c'est facile, très facile de travailler rapidement. Ils passent du temps à créer de la valeur commerciale plutôt qu'à modéliser les données.

Vous ne gérez peut-être pas une flotte de 100 000 chariots d'entrepôt équipés de capteurs IoT comme Toyota. Pourtant, le modèle de données documents peut encore aider vos développeurs à surmonter les limites du modèle relationnel tout en améliorant leur productivité et leur vélocité. Ils peuvent minimiser le travail indifférencié de maintenance de leur infrastructure et se concentrer sur la réponse aux attentes exigeantes des utilisateurs. En conséquence, ils peuvent fournir de meilleures applications, plus innovantes, plus rapidement qu'auparavant.