写点什么

Amazon DocumentDB(兼容 MongoDB):快速、可扩展、高度可用

  • 2019-10-10
  • 本文字数:2107 字

    阅读完需:约 7 分钟

Amazon DocumentDB(兼容 MongoDB):快速、可扩展、高度可用

快速浏览一下 AWS 数据库页面,您将发现我们竟然提供这么多种类的数据库,每种都专为满足特定的需求而构建! 为帮助您构建最酷、最强大的应用程序,您可以将关系数据库、键值数据库、内存中数据库、图形数据库、时序收据开和分类账数据库进行各种组合配伍。


隆重推出 Amazon DocumentDB(兼容 MongoDB)


今天,我们隆重推出 Amazon DocumentDB(兼容 MongoDB),这是一种高可用性的文档数据库,与您现有的 MongoDB 应用程序和工具兼容。Amazon DocumentDB 采用基于专用 SSD 的存储层,跨 3 个独立可用区提供 6 个副本。存储层采用分布式容错设计,具有自我修复功能,提供了运行生产级 MongoDB 工作负载所需的性能、可扩展性和可用性。


每个 MongoDB 数据库都包含一组集合。每个集合(与关系数据库表类似)都包含一组文档,这些文档都采用类似于 JSON 的 BSON 格式。例如:


{  name: "jeff",  full_name: {first: "jeff", last: "barr"},  title: "VP, AWS Evangelism",  email: "jbarr@amazon.com",  city: "Seattle",  foods: ["chocolate", "peanut butter"]}
复制代码


每份文档都可以有一个唯一的键值对和数据集;没有固定或预定义的架构。MongoDB API 包括常用的 CRUD(创建、读取、更新和删除)运算以及十分丰富的查询模型。而这仅仅是 MongoDB API 强大、灵活功能的冰山一角,更多信息请查看支持的 MongoDB 运算、数据类型和函数。


Amazon DocumentDB 详解


以下是有关 Amazon DocumentDB 的一些重要信息:


兼容性 — Amazon DocumentDB 兼容 MongoDB 版本 3.6。


可扩展性 — 存储可从 10GB 扩展至 64TB,扩展增量为 10GB。您无需预配置存储或监控剩余空间;Amazon DocumentDB 将为您搞定一切。共有六种实例大小可供选择(内存 15.25GiB 至 488GiB),最高可以创建 15 个只读副本。存储与计算解耦,因此您可以根据需要分别独立扩展。


性能 – Amazon DocumentDB 将数据库的更改作为日志流存储,从而能够以毫秒级的延迟实现每秒数百万条读取请求的处理能力。存储模型在不牺牲数据持久性的情况下显著提高了性能,同时又极大地增强了总体可扩展性。


可靠性 — 6 重存储复制确保了高可靠性。Amazon DocumentDB 可以在 30 秒内内从主实例故障转移至副本,此外它还支持 MongoDB 复制集仿真,从而确保应用程序可以快速处理故障转移。


完全托管 — 与其他 AWS 数据库产品一样,Amazon DocumentDB 是一项完全托管的服务,内置监控、故障检测和故障转移功能。您可以设置每日快照备份,手动拍摄快照,以及在必要时使用任何一种快照创建全新的集群。此外,您还可以通过时间点还原功能,(以秒级精度)还原到 1-35 天备份保留期内的任何时间点。


安全性 — 您可以在创建每个 Amazon DocumentDB 集群时,选择使用自己选择的 KMS 密钥,将活动数据、快照和副本加密。身份验证功能默认启用,传输中数据加密功能也同样默认启用。


兼容性 — 正如我在前面所提到,Amazon DocumentDB 以支持现有的 MongoDB 应用程序和工具为出发点设计。请放心使用针对 MongoDB 3.4 或更新版本的驱动程序。通过模拟 MongoDB 客户端预计将从 MongoDB 服务器收到的响应,Amazon DocumentDB 在内部实现了 MongoDB 3.6 API。


创建 Amazon DocumentDB(兼容 MongoDB)集群


您可以从控制台、命令行、CloudFormation 或者通过调用 CreateDBCluster 函数来创建集群。今天我将使用 Amazon DocumentDB 控制台。我将打开控制台并单击启动 Amazon DocumentDB 以开始使用:



我给集群取一个名字,选择实例类,指定实例的数量(一个为主实例,其余的为副本)。然后我会输入主用户名和密码:



我可以为我的集群使用以下任何一种实例类:



然后我可以单击创建集群以使用默认设置,我也可以单击显示高级设置以进行更多控制。我可以选择任何需要的 VPC、子网和安全组。我还可以设置集群的端口和参数组:



我可以控制加密(默认启用),设置备份保留期限,建立时间点还原的备份窗口期:



