MongoDB挑战传统数据库:非结构化数据库的迭新不容小觑
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MongoDB挑战传统数据库:非结构化数据库的迭新不容小觑相关的知识,希望对你有一定的参考价值。
参考技术A相比甲骨文中国在中国市场的裁员风波,同为数据库服务的MongoDB显得更为乐观。“MongoDB是中国开发者最喜欢用的一个数据库。”MongoDB全球渠道及亚太区销售高级副总裁Alan Chhabra带着一点自信和骄傲在媒体面前宣称。
中国企业的数字化转型正进入关键期,在打造开放、高效、灵活、共享的云计算基础设施的同时,数据库的更新换代也被提上了日程。
日前,非结构化数据库平台提供商MongoDB在上海举办用户大会,MongoDB全球渠道及亚太区销售高级副总裁Alan Chhabra接受了亿欧企业服务频道的采访, 并针对去年修改开源协议,在SSPL的不同许可机制下授权服务器软件的争议以及其他疑问作出回应。
数据库的本质是解决数据的存储和管理问题。 Alan Chhabra表示,对企业发展具有战略意义的数据库正在催生巨大的市场。
在这些潜力颇大的数据库中,市场上目前存在着的是关系型的传统数据库和以Mongo DB为代表的非关联式新型数据库。传统数据库比较典型的是甲骨文旗下的Oracle数据库、IBM推出的大数据平台Hadoop和Stream Computing、微软的SQL Server、SAP以及EMC Greenplum。 他们的主要差别在于数据库的结构化和非结构化。
结构化的数据是指可以使用关系型数据库表示和存储,表现为二维形式的数据,存储和排列很有规律,这对查询和修改等操作很有帮助,但扩展性和灵活性欠佳。 非结构化数据库就是各种文档、图片、视频/音频等没有固定结构的数据,一般直接整体进行存储为二进制的数据格式。 目前涵盖分布式数据库、图数据库、流数据库、时空数据库和众包数据库等多个领域。
MongoDB是文档型的非结构化新型数据库,Alan Chhabra表示, 与传统数据库相比,更能满足用户数据存储量大、计算灵活的需求。“在某些客户某些案例上,我们已经取代了传统数据库,比如甲骨文。”
当前, 软件对于商业模式的改变、开发人员地位的提高,以及企业向云端迁移的趋势 都让数据服务公司的发展得到了助力。但从毕马威会计事务所对首席信息官的调查结果来看, 88%的首席信息官认为他们未能从数字化战略中充分获益;82%的首席信息官认为其所在机构在利用技术推动业务发展方面并非“卓有成效”。 也就是说, 大多数公司的数字化战略是以失败告终的。
在此背景下,更加灵活、性能更加强大的新型数据库在一些领域获得了试验田丰收,并且可以看到,随着客户数据需求的繁杂程度的日益增加,传统数据库也在自我革新,以迎头赶上数据浪潮的大变革。
MongoDB成立于2007年,2017年在纳斯达克上市。最初,MongoDB是一项面向技术爱好者的技术,如今已成为一项企业级的业务关键技术。通过不断开发数据库即服务(Database-as-a-Service)产品,积极拥抱云计算,MongoDB在过去十年里,为开发人员提供了处理数据的方法。正因如此,它也成了企业数字化转型战略的一个关键部分。
MongoDB提供的产品主要包括MongoDB云服务MongoDB Atlas、MongoDB Mobile、MongoDB企业版和MongoDB Stitch等十余个相关产品。Alan Chhabra表示,产品包括了 开源版、付费版和云版。
2018 年 10 月,MongoDB宣布其开源许可证将从GNU AGPLv3切换到SSPL,新许可证将适用于新版本的MongoDB Community Server以及打过补丁的旧版本,这一举动引发了行业热议。基于GNU AGPLv3协议,企业可以将MongoDB作为公共服务但这需要企业开源自己的软件或是获得MongoDB的商业授权,事实却是MongoDB发现许多企业正在违反协议“疯狂试探”甚至已经违反协议。 SSPL( Server Side Public License)顾名思义,要求使用者必须得到服务器端公共许可证,这一协议会进一步约束商业公司使用MongoDB服务。
Alan Chhabra向亿欧解释, SSPL 针对的是提供MongoDB托管服务的云服务厂商。 也就是说,如果不是云服务厂商,没有公然售卖MongoDB产品,而只是作为应用后台数据库来使用的话,那么无论你是电商、物联网、金融、社交、 游戏 、移动应用等等,一概都不会有任何影响。 “MongoDB的宗旨还是为了始终支持并保护创新开放。”
但此开源协议的修改明显带来了市场用户的“掉粉”,比如Linux 社区的接连“弃用”,以及AWS 、IBM、微软推出了兼容MongoDB的相关产品来服务用户。
数据库开源的商业变现与创新形成的矛盾,目前似乎还尚未找到解决方案。
Alan Chhabra在大会上也透露了MongoDB的未来计划, 即将基于智能运营数据平台和下一代基础架构、文化、方法论和安全,推动原有系统的现代化、数据即服务、云数据策略、业务敏捷性,进而帮助客户实现以数据驱动的数字化转型。
针对MongoDB在中国的发展情况, Alan Chhabra表示,公司将以创新立足,持续引领数据库技术发展潮流,与合作伙伴携手助力中国企业的数字化转型。
MongoDB北亚区副总裁苏玉龙认为:“中国是数据大国,而数据就是未来的石油。如何利用好数据,让数据石油助力中国企业腾飞是MongoDB希望在中国达成的事情。随着中国企业数字化转型逐渐走向深入,MongoDB数据库的价值得到不断释放。”
本文作者龚晨霞,微信Gcx847076575,欢迎关注企业服务和产业互联网的朋友加微信交流。
mongodb与mysql传统的关系数据库区别
转自:易百教程
MongoDB中的数据具有灵活的模式。文档在同一集合,但它们不需要具有相同的字段或结构集合,集合文档中的公共字段可以包含不同类型的数据。
MongoDB中的数据具有灵活的模式。与SQL数据库不同,SQL数据库必须在插入数据之前确定和声明表的模式,MongoDB的集合不会强制执行文档结构。这种灵活性有助于将文档映射到实体或对象。 每个文档可以匹配表示实体的数据字段,即使数据具有实质性的变化。然而,集合中的文档具有类似的结构。
数据建模中的关键挑战是平衡应用程序的需求,数据库引擎的性能特征和数据检索模式。 在设计数据模型时,请始终考虑数据的应用程序使用情况(即数据的查询,更新和处理)以及数据本身的固有结构。
在MongoDB中设计架构时有一些考虑:
- 根据用户要求设计架构。
- 将对象合并到一个文档中,否则分开它们(但确保不需要连接)。
- 复制数据(但有限制),因为与计算时间相比,磁盘空间便宜。
- 在写入时加入,而不是读取时加入。
- 为最常用的用例优化架构。
- 在模式中执行复杂聚合。
实例
假设客户需要他的博客/网站的数据库设计,并查看RDBMS和MongoDB架构设计之间的区别。网站有以下要求。
- 每个帖子都有唯一的标题,描述和网址。
- 每个帖子都可以有一个或多个标签。
- 每个帖子都有其发布者的名称和总人数。
- 每个帖子都有用户给出的评论以及他们的姓名,消息,数据时间和喜好。
- 每个帖子可以有零个或多个评论。
在RDBMS架构中,上述要求的设计将具有最少的三个表。表与表之间的关系如下 -
而在MongoDB模式中,设计将有一个集合post
,其结构以下 -
{ _id: POST_ID title: TITLE_OF_POST, description: POST_DESCRIPTION, by: POST_BY, url: URL_OF_POST, tags: [TAG1, TAG2, TAG3], likes: TOTAL_LIKES, comments: [ { user:‘COMMENT_BY‘, message: TEXT, dateCreated: DATE_TIME, like: LIKES }, { user:‘COMMENT_BY‘, message: TEXT, dateCreated: DATE_TIME, like: LIKES } ] }
通过上面的示例说明可以知道,在显示数据时,在RDBMS中需要连接三个表,而在MongoDB中,数据将仅显示在一个集合中。
以上是关于MongoDB挑战传统数据库:非结构化数据库的迭新不容小觑的主要内容,如果未能解决你的问题,请参考以下文章