Datastore est une base de données NoSQL hautement évolutive pour les applications Web et mobiles. Il offre une mise à l'échelle automatique, des performances élevées et une facilité de développement d'applications. Son API permet un stockage basé sur les objets et la possibilité d'exécuter des requêtes de type SQL. Conçu pour être très robuste et tolérant aux pannes, Datastore garantit un stockage et une récupération fiables des données.
L'évolution et la première mention du Datastore
Le concept de Datastore est né des progrès du cloud computing et du besoin croissant de solutions de stockage de données flexibles, évolutives et robustes. Les origines de la technologie remontent à Bigtable de Google, un système de stockage de données compressé, hautes performances et exclusif présenté dans un article publié par Google en 2006.
Google Cloud Datastore, plus tard connu sous le nom de Cloud Firestore, est devenu accessible au public dans le cadre de Google Cloud Platform en 2013. Il a été conçu pour fournir une solution de base de données plus simple et évolutive pour les applications basées sur le cloud, améliorant les concepts fondamentaux de Bigtable.
Approfondir la banque de données
Datastore est une base de données NoSQL, ce qui signifie qu'elle ne repose pas sur les schémas de bases de données relationnelles traditionnelles. Au lieu de cela, il fournit un modèle de données flexible et sans schéma qui vous permet de définir vos propres structures de données.
Les données de Datastore sont stockées sous forme d'entités, chacune possédant une clé et un ensemble de propriétés. La clé est utilisée pour identifier l'entité, tandis que les propriétés sont des éléments de données associés à l'entité.
Datastore prend en charge les transactions ACID et divers types de données allant des simples entiers et chaînes aux types de données complexes comme les listes et les points géographiques. Il prend en charge les requêtes de type SQL, ce qui permet aux développeurs familiarisés avec SQL de s'adapter plus facilement à son utilisation.
La structure interne du Datastore : comment ça marche
Datastore est conçu autour de trois composants principaux : les entités, les propriétés et les index.
Entités : il s'agit des objets de données de base de Datastore. Chaque entité a un genre qui la classe dans un groupe et une clé qui l'identifie de manière unique.
Propriétés: Les entités sont constituées de propriétés, qui sont des paires clé-valeur contenant les données réelles.
Index : Datastore utilise des index pour prendre en charge l'interrogation des données. Les index primaires sont automatiquement créés pour chaque propriété d'une entité et les index composites sont définis dans un fichier de configuration d'index.
Datastore utilise une architecture distribuée, qui offre une forte cohérence pour les requêtes et prend en charge les transactions mondiales, fournissant ainsi une plate-forme robuste pour le développement d'applications évolutives.
Principales fonctionnalités de la banque de données
Certaines des fonctionnalités clés de Datastore incluent :
- Mise à l'échelle automatique: Datastore évolue de manière transparente à mesure que la quantité de données et le nombre d'utilisateurs augmentent.
- La haute disponibilité: Grâce à l'utilisation d'une architecture distribuée et à la réplication, Datastore offre une haute disponibilité et une durabilité.
- Transactions ACIDE: Datastore prend en charge les transactions ACID (Atomicité, Cohérence, Isolation, Durabilité), garantissant l'intégrité des données.
- Forte cohérence : toutes les requêtes dans Datastore sont fortement cohérentes, ce qui signifie qu'elles reflètent toujours toutes les mises à jour apportées aux données avant le démarrage de la requête.
Types de banque de données
La banque de données peut être classée en deux types en fonction de l'environnement :
Taper | Description |
---|---|
Banque de données cloud | Une base de données de documents NoSQL entièrement gérée et sans serveur, conçue pour une mise à l'échelle automatique, des performances élevées et une facilité de développement d'applications. |
Banque de données locale | Ceci est utilisé à des fins de développement et de test. Il simule le comportement de Cloud Datastore sur une machine locale. |
Utilisation et problèmes liés à la banque de données
Datastore est largement utilisé dans le développement d’applications Web et mobiles nécessitant une base de données évolutive et fiable. Il peut gérer un volume élevé d'opérations de lecture et d'écriture, ce qui le rend idéal pour le contenu généré par les utilisateurs, les jeux, l'analyse en temps réel et les applications IoT.
Cependant, Datastore présente certaines limites et défis associés :
- Requêtes complexes: Bien que Datastore prenne en charge les requêtes de type SQL, il ne prend pas en charge les opérations JOIN et n'a qu'une prise en charge limitée pour les requêtes d'agrégation.
- Tarifs: Le coût d'utilisation de Datastore peut augmenter rapidement avec la quantité de données stockées et le nombre d'opérations de lecture/écriture.
La clé pour surmonter ces défis est de concevoir l’application et le modèle de données pour qu’ils s’alignent sur les forces et les limites de Datastore.
Comparaison de la banque de données avec des technologies similaires
Comparaison du Datastore de Google avec des bases de données NoSQL similaires :
Caractéristiques | Banque de données Google | Amazon DynamoDB | Azure Cosmos DB |
---|---|---|---|
Mise à l'échelle automatique | Oui | Oui | Oui |
Cohérence | Fort et éventuel | Fort et éventuel | Plusieurs modèles |
Prise en charge des transactions | Oui | Oui | Oui |
Transactions mondiales | Oui | Non | Oui |
Langage de requête de type SQL | Oui | Oui | Oui |
Perspectives futures et technologies liées à la banque de données
La demande de bases de données NoSQL évolutives et flexibles comme Datastore devrait augmenter à mesure que de plus en plus d'entreprises se tournent vers des applications basées sur le cloud. Les technologies telles que l'apprentissage automatique et l'intelligence artificielle qui doivent gérer d'énormes quantités de données peuvent bénéficier de l'évolutivité et des performances de Datastore.
De plus, l’émergence de l’informatique sans serveur et de l’architecture de microservices stimulera davantage l’utilisation de bases de données telles que Datastore, conçues pour évoluer et gérer de manière transparente de gros volumes de données.
Serveurs proxy et leur association avec Datastore
Les serveurs proxy peuvent être utilisés pour contrôler et gérer l'accès à une base de données Datastore. Ils peuvent servir de couche entre les applications clientes et la base de données, fournissant ainsi des mesures de sécurité et des fonctionnalités supplémentaires. Par exemple, un serveur proxy peut être utilisé pour mettre en cache les données fréquemment consultées, réduisant ainsi la charge sur la base de données et améliorant les temps de réponse.
De plus, les serveurs proxy peuvent également être utilisés pour implémenter une limitation de débit, contrôlant le nombre de requêtes qu'un client peut adresser à la base de données dans un certain laps de temps, protégeant ainsi la base de données d'être submergée par un trop grand nombre de requêtes.
Liens connexes
Pour plus d'informations sur Datastore, visitez les ressources suivantes :