MongoDB的NoSQL数据库如何侵占关系型数据库的地盘

121 阅读9分钟

MongoDB的NoSQL数据库如何侵占关系型数据库的地盘

  • Share on Facebook
  • Share on Twitter
  • Share on LinkedIn
  • Share on Reddit
  • Share by Email
  • Print resource

在克服了早期的批评并确保了作为一个领先的NoSQL文档数据库的地位之后,MongoDB似乎正在采取措施,将其用户群从开发者扩大到传统的数据库专业人士。

在本周于纽约举行的MongoDB World年度会议上,该公司宣布了其产品的一系列新功能,包括其旗舰数据库MongoDB 6.0的新版本,以及增强的分析能力,其Atlas数据库即服务(DBaaS)的数据湖,和查询加密数据的能力。

一些新的功能,主要是为了缓解开发人员的痛点,同时解决它面临的来自传统关系型数据库的一些挑战,可以被看作是重新开始的扩大其吸引力和蚕食SQL领地的重大活动的开始动作。

数据和分析咨询公司dbInsight的首席分析师Tony Baer说:"[今年的公告]的公开主题仍然是迎合开发者,"。"但是,为了实现公司向企业高端市场进军的愿望,它需要将其受众扩大到传统的数据库专业人士。它正在朝这个方向采取一些初步的行动,但MongoDB还没有实现这一转变。"

Baer的观点似乎是合理的,因为该公司一直在谈论赢得一直使用关系型数据库的IT专业人士的机会,本周还宣布了一些传统上与SQL数据库相关的功能。

首席执行官Dev Ittycheria在本月初讨论该公司2023财年第一季度业绩的财报电话会议上说,他预计该公司的增长将继续下去,主要是因为开发人员开始看到关系型数据库无法满足他们的所有需求,这些数据库有其自身的局限。

"为了弥补关系型数据库的局限性,出现了点解决方案数据库的激增,"Ittycheria说。Ittycheria说:"使用点解决方案创造了一个脱节的开发者体验,一个具有多个数据孤岛的复杂得多的架构,为了管理和支持无数不同的技术,成本也更高。"他建议MongoDB可以作为一个单一的解决方案。

该公司的最新公告包括新的分析能力,一套统一的Atlas功能,以及查询加密数据的能力。

MongoDB增加了应用内分析支持

MongoDB通过整合一个被称为列存储索引的功能,增加了对应用内分析的支持,该功能将在今年晚些时候推出。

该公司表示,列存储索引旨在使用户能够创建和维护一个专门的索引,这将有助于加快许多常见的分析查询,而不需要对文件结构进行任何改变,也不需要将数据转移到另一个系统。

解决分析需求的列存储在关系型数据库中相当普遍。

"Constellation Research的首席分析师Doug Henschen说:"这是MongoDB解决使用情况的一个例子,以前可能会导致开发人员考虑关系型的替代方案。

该公司还表示,开发人员现在可以单独扩展分析节点,这将使团队能够独立调整其操作和分析查询的性能,而不需要过度或不足。

Henschen说,这也是关系型产品的常见做法,特别是那些专注于分析性工作负载的产品,以确保节点的规模能够满足分析性性能要求。

"MongoDB主要是一个操作数据库,所以这里的节点分离也是为了不给核心应用的性能带来任何负担或降低苛刻的分析需求。这些工作负载有自己的节点和容量,"Henschen说。

时间序列数据和应用的一个替代方案

除了增加对分析性工作负载的支持外,MongoDB还宣布增强其时间序列集合功能,该功能在之前的5.0版本中已经更新了数据分层等功能。

该公司表示,作为6.0版本的一部分,时间序列集合将支持测量的二级索引、功能读取性能的改进和基于时间的数据排序的优化,并补充说这将有助于更快、更低成本地开发应用程序,特别是那些监测物理系统、跟踪资产或处理金融数据的应用程序。

Henschen说,此举可以看作是该公司为实现用例多样化所做的努力,特别是在联网(internet of things)场景和物理资产监控方面。

为了帮助开发者在应用程序中建立搜索功能,MongoDB增加了一个新的功能,称为 "搜索面",它允许终端用户通过不同的维度更无缝地浏览、缩小或细化他们的结果。

Atlas数据库即服务的新功能

