mongodb模糊查询_AWS 回击了!推出兼容 MongoDB 的 DocumentDB

6f9facc0dc2a5b7285c40746627cfd26.png

2018 年 10 月,MongoDB 将其开源许可证从 GNU AGPLv3 切换到 Server Side Public License(SSPL),并明确指出之所以会更改开源协议是因为部分云计算公司在使用 MongoDB 的时候没有遵循其开源协议。

2019 年 1 月 9 日,AWS 宣布推出 Amazon DocumentDB,一个兼容 MongoDB 的数据库。据 AWS 官网介绍,Amazon DocumentDB 是一种可支持 MongoDB 工作负载的快速、可扩展、高可用并完全托管的文档数据库服务。开发人员可以像现在一样使用 MongoDB 应用程序代码、驱动程序和工具来运行、管理和扩展 Amazon DocumentDB 上的工作负载,并享受更好的性能、可扩展性和可用性,而无需担心管理底层基础设施。

即使 MongoDB 更改协议,这块蛋糕 AWS 也想照吃不误?

事实上,MongoDB 修改开源协议要针对的对象很明确就是云厂商,而 AWS 发布 Amazon DocumentDB 的这一举动无疑是对 MongoDB 的一次回应:既然你不爽我直接用 MongoDB,那没关系我自己开发一个数据库。

为什么 AWS 要死盯着 MongoDB 的市场呢?根据 DB-Engines 发布的数据库流行度,MongoDB 目前排在第五位,如果缩小范围到开源数据库,MongoDB 排在第三位(前两位为 MySQL 和 PostgreSQL),如果范围缩小到文档存储数据库,那么 MongoDB 是大幅度领跑的。因此,云厂商在提供云数据库服务时,MongoDB 自然就成为了必选,如果不选,那么就意味着会有一大批客户会转到竞争对手那里或者直接流失掉。

AWS 推出 Amazon DocumentDB 仅仅只是要克隆一个 MongoDB 吗?显然并不是,因为 MongoDB 在使用时很容易报错,有人调侃,MongoDB 出错都不是一个 Bug,而是它的特性。AWS 官方也印证了这一点:

  • MongoDB 的 API 和表达性语言查询虽然可以帮助客户快速构建应用程序,但是实际情况是客户往往只需要 API 提供的一小部分功能;
  • 有客户反馈在 MongoDB 上构建高性能、高可用性的应用程序非常困难,原因是设置和管理 MongoDB 集群实在太复杂了。有的应用程序可能需要每秒快速扩展到多兆字节(tbs)和数十万次读写,因此,客户不得不花费大量的时间和费用来管理大规模的 MongoDB 集群;
  • 与本地部署一样,MongoDB 托管系统也面临着数据复制的挑战,而且在发生故障之后往往需要很长的恢复时间。

很显然,AWS 的野心并不只是要克隆一个 MongoDB,而是要做一个兼容 MongoDB 并且优于 MongoDB 的数据库产品。

之前的 MongoDB 如何迁移到 Amazon DocumentDB 呢?

相信在听到这个消息之后,很多人的第一反应都是“之前的 MongoDB 如何迁移到 Amazon DocumentDB 呢?”AWS 官方称,客户可以使用 AWS 数据库迁移服务(DMS)轻松地将其本地或 EC2 MongoDB 数据库迁移到 Amazon DocumentDB。Amazon DocumentDB 通过模拟 MongoDB 客户端对 MongoDB 服务器的响应来实现 Apache 2.0 open source MongoDB 3.6 API,允许客户将现有的 MongoDB 驱动程序和工具与 Amazon DocumentDB 一起使用。

前文我们提到了 AWS 想做的一个优于 MongoDB 的数据库产品,那么具体会体现在哪里呢?

  • Amazon DocumentDB 采用了分布式、容错、自我修复的存储系统,集群可自动扩展到 64 TB,客户无需为容量规划而担心;
  • Amazon DocumentDB 只会将数据库更改写入存储层,从而减少了数据库 I/O,避免了跨网络链接的低效数据复制;
  • Amazon DocumentDB 在高级查询处理、连接池、恢复、重建等方面做了优化,吞吐量可达当前 MongoDB 解决方案的两倍;
  • Amazon DocumentDB 采用了存储和计算分离的架构,允许独立扩展,开发者可在几分钟内添加 15 个低延迟读取副本(无需考虑数据大小),读取容量可提升至每秒数百万个请求。
  • Amazon DocumentDB 采用了 AWS 多可用区技术,可在 AWS 的三个 AZ 之间复制六份数据,可用性高达 99.99%。

