Microsoft 刚刚发布 基于 PostgreSQL 的开源数据库标准。 DocumentDB 是一个完全开源的文档数据库平台,它是在 MIT 许可证下发布的。
文档数据库是一种 NoSQL 数据库,用于以文档形式存储、检索和管理数据。 这些文档采用 JSON、BSON、XML 或 parcidos 等格式构建。这种类型的数据库与关系数据库(SQL)的不同之处在于它们不使用具有行和列的表,因为它们将数据组织为独立的文档,这导致数据库非常灵活和可扩展。
微软发布开源数据库标准
微软的新平台允许开发人员拥有一个结合了 NoSQL 数据库的强大功能和 PostgreSQL 的灵活性的标准。微软承诺不存在任何隐藏限制或额外费用。他们将能够集成 DocumentDB,在自己的应用程序中修改或自定义它。
优化数据存储和操作。 DocumentDB 由两个主要组件构成:
pg_documentdb_core
这个自定义 PostgreSQL 扩展允许用户使用 BSON 数据格式 (二进制 JavaScript 对象表示法),广泛用于此类数据库。通过此扩展,您可以:
- 提供对高级 BSON 文档管理的支持,包括深层嵌套结构。
- 它支持许多索引:简单、复合、多字段、文本和地理空间(PostGIS 扩展支持)。
- 它支持在生成人工智能应用程序、欺诈和异常检测、相似性搜索以及电子商务和自然语言处理应用程序中的推荐系统中使用矢量搜索查询。
pg_documentdb_ap
通过这个模块我们可以实现重要的NoSQL操作,比如CRUD 加上先进的索引功能。另一方面,它结合了基于 SCRAM(Salted Challenge Response Authentication Mechanism)的身份验证机制,以增强数据库的安全性。
让我们解释一下这些术语:
欺诈
CRUD 是用于描述对数据执行的四种基本操作的缩写:
- 创建: 它是向数据库添加新文档的操作。
- 读):是从数据库中恢复文档的操作。
- 更新: 就是修改数据库的操作。
- 删除: 从数据库中删除文档的操作。
SCRAM
SCRAM认证机制 它包含一个安全身份验证协议,旨在使服务器和客户端之间的凭据交换更加容易。,最大限度地降低密码泄露的风险,并确保密码不是直接使用网络发送,而是首先使用加密技术进行处理。
如何测试DocumentDB?
想要使用该平台的开发人员可以从 GitHub 上的官方存储库下载源代码。另一种选择是使用 Docker 安装 或其他配置本地环境的方法,可以在文章开头的链接中找到。此外,还可以通过Discord渠道参与设计讨论并为项目做出贡献并获取更新信息。
对于需要即用环境的用户,他们可以轻松地将 DocumentDB 与 FerretDB 集成, 这也是一个开源文档解决方案,基于 DocumentDB 引擎。 FerretDB 有一个实现文档数据库协议的接口,旨在提供 NoSQL 体验,而无需了解 PostgreSQL。
毫无疑问,微软的一个雄心勃勃的承诺是努力使 DocumentDB 成为文档数据库的开放标准。该项目旨在让 DocumentDB 相当于关系数据库的 ANSI 标准。目标是最大限度地减少 NoSQL 数据库实现之间的差异,并为开发人员创造更一致的体验。