数据库是每个程序的关键组成部分,无论它是托管在本地还是在云中。
由于对云托管的需求不断增加,越来越需要提供一致性、可靠性和可用性以及支持在线部署的基于云的关系数据库。
基于云的数据库的一个例子是 Google Cloud Spanner。
让我们在本文中深入研究 Google Cloud Spanner,包括其所有功能、用例、价格和其他详细信息。
什么是 谷歌云扳手?
采用 NewSQL 方法的关系 DBMS 是 Google Cloud Spanner。 它确保了 ACID(原子性、一致性、隔离性和持久性)合规性,特别适用于 OLTP(在线事务处理)。
它仍然支持横向扩展架构并且非常可扩展,很像 NoSQL 系统。 通过横向扩展设计,可以很容易地向现有集群添加更多节点,以便分布数据存储和计算并实现可扩展性。
NoSQL 和 NewSQL 的优势均由 Google Cloud Spanner 提供。
TrueTime 是 Google 的全球同步时钟,是 Google Spanner 一致性的基础。 Google 创建了 TrueTime,这是一个广泛分布且高度可用的全球时钟,可供所有 Google 云服务和服务器访问。
TrueTime 确保新创建的时间戳,比如 T1,将始终高于任何时间戳 T2,只要 T2 是在 T1 之前生成的。 因此,True-time 能够生成单调增长的时间戳,这意味着它们将在整个域中不断上升。
然后应用程序可以使用它来为他们的每个事务提供独特的、上升的时间戳。 发布到 Google Cloud Spanner 的每条数据都会使用 TrueTime 接收一个时间戳,这个时间戳在全球范围内都是可靠的。
这意味着保存在 Spanner 中的每个事务都会有一个与之关联的特殊时间戳,它记录了 Spanner 处理事务的精确时刻。
在这些时间戳的帮助下,Google Cloud Spanner 可以在世界任何地方提供可靠的读取,而不会阻止任何写入。
此外,Google Cloud Spanner 能够为其所有事务提供严格的并发控制。
虽然 Google Cloud Spanner 可能已经在许多位置执行(和/或复制)所有事务,但对于外部用户来说,它们似乎都是依次发生的,一个接一个。 换句话说,Google Cloud Spanner 充当外部用户的单机数据库。
全局时间戳顺序由 Google Cloud Spanner 提供,事务可用于后续操作和查询。 用户必须在之前的数据库系统中性能低下 + 更强的保证或出色的性能 + 较弱的保证之间做出决定。
但是,Google Cloud Spanner 可以提供可靠的保证、高交易完整性和更快的性能。 开发人员应该只关心确保他们的每个事务都是有效的以及他们的应用程序逻辑,而不是担心他们的许多事务之间的任何冲突或竞争。
特征
- 大多数应用程序都易于创建、集成和测试。
- 它可以被描述为 NewSQL 数据库,因为它同时支持 NoSQL 和 SQL,解决了传统 SQL 数据库的可扩展性和性能问题。
- 它的精度非常高,因为它使用原子钟和 GPS 技术同步时间。
- 支持跨表事务。
- 包括复杂的管理和管理功能,包括备份、恢复、创建 SLA 实例的能力等等。
- 对于本地和多区域实例,提供 99.999% 的可用性。
- 水平缩放顺畅,几乎没有障碍。 水平可扩展性的好处是,当添加额外的服务器时,系统的性能会显着提高。
- 为了构建单一的数据生命周期,它提供了实时大数据查询。
- 根据请求量和数据大小,自动分片数据。
- 尽管支持二级索引,但它不会自动选择二级索引。
- 跨许多设置和地理区域提供透明复制。
- 提供复杂的分析和数据。
- 来自不同应用程序的数据和 存储系统 是同步的。
- 数据库表之间的物理依赖是可能的。
- 对于持续的数据恢复,它提供了时间点恢复 (PITR)。 此外,您可以将数据检索到微秒级。
- 包括客户管理的加密密钥 (CMEK)、IAM 集成、数据层加密和其他企业级安全措施。
用例
1. 全球电子商务网站
订购产品、收款和更新库存都是定义电子商务的交易系统功能。 在许多电子商务网站上都可以看到大型的国家或全球足迹。
使事务数据库全局一致有几个优点,包括确保数据完整性和最大限度地减少对解决数据一致性问题的创造性软件工程解决方案的需求。
2. 实时处理分析
Google Cloud Spanner 包含许多有助于分析处理的尖端功能。 这些改进包括更好的查询速度、分区索引和数据加载等。 这使得该 RDBMS 成为完全基于云的全球分析处理系统的绝佳选择。
3. 灾难恢复 (DR)
DR 至关重要,但实施起来极具挑战性,特别是如果您坚持采用远距离 DR 位置以防范当地灾难的推荐做法。 实际上,许多 IT 公司创建备份并希望他们永远不需要它们。
对于 DR,Spanner 提供了一条实用的未来路线。 将 Spanner 数据库中的数据复制到远程位置将恢复应用程序,而无需使用备份磁带中的数据重建应用程序。
在其他位置创建新的计算机资源并将它们连接到备用 Spanner 数据库系统,以防主站点可用。 由于其简单性,DR 现在可供更多 IT 部门使用。
4. 减少人工干预,同时增加响应时间
当用户数量达到预定阈值水平时,典型数据库的性能会下降。 恢复性能需要许多阶段,包括评估性能测量和根据需要扩展数据库。
因为服务器有一个最大尺寸,所以水平扩展很困难,而垂直扩展很简单。 在这种情况下,Google Cloud Spanner 可能是一个实用的选择,因为它几乎不需要干预即可管理水平扩展。
5. 游戏数据库
需要复杂的数据库结构来跟踪在线游戏中的玩家表现和数据,尤其是多人游戏。 鉴于它经常需要分片,许多企业都在努力发展和管理这种复杂性。
此外,由于 NoSQL 数据库可以适应底层数据模型的变化,因此它们是游戏的绝佳选择。 冗余也是游戏软件的重要组成部分。
由于它支持所有这些特性, Google Spanner 是游戏数据库的合适选择。 我们相信,通过展示这些用例,您将能够了解 Google Cloud Spanner 的多功能性,并确定它是否适合您的业务。
6。 金融服务
该领域的监管限制和客户期望是一场完美风暴。 监管机构、银行和金融科技公司必须持续、完美地沟通。
此外,数以亿计的交易必须由支付网关等程序完美处理, 网上银行 同时还要经过复杂的反欺诈和结算程序。
过去,为了处理这种持续流入的数据,必须对历史数据库进行精心重构,并使用不稳定的自定义解决方案。 Google Cloud Spanner 可以轻松应对风暴。
局限性
然而,它有一定的局限性,包括无法处理数据库视图、缺乏精细的权限或角色设置,以及需要一些变通方法才能充分利用所有节点。 在做出选择时,请牢记这些限制。
定价
Spanner 的成本是直接且可预见的。 您只需为数据库表和二级索引使用的存储(未预配置)、备份存储、网络出口量和实例的计算容量(以节点数或处理单元数衡量)付费。
结论
作为一款真正令人惊叹的产品,Google Spanner 是 Google 强大技术实力的绝佳例证。
如果谷歌不断发布这种突破性的产品,它很快就会超越其他云计算公司,并成为竞争对手。
发表评论