一个介绍 AWS DocumentDB 的指南

针对无法扩展MongoDB的客户数量不断增加的情况,亚马逊已经实施了DocumentDB解决方案。

在DocumentDB中,通过自动化数据扩展,您可以轻松地从10GB扩展到64TB。让我们看看如何实现这一点。

什么是DocumentDB?

AWS DocumentDB是以前的MongoDB版本3.6的升级版。亚马逊感到有必要为大数据量和关键任务负载设计自己的解决方案。DocumentDB不使用任何MongoDB源代码。因此,它是一个亚马逊专有的实现。

DocumentDB和MongoDB一样,是一个文档存储引擎。 AWS DocumentDB是一个NoSQL database。文档存储引擎通常以JSON格式。也就是说,它索引JSON数据结构。Amazon DocumentDB是AWS的MongoDB解决方案,但与之不同。

在我们深入研究Amazon DocumentDB之前,了解NoSQL以及为什么它目前是下一个重大事件非常重要。

什么是NoSQL数据库?

NoSQL数据库之间没有相关的表(也就是“不只是SQL”)。大多数情况下,文档和图形是人们使用的两种主要类型。他们可以处理大量的数据和许多用户负载。

开发人员使用NoSQL数据库是为了性能,而不是存储。 NoSQL数据是半结构化和多态的,可以轻松容纳大量的非结构化数据。

除了NoSQL databases比关系数据库更一致之外,它们还更容易扩展并且需要更少的资源。与SQL数据库不同,NoSQL数据库可以堆叠。无模式的NoSQL数据库可以使用各种数据库项结构。

越来越多的开发人员开始在公共云上托管程序和数据。扩展而不是向上扩展,并智能地对数据进行地理定位是关键要求。这些都是MongoDB的特点。

各公司都在使用NoSQL。金融和医疗保健数据,例如,是重要的用例(例如,存储智能猫砂盒的IoT读数)。

为什么会有DocumentDB?

亚马逊提出这个想法是因为许多人在大规模运行MongoDB时遇到了麻烦。亚马逊认为,包括MongoDB Atlas在内的当前解决方案都无法解决客户的问题,因此他们自己想出了解决方案。

例如,DocumentDB允许您自动将数据库从10GB扩展到64TB,因此您无需做任何操作。在DocumentDB之前,开发这种数据非常困难。

亚马逊的解决方案还具有内置的容错能力。它会自动将您的存储空间分成10GB的块,分布在多个磁盘上。每个存储卷的10GB块在三个可用区中复制六次以进行备份。

最多可以丢失两个副本的数据,而不会影响写入可用性,也可以丢失三个文档而不会影响读取可用性。它还具有自我修复的存储能力。数据块和磁盘会自动检查错误并修复。

因为亚马逊托管此服务,所以大多数规则都已涵盖。它符合许多标准,包括PCI DSS和ISO 9001。它还符合SOC 1、SOC 2、SOC 3和HIPAA。

DocumentDB的好处

#1. 兼容MongoDB

Amazon DocumentDB与MongoDB 3.6和4.0驱动程序兼容。客户可以使用许多相同的应用程序、驱动程序和工具与Amazon DocumentDB一起使用。

Amazon DocumentDB使用Apache 2.0开源MongoDB 3.6和4.0 API来模拟MongoDB服务器。现在,具有关键任务的MongoDB应用程序所需的performance、可扩展性和可用性都可用。

#2. 监控

Amazon DocumentDB提供云数据库服务器的Amazon CloudWatch分析。 使用AWS管理控制台,您可以监视集群的计算和内存等性能方面。查询吞吐量,MongoDB操作计数和活动连接都包括在内。

#3. 延迟

Amazon DocumentDB支持JSON文档,多种数据类型和快速索引。 内存架构使服务能够快速评估大型文档上的查询。

#4. 访问控制

Amazon DocumentDB支持具有内置和定义角色的RBAC。 RBAC允许您通过限制用户的操作来实施最小特权。

作为AWS身份和访问管理(IAM)的一部分,您可以管理AWS IAM用户和组在Amazon DocumentDB资源(包括集群,实例,快照和参数组)上的操作权限。 您还可以为您的Amazon DocumentDB资源打标签并管理您的IAM用户和组。

#5. 加密

使用AWS密钥管理服务,您可以加密您的Amazon DocumentDB(KMS)数据库。

使用Amazon DocumentDB加密,底层存储中的数据以及集群中的自动备份,快照和副本都受到保护。 客户端到Amazon DocumentDB的连接会自动使用TLS进行加密。

#6. 合规认证

Amazon DocumentDB构建以最高的安全标准,以帮助您满足自己的监管和合规需求。 Amazon DocumentDB符合PCI DSS,ISO 9001,27001,27017和27018,SOC 1, 2和3,以及HIPAA。

#7. 具有高可用性的全局集群

Amazon DocumentDB全局集群支持全球读取和灾难恢复。 它将您的数据复制到最多五个AWS站点,对性能影响较小。

#8. 使用副本的多可用区部署

Amazon DocumentDB在三个可用区中最多具有15个副本,当一个副本失败时会自动切换实例。 在发生故障时,Amazon DocumentDB将尝试为其创建一个新实例。

#9. 容错和自修复存储

存储卷在三个可用区(AZ)中复制了六次。 Amazon DocumentDB提供容错存储,可以在不影响写入可用性的情况下处理最多两个副本的数据丢失。 Amazon DocumentDB的存储也是自修复的,可以替换失败的数据块和磁盘。

AWS DocumentDB常见问题

AWS DocumentDB是否与MongoDB相同?

除了快速,可扩展和完全托管外,Amazon DocumentDB(与MongoDB兼容)是一种完全托管的文档数据库服务,可与MongoDB工作负载一起使用。

JSON数据可以存储在Amazon DocumentDB中作为文档数据库。 您可以轻松存储,搜索和索引数据。

客户可以免费使用AWS数据库迁移服务(DMS)六个月,将他们的本地或Amazon Elastic Cloud(EC2)MongoDB非关系型数据库快速轻松地迁移到AWS数据库迁移服务(DMS),几乎没有停机时间。

Amazon DocumentDB如何工作?

Amazon DocumentDB以文档数据库的形式与Apache 2.0开源MongoDB 3.6和4.0 API进行交互。 因此,可以在Amazon DocumentDB中使用相同的MongoDB驱动程序,应用程序和工具,几乎无需更改。

Amazon DocumentDB如何扩展?

Amazon DocumentDB是一个可以从10GB扩展到64TB(每次增加10GB)的Web规模数据库。 通过添加额外的副本实例(最多15个)到集群中,可以垂直和水平扩展Amazon DocumentDB的存储和计算能力(用于更高的读取吞吐量)。

在设计方面,Amazon DocumentDB的主要特点是什么?

亚马逊文档数据库采用了云为先的架构来构建。这意味着可以轻松扩展 JSON 工作负载。

文档数据库设计的一个重要部分是将存储和处理分开,使每个部分可以按照自己的节奏增长。文档数据库拥有一个分布式、容错和自修复的存储系统。每个数据库集群最多可以存储64 TB的数据而无需拆分。

结论

文档数据库是亚马逊唯一的托管 MongoDB 兼容服务。亚马逊表示文档数据库的吞吐量是当前可用的 MongoDB 解决方案的两倍。另一种选择是在 EC2/EBS 上管理数据库,这是具有挑战性的。

如果您需要这些保证,请选择文档数据库,或者坚持使用 MongoDB。选择文档数据库的另一个原因是将所有内容保留在 AWS 中。

类似文章