在费用方面,AWS 也给出了解答,使用 Amazon DocumentDB 不需要预先付费,按使用量付费即可。

开源如何才能走出一条更好的路径呢?

开源运动轰轰烈烈的进行了近 30 年,在技术创新和发展方面取得了一些成绩,但是在商业变现方面至今也没有探索出一条比较好的路径。笔者在和专家交流时也赞同了这个观点,“微软 75 亿收购 GitHub,这可能是开源商业变现最具参考的例子了,但是大家也只是有了一个模糊的概念:多少行代码、多少开发者对应多少钱,并没有真正探索出开源变现的路径。”

开源项目、商业公司和用户其实是一个三方矛盾的存在。开源项目并非是天上掉馅饼,也是要烧钱、花精力的,MongoDB 首席执行官 Dev Ittycheria 就曾表示,过去十年,在 MongoDB 的研发上投入了 3 亿美元,所以开源项目背后的公司自然希望能够源码货币化,甚至是可以独家货币化。对于用户来说,他们只希望能在自己的系统中大规模运行源码,并且能够解决他们现阶段的业务问题,提供性能,减少成本。而对于商业公司来说,就要平衡这两方的矛盾。

以 Amazon DocumentDB 和 MongoDB 为例,如果未来 Amazon DocumentDB 在 AWS 的用户中取得了成功,那么 AWS 又将如何管理基于开源项目的服务呢?AWS 表示,当我们选择推出基于开源项目的服务时,就做好了长期维护的准备,并且我们也会大力贡献于此开源项目。

如果此次 Amazon DocumentDB 和 MongoDB 能够长期稳定运行下去,那么会不会为开源项目趟出一条更好的路径呢?

参考链接:https://press.aboutamazon.com/news-releases/news-release-details/aws-announces-amazon-documentdb-mongodb-compatibility

(文章版权归极客邦科技 InfoQ 所有,未经许可不得转载。)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/261818.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MyEclipse6.5与Perforce的集成

perforce插件下载地址http://www.perforce.com/downloads/http/p4-wsad/install/3.4 转载于:https://www.cnblogs.com/xinzhuangzi/archive/2010/08/29/4100531.html

琴岛学院计算机应用技术,我院计算机工程系成功晋级“中国高校计算机大赛-网络技术挑战赛”全国总决赛...

2017年7月22日,由教育部高等学校计算机类专业教学指导委员会、教育部高等学校软件工程专业教学指导委员会、教育部高等学校大学计算机课程教学指导委员会和全国高等学校计算机教育研究会联合主办的“中国高校计算机大赛”首届网络技术挑战赛于济南大学举办。青岛理工…

C语言宏定义##连接符和#符的使用及其它宏定义注意事项

C语言中如何使用宏C(和C)中的宏(Macro)属于编译器预处理的范畴,属于编译期概念(而非运行期概念)。下面对常遇到的宏的使用问题做了简单总结。 关于#和## 在C语言的宏中,#的功能是将其…

Android L 的 Tint(着色)

Tint 是什么? Tint 翻译为着色。 着色,着什么色呢,和背景有关?当然是着背景的色。当我们开发 App 的时候,如果使用了 Theme.AppCompat 主题的时候,会发现 ActionBar 或者 Toolbar 及相应的控件的颜色会相应…

python 调用函数 开销_Python函数调用非常慢

这主要是为了确保我的方法是正确的,但我的基本问题是,如果我需要访问函数,那么检查函数外部是否值得.我知道,我知道,过早优化,但在很多情况下,它在函数调用中放置一个if语句以确定是否需要运行其余代码,或者将它放在函数调用之前.换句话说,它不会以任何方式做到这一点.现在,所有…

机房收费系统讨论

在假期快要结束的时候,我们大家一起讨论了各自的机房收费系统.轮流的看了每个人的作品.我们是分两个组看得. 说说看这次作品的感受吧. 大家作品都做得很认真.由于都是第一次做作品,而且还是第一次自己独立的完成一个较大的作品. 基本功能大家可是说是都实现了.我个人的作品现在…

《从零开始学Swift》学习笔记(Day 66)——Cocoa Touch设计模式及应用之通知机制...