我还可以控制新集群的维护窗口期。一切准备就绪后,我将单击创建集群继续:



我的集群首先将处于 creating(正在创建)状态,然后很快切换到 available(可用)状态:



集群中的实例也同样如此:



连接到集群


集群启动并运行后,我会在一个 EC2 实例上安装 mongo shell(详情取决于您的分配)并获取证书,从而可以建立安全连接:


$ wget https://s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem


控制台将显示建立连接所需的命令:



我使用我在创建集群时指定的密码对该命令进行简单自定义:



然后我可以使用任何 mongo shell 命令来插入、查询和检查数据。我插入一些非常简单的文档,然后运行同样非常简单的查询(我敢肯定您会做得更好):



现已推出


Amazon DocumentDB(兼容 MongoDB)现已推出,您可以立即在美国东部(弗吉尼亚北部)、美国东部(俄亥俄)、美国西部(俄勒冈)以及欧洲(爱尔兰)区域开始使用它。定价基于实例类、当前文档和快照的存储消耗、I/O 操作以及数据传输等。


作者介绍:


Jeff Barr


AWS 首席布道师; 2004 年开始发布博客,此后便笔耕不辍。


本文转载自 AWS 技术博客。


原文链接:


https://amazonaws-china.com/cn/blogs/china/new-amazon-documentdb-with-mongodb-compatibility-fast-scalable-and-highly-available/


2019-10-10 14:32785
用户头像

发布了 1849 篇内容, 共 114.9 次阅读, 收获喜欢 78 次。

关注

评论

发布
暂无评论
发现更多内容

JavaScript原型机制

Clloz

Java 原型

我的 2020 iOS BAT面试心得:Bigo、字节、快手、伴鱼、百度、微博等

iOSer

ios 面试

分布式数据库拆分常用之法

华为云开发者联盟

数据库 架构 分布式

高效程序员的45个习惯:敏捷开发修炼之道(8)

石云升

敏捷开发 技术分享 轮换制

Golang框架探索(一)

余歌

Web框架 Go web

rpc探路(一)

余歌

springboot2.3手册:多租户及自动创建数据,这样做

互联网应用架构

springboot mybaitsplus 多租户 自动填充基础信息

大作业2

雪涛公子

使用递增计数器的线程同步工具 —— 信号量,它的原理是什么样子的?

程序员小航

Java 源码 源码阅读 JUC Semaphore

架构设计:微服务架构如何划分?这6个标准原则让你一目了然

互联网应用架构

微服务 架构设计

实践解读丨Python 面向对象三大特征之多态

华为云开发者联盟

编程 面向对象

智能商业时代的思考(三)数据驱动

刘旭东

大数据 数据驱动 智能商业

科大讯飞再握一国产核心技术,可高精细拾取30分贝超小音量

Talk A.I.

Java ConcurrentHashMap 高并发安全实现原理解析

vivo互联网技术

Java hashmap 多线程 高并发

站在巨人的肩膀上学习:五位阿里大牛联手撰写的《深入浅出Java多线程》

Java架构之路

Java 编程 面试 并发编程 多线程

收藏手册:Docker安装RabbitMQ,只需3步

互联网应用架构

Docker RabbitMQ

测试工程师在敏捷项目中扮演什么角色?

禅道项目管理

程序员 敏捷开发 测试

超全面分布式缓存高可用方案:哨兵机制

架构精进之路

redis哨兵模式

java安全编码指南之:输入校验

程序那些事

java安全编码 安全编码规范 java安全编码指南

RDS、DDS和GaussDB理不清?看这一篇足够了!

华为云开发者联盟

数据库 华为云 RDS

Golang 反射性能优化

余歌

性能优化 Go 语言

(0)skynet序章

休比

当代开发者的好帮手,浅析.NET敏捷开发框架的优势与特点

Learun

敏捷开发 开发工具

拆分链表、图解HTTPS、Zookeeper原理、如何成为技术专家、架构师三板斧 John 易筋 ARTS 打卡 Week 18

John(易筋)

ARTS 打卡计划 图解https ZooKeeper原理 架构师三板斧 拆分链表

高难度对话读书笔记

wo是一棵草

Java开发连Redis都不会还想跳槽涨薪?先把Redis的知识点吃透再说

Java架构之路

Java redis 编程 程序员 面试

第十一周.命题作业

刘璐

从linux源码看socket的阻塞和非阻塞

无毁的湖光

Linux TCP socket Linux Kenel

收藏手册:该不该用Lombok?15个常用注解全解析

互联网应用架构

lombok

Java新特性:数据类型可以扔掉了?

Java 编程 架构师

Kotlin 插件1.4.10使用报错

三爻

android kotlin

Amazon DocumentDB(兼容 MongoDB):快速、可扩展、高度可用_语言 & 开发_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章