该公司宣布了几项新功能,以确保开发团队能在其基于Atlas云的DBaaS中更好地分析、转换和移动数据,同时减少对批处理和ETL(提取、转换、加载)工作的依赖,这些工作往往会造成延迟,限制生产力,并增加成本。

为了帮助降低成本,该公司推出了一项名为Atlas数据湖的新功能,也可以帮助优化高性能的分析查询。

该公司表示,新的数据湖在从Atlas数据库摄取数据时对其进行重新格式化、分区并创建分区索引,从而创建一个高性能的配套数据湖。

此外,MongoDB还增加了数据联合功能,允许开发者创建驻扎在一系列不同来源的虚拟数据库。

该公司表示,开发团队可以在一个或多个集合、MongoDB集群和存储桶之间查询、转换或创建视图。

Henschen说,这两个功能结合起来,将帮助开发团队把来自生产数据库的最新信息与来自湖泊的档案或历史信息结合起来。

"这不会取代Cloudera、Databricks和各种基于Spark/Hadoop/对象存储的湖泊产品等的湖泊。它只是为MongoDB的世界带来了一个湖泊选项,可以与其他湖泊协同工作,"Henschen分析师解释说。

此外,该公司表示,它正在增加一个Atlas SQL界面,供那些以只读界面与Atlas数据互动的数据分析师使用。

该公司表示,该工具旨在使基于SQL的工具轻松实现Atlas数据的原生查询和可视化,同时保留文档模型的灵活性,并补充说,用户可以使用SQL查询整个Atlas集群和云对象存储的数据,而无需进行数据操作、模式定义或数据扁平化。

据Henschen和Baer说,这项新功能是该公司商业智能(BI)连接器的延续。

"Henschen说:"MongoDB已经有一个BI连接器,它支持Tableau、Qlik和Power BI等,但据说这是一个更丰富的接口,更接近真正的SQL语义,可以与以SQL为中心的目标进行更紧密的整合。

为现代应用架构进行优化

为了支持现代应用架构,MongoDB发布了对其Atlas无服务器服务的更新,并增加了新的Vercel集成和新的数据API等功能。

该公司表示,Vercel集成将允许使用Vercel平台开发、预览和运送网站和应用程序的团队更容易开始使用MongoDB Atlas作为其后台数据库。

开发人员还可以使用Vercel的集成市场,以零配置在Atlas上部署新的基于网络的用例,并立即开始用直接映射到其代码的文件进行构建,该公司表示。

为了帮助加快开发周期,该公司已经发布了一项新功能,称为集群到集群同步。据该公司称,这一工具可以提供MongoDB集群跨环境的连续数据同步,无论是在Atlas、私有云、企业内部还是在边缘。

同步功能便于云迁移

该公司补充说,集群到集群的同步允许用户轻松地将数据迁移到云中,创建测试和专用分析环境,并支持数据驻留要求。

为了帮助缓解移动应用的管理,MongoDB发布了一个被称为Atlas设备同步的新工具,它将Atlas中完全管理的后端数据库连接到该公司的Realm云应用同步工具。

该公司表示,它还增加了一个新的灵活同步选项,通过直观的语言原生查询和分层权限,对同步到用户应用程序的数据进行细化控制。

为了减少运营开销,MongoDB发布了一个新的功能,称为数据API。它说,数据API为开发者提供了一种方法,可以将Atlas数据扩展到云中的其他应用和服务中,或扩展到他们的无服务器架构中。

查询加密的数据

考虑到现有的传输中和静态数据的加密解决方案无法保护使用中的敏感数据,MongoDB现在提供了一项名为可查询加密的新服务,考虑到各种隐私监管准则。

公司高管在一篇博文中写道,作为该服务的一部分,MongoDB客户可以从客户端加密敏感数据,将其作为完全随机的加密数据存储在数据库服务器端,并对加密数据运行表达式查询。

据该公司称,数据在数据库中一直保持加密状态,包括在内存和CPU中,而且密钥从未离开应用程序,数据库服务器无法访问。

该公司说,这项新功能将允许开发人员在不影响性能的情况下查询加密的敏感数据,而且不需要任何密码学经验,并补充说加密是基于NIST(美国国家标准和技术研究所)的密码学基元。

该公司说,这些基元有望提供强有力的保护,防止针对数据库的攻击,包括内部威胁、高权限管理员和云基础设施工作人员。