使用Amazon Aurora Limitless Database实现自动水平扩展

Amazon Aurora Limitless Database 预览发布

AWS 近日宣布了 Amazon Aurora Limitless Database 的预览版,这是一项支持自动化水平扩展的新功能,能够处理每秒数百万次写入事务,并在单个 Aurora 数据库中管理 PB 级数据。

架构与组成

Amazon Aurora Limitless Database 采用两层架构,包含多个数据库节点,分为事务路由器分片

  • 分片:每个分片是一个 Aurora PostgreSQL 数据库实例,存储数据库数据的子集,支持并行处理以提高写入吞吐量。
  • 事务路由器:管理数据库的分布式特性,向客户端呈现单一数据库视图。

关键功能

  1. 事务路由器的职责

    • 存储数据位置的元数据。
    • 处理传入的 SQL 命令并将其转发到分片。
    • 聚合分片数据以生成统一结果。
    • 监督分布式事务,确保整个分布式数据库的一致性。
  2. 节点与端点
    所有节点都属于一个数据库分片组,并通过一个独特的端点访问 Limitless Database 资源。开发者可以使用 psql 或其他 PostgreSQL 连接工具连接到该端点(称为“Limitless 端点”)。
  3. 表类型

    • 分片表:通过指定的分片键将数据分布到多个分片。
    • 参考表:确保每个分片上都有完整数据,以优化连接查询的性能。

数据操作

开发者可以在创建分片表或参考表后,向 Aurora Limitless Database 加载大量数据,并使用标准 PostgreSQL 查询操作这些表中的数据。

技术实现细节

AWS 内部技术人员在 Hacker News 上解释了 Aurora Limitless Database 的部分实现细节:

  • 基于数据库优化的虚拟化技术(Caspian)。
  • 扩展的日志优先数据库存储技术(Grover)。
  • 利用 EC2 中高精度硬件时钟的跨分片事务处理技术。

目标用户与定价

在 Reddit 上,有用户评论认为 Aurora Limitless Database 可能更适合中小型企业,这些企业可能缺乏处理大规模数据的经验,但同时也指出此类托管服务的费用可能较高。

预览与申请

Aurora Limitless Database 目前处于有限预览阶段,开发者可以通过报名表申请体验。

总结

Amazon Aurora Limitless Database 是 AWS 推出的一项创新数据库服务,通过分布式架构和自动化扩展能力,支持超大规模数据处理和高并发写入,适用于需要处理海量数据和复杂事务的场景。

阅读 32
0 条评论