Présentation des bases de données relationnelles distribuées

S’APPLIQUE À : Azure Cosmos DB for PostgreSQL (avec l’extension de base de données Citus pour PostgreSQL)

Azure Cosmos DB est une plateforme de base de données distribuée mondialement pour les bases de données NoSQL et relationnelles de n’importe quelle échelle. Cet article explore les bases de données relationnelles distribuées dans le contexte de l’option d’API relationnelle d’Azure Cosmos DB.

Pour plus d’informations sur les autres options de stockage de données dans Azure, consultez Choisir le magasin de données approprié dans le Centre d’architectures Azure.

Défis

Souvent, lorsque vous lisez des charges de travail volumineuses ou transactionnelles élevées, il est facile de penser que ces charges de travail sont beaucoup plus volumineuses que celles auxquelles votre application peut faire face. L’hypothèse que votre charge de travail restera petite peut être une hypothèse sûre au début d’un projet, d’une idée ou d’une organisation. Toutefois, cette hypothèse peut rapidement conduire à un scénario où la charge de travail de votre application augmente bien au-delà des prédictions que vous avez effectuées. Il n’est pas rare d’entendre des récits de charges de travail qui répondent au débit maximal ou à la puissance de traitement de la base de données à instance unique qui était économique et performante au début d’un projet.

Bases de données relationnelles

Les bases de données relationnelles organisent les données dans un format tabulaire (ligne/colonne) avec des relations entre différentes tables dans les bases de données. Les bases de données relationnelles sont courantes dans différentes entreprises. Ces entreprises ont souvent une multitude de développeurs de logiciels qui ont écrit du code sur une base de données relationnelle ou des administrateurs qui conçoivent des schémas et gèrent des plateformes de base de données relationnelles. Les bases de données relationnelles prennent également souvent en charge les transactions avec des garanties ACID.

Malheureusement, de nombreux systèmes de base de données relationnelles sont initialement configurés par les organisations d’une manière à nœud unique avec des contraintes supérieures sur le calcul, la mémoire et les ressources réseau. Ce contexte peut conduire à une hypothèse incorrecte selon laquelle toutes les bases de données relationnelles sont par nature à nœud unique.

Bases de données distribuées

Avec de nombreux livres blancs natifs cloud, il est courant d’entendre parler des avantages des bases de données NoSQL, ce qui donne l’impression que les bases de données relationnelles ne sont pas un choix raisonnable pour les bases de données à grande échelle ou les charges de travail distribuées. Bien que de nombreuses bases de données distribuées soient non relationnelles, il s’agit là d’options pour les charges de travail de base de données relationnelles distribuées.

La plupart de ces options pour les bases de données relationnelles distribuées nécessitent que votre organisation planifie une grande échelle et une distribution à partir du début du projet. Cette exigence de planification peut ajouter une complexité importante au début d’un projet pour s’assurer que tous les nœuds de serveur appropriés sont configurés, gérés et gérés par votre équipe. Les exigences de planification, d’implémentation et de mise en réseau d’une base de données relationnelle distribuée à l’échelle mondiale peuvent facilement devenir beaucoup plus complexes que la mise en place d’une seule instance (ou d’un nœud).

Azure Cosmos DB

Azure Cosmos DB est une plateforme de base de données qui offre des API de données distribuées dans NoSQL et des variantes relationnelles. Plus précisément, l’API relationnelle pour Azure Cosmos DB est basée sur PostgreSQL et l’extension Citus.

Citus est une extension PostgreSQL qui ajoute la prise en charge de Postgres pour la distribution des données et des transactions. Azure Cosmos DB for PostgreSQL est un service entièrement managé, utilisant Citus, qui vous offre automatiquement une haute disponibilité sans avoir à planifier, gérer et gérer manuellement des nœuds de serveur individuels. Avec l’API pour PostgreSQL, vous pouvez commencer avec un cluster à nœud unique entièrement managé, créer votre solution de base de données, puis la mettre à l’échelle de façon clé en main à mesure que les besoins de votre application augmentent au fil du temps. Avec l’API pour PostgreSQL, il n’est pas nécessaire de planifier un projet de distribution complexe à l’avance ou de planifier un projet pour migrer vos données d’un nœud unique vers une base de données distribuée.

Étapes suivantes

Vous souhaitez commencer à utiliser Azure Cosmos DB ?