原创文章,欢迎转载。转载请注明:关东升的博客 通知(Notification)机制是基于观察者(Observer)模式也叫发布/订阅(Publish/Subscribe)模式,是 MVC(模型-视图-控…

医学计算机应用研究的意义,医学图像感兴趣区域的自动提取-计算机应用研究.PDF...

医学图像感兴趣区域的自动提取-计算机应用研究第 12 期 何 楚等: 医学图像感兴趣区域的自动提取 157 医学图像感兴趣区域的自动提取*何 楚, 彭文敏, 李吉星, 廖孟扬( 武汉大学 电子信息学院, 湖北 武汉 430072)摘 要: 针对医学图像归档与通信系统通过视频采集和胶片扫描产生的海…

JUnit3 一次运行多个测试类和进行多次重复测试:使用测试套件和RepeatedTest

测试套件 如果测试类写到很多,每次要进行测试,难道要重新点击每一个测试类来运行?如果有200个测试类要测试呢? 为了解决这个问题,引入了测试套件(TestSuite)。 通过将多个测试放入套件中&#x…

DataGridView控件初始化,添加删除行(不绑定数据库)

转载: http://blog.163.com/zjlovety126/blog/static/2241862420106128264300/ 也不知道是否该应用这个控件,不过也想不出该用其他什么控件,关键是俺比较菜没什么经验。 要求是这样的,用户一次添加一个任务,这个任务有…

mysql 不同分区 同时insert_Mysql分区表的原理和优缺点

分区表的原理分区表是由多个相关的底层表实现,这些底层表也是由句柄对象表示,所以我们也可以直接访问各个分区,存储引擎管理分区的各个底层表和管理普通表一样(所有的底层表都必须使用相同的存储引擎),分区表的索引只是在各个底层…

计算机应用 范文,计算机应用基础(范文).doc

第 PAGE \* Arabic 1 页计算机应用基础(范文)PAGE计算机应用基础5一、单选题1、第一台电子计算机是1946年在美国研制成功的,该机的英文缩写名是_ A:ENIAC _____。2、关于计算机的分类方法有多种,下列选项中不属于按计算机处理数据的方式进行分…

架构漫谈(八):从架构的角度看如何写好代码

2016-03-03 王概凯Kevin 聊聊架构架构漫谈是由资深架构师王概凯Kevin执笔的系列专栏,专栏将会以Kevin的架构经验为基础,逐步讨论什么是架构、怎样做好架构、软件架构如何落地、如何写好程序等问题。 本文是漫谈架构专栏的第八篇,作者Kevin举例…

大理三塔,及崇圣寺里的假深沉

大理三塔,及崇圣寺里的假深沉 记得我第一次看见三塔时,是一副破败不堪的景象。而第二次来大理时,因为“崇圣寺”正在修葺,只能远远地眺望一下三塔。那时我对大理失望极了。 现在三塔修缮一新,给人耳目一新的感觉。 三塔…

WCF三种通信模式(转)

一、概述 WCF在通信过程中有三种模式:请求与答复、单向、双工通信。以下我们一一介绍。 二、请求与答复模式 描述: 客户端发送请求,然后一直等待服务端的响应(异步调用除外),期间处于假死状态,直到服务端有了答复后才能…

python语言打印菱形_Python打印菱形

使用python打印出菱形:*************************思想:平常我写这种代码的时候,总是自然地使用二层循环,今天老师教了一个特别好的方法,化二维为一维。我觉得代码优化是很重要的,所以把它写下来&#xff0c…

计算机软件及应用stata,蒙特卡洛模拟及其Stata应用实现

蒙特卡洛模拟及其Stata应用实现出版时间:2015年版丛编项:海南大学经济管理系列丛书内容简介《蒙特卡洛模拟及其Stata应用实现》的第1章是Stata软件基础,主要介绍了Stata软件的一些基本功能与操作。第2章介绍了Stata软件的语法结构&#xff0c…

第一个程序,Hello World

在eclipse里新建一个project,选Android-Android Project 然后Next,继续 解释一下 Package Name:这个学过编程的人都应该熟悉了,类似于namespace,你定义的所有东西都在一个包里不会和别的包出现重命名的问题等等,不多说…

Hadoop2.6集群动态添加和删除数据节点

2019独角兽企业重金招聘Python工程师标准>>> 开始之前,应该把所有新增数据节点上的Hadoop环境都配置好(如果要直接复制已经存在节点的hadoop文件夹,应该删掉里面已经产生的集群数据,比如tmp和data目录,不然…

读操作系统的设计与实现--进程互斥

1.竞争条件 当两个或多个进程读写某些共享数据时,而最后的结果取决于进程的运行顺序时,这就称为竞争条件。包含竞争条件的程序,大多数时候运行结果良好,但是往往会发生一些无法解释的结果。事实上,只要涉及到共享资源的…