Application mobile: Autonomisez les développeurs d’applications modernes avec des bases de données de documents – La nouvelle pile

Application mobile: Autonomisez les développeurs d'applications modernes avec des bases de données de documents - La nouvelle pile

Andrew Davidson

Andrew est vice-président des produits cloud chez MongoDB. Auparavant, il a travaillé sur la mise à l’échelle des opérations de cartographie mondiale chez Google, a une formation en physique et a beaucoup vécu en Asie du Sud.

Dans tous les secteurs, le succès commercial dépend de la capacité d’une entreprise à offrir de nouvelles expériences numériques via des logiciels. La vitesse à laquelle une entreprise peut développer et déployer une nouvelle application avec des fonctionnalités innovantes est un levier direct sur les résultats commerciaux. Étant donné le rôle vital que jouent les développeurs dans le succès de votre entreprise, il va de soi que les doter des outils nécessaires pour maximiser leur productivité est dans votre meilleur intérêt.

Malheureusement, de nombreuses organisations ne sont pas conscientes de la taxe qu’elles imposent à leurs équipes de développement en utilisant une base de données relationnelle. Alors que la base de données relationnelle a été le fondement des applications basées sur les données pendant 50 ans, elle a été développée à une époque antérieure à Internet et ne correspond pas à la base des applications Web et mobiles d’aujourd’hui.

Les bases de données documentaires, qui ont émergé au cours de la dernière décennie, se sont imposées comme l’alternative la plus populaire et la plus utilisée au modèle tabulaire trouvé dans les bases de données relationnelles traditionnelles. Les bases de données de 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 de documents sont intuitives à utiliser pour les développeurs. Au lieu de la structure rigide de lignes et de colonnes du modèle relationnel, les bases de données de documents mappent les documents directement aux objets du code, ce qui est naturellement la façon dont les codeurs pensent et travaillent avec les données.

Décomposons les principaux avantages des bases de données de documents dans la création d’applications modernes. Nous verrons pourquoi la flexibilité du modèle de document élimine les dépendances intergroupes complexes 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 entrave considérablement la vitesse de travail. La structure rigide de lignes et de colonnes crée un décalage entre la façon dont les développeurs pensent le code et les données, et la façon dont ils doivent les stocker. De plus, alors que le modèle relationnel fonctionnait bien à une époque où la plupart des applications utilisaient un petit ensemble d’attributs prédéfinis tels que les noms de famille, les codes postaux et les abréviations d’état, la majorité des données collectées par les organisations aujourd’hui sont riches en structure. Nous avons donné des noms et parfois des noms préférés. Nous avons des attributs uniques qui ne concernent que certains d’entre nous : par exemple, les personnes titulaires d’un doctorat ont des sujets de thèse, les amateurs de sport ont des sports préférés, nos familles sont de toutes les formes et de toutes les tailles imaginables. Ces données richement structurées reflètent la façon dont nous pensons réellement au monde réel, et il est très difficile d’aplatir, de stocker, d’analyser ou d’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 avec des modifications apportées à leurs applications, ce qui les oblige à collaborer soigneusement avec des experts tels que des administrateurs de bases de données (DBA) qui les aident à traduire leurs schémas et requêtes en modèles de données relationnelles sous-jacents pour s’assurer que les stratégies d’indexation sont utilisées de manière appropriée. . La couche d’indirection augmente la charge cognitive, est difficile à raisonner et ralentit tout. Plus de la moitié des modifications apportées aux applications nécessitent des modifications du schéma de la base de données. Ces modifications de base de données prennent plus de temps que les modifications d’application qu’elles sont conçues pour 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 de documents

Avec la naissance d’Internet et la prolifération des applications mobiles et Web, les rôles des développeurs ont évolué. L’émergence de cadres de développement robustes, qui ont fait abstraction de la complexité sous-jacente, et l’essor du DevOps ont conduit les organisations à consolider les fonctions de développement. La nouvelle génération de développeurs full-stack souhaitait des bases de données qui répondent mieux aux exigences de leurs applications et à leurs façons 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 chez le géant de la technologie publicitaire DoubleClick en 2007. Ils n’étaient toujours pas en mesure d’atteindre les 400 000 transactions par seconde requises par l’entreprise en raison des contraintes du modèle relationnel. Ces défis les ont incités à créer une nouvelle base de données moderne et polyvalente. Cette base de données pourrait combler les lacunes du modèle de données relationnelles et offrir une solution que les développeurs souhaitaient réellement utiliser. Le résultat a été une base de données NoSQL horizontalement évolutive et basée sur des documents appelée MongoDB. Le modèle de base de données de documents en général, et MongoDB en particulier, aborde les limitations des bases de données relationnelles de plusieurs manières notables :

Modèle de données intuitif : Les documents au centre des bases de données documentaires ont un format de données universel. JSON est un format léger, indépendant du langage et lisible par l’homme qui 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 courants, il n’est donc pas nécessaire de recourir à la couche de mappage supplémentaire souvent utilisée avec les bases de données relationnelles. Étant donné que 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 flexibilité améliore l’agilité des développeurs. Comme l’ont découvert les développeurs de Travelers Insurance, le passage d’une base de données relationnelle à MongoDB 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 applicatives

Les applications les plus innovantes que nous utilisons dans notre vie quotidienne – pensez à Netflix, Instagram, Twitter – ont accru les attentes des utilisateurs quant à ce que chaque application devrait être. Aujourd’hui, nous nous attendons à ce que les applications soient :

  • Très réactif
  • Capable de fournir des informations pertinentes
  • Optimisé pour les appareils mobiles
  • Sécurise
  • Alimenté par des informations en temps réel
  • Amélioration continue

Répondre à ces attentes peut être extrêmement difficile, en particulier pour les développeurs utilisant des bases de données relationnelles. Une infrastructure de données typique construite autour d’une base de données relationnelle héritée peut piéger votre équipe de développement dans des architectures trop complexes et cloisonnées. Les bases de données documentaires, en revanche, peuvent simplifier les architectures applicatives. Les documents sont un sur-ensemble de tous les autres modèles de données, de sorte que les développeurs peuvent stocker et utiliser une variété de types de données. Les équipes de développement peuvent gérer la plupart de leurs cas d’utilisation dans un modèle de données et une base de données uniques.

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

« La partie la plus belle est le modèle de données. Tout est un document JSON naturel », a déclaré Filip Dadgar, ancien architecte principal de solutions et responsable informatique, Toyota Material Handling Europe. « Donc, pour les développeurs, c’est facile, vraiment facile pour eux de travailler rapidement. [They are] consacrer du temps à la création de valeur commerciale plutôt qu’à la modélisation des données. »

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

Intéressé par la modélisation de données en JSON, mais vous ne savez pas par où commencer ? Consultez notre papier blanc ou assistez à notre hebdomadaire série de webinaires.

Image en vedette via Pixabay.

#Autonomisez #les #développeurs #dapplications #modernes #avec #des #bases #données #documents #nouvelle #pile