深入了解 Datastore 和 Bigtable 助力 NoSQL 数据存储
1. NoSQL 技术概述
NoSQL 是一类广泛的持久化技术,通常指不符合传统关系数据库管理系统(RDBMS)规范化关系数据模型的任何存储解决方案。虽然从技术定义上,像云存储这样的纯非结构化对象存储也包含在内,但 NoSQL 这个术语一般用于包含某种结构化数据概念的解决方案。
NoSQL 解决方案通常会牺牲一些关系数据库中的功能,以克服这些功能带来的限制,这在很多情况下意味着更好的可扩展性和对高度分布式环境的适用性。NoSQL 家族中有众多数据库技术,大致可分为四大类:键值存储、文档数据库、列式数据库和图数据库。其中,Datastore 通常被认为是传统的文档数据库,而 Bigtable 更属于键值类别,是一种宽列存储。对于真正的键值存储,谷歌提供了 App Engine 内存缓存服务,不过其支持仅限于 App Engine 标准环境。此外,从 2018 年 5 月起,谷歌在 Google Cloud Memorystore 中为完全托管的 Redis 实例提供了测试版支持。
2. Google Cloud Datastore 介绍
Google Cloud Datastore 于 2008 年首次发布,是 App Engine 应用程序事实上的数据持久化解决方案。App Engine 的设计理念是为开发者提供一个高度托管的应用平台,极大地简化了可扩展性和可靠性等难题。这就意味着配套的数据持久化解决方案也需要具备类似的特性。
App Engine 的一个重要理念是,开发者可以构建在任何规模下都能良好运行的简单应用程序。这使得以简单且经济高效的方式构建和运行