[250202] DocumentDB 开源发布:基于 PostgreSQL 的文档数据库新选择 | Jekyll 4.4.0 发布

目录

    • [DocumentDB 开源发布:基于 PostgreSQL 的文档数据库新选择](#DocumentDB 开源发布:基于 PostgreSQL 的文档数据库新选择)
      • [DocumentDB 的使命](#DocumentDB 的使命)
      • [DocumentDB 的架构](#DocumentDB 的架构)
  • [Jekyll 4.4.0 版本发布](#Jekyll 4.4.0 版本发布)
      • [🆕 新特性与改进](#🆕 新特性与改进)

DocumentDB 开源发布:基于 PostgreSQL 的文档数据库新选择

微软近日宣布开源 DocumentDB,这是一个基于 PostgreSQL 构建的文档数据库平台,也是 Azure Cosmos DB for MongoDB(vCore 版本)背后的引擎。

NoSQL 数据库一直以来都缺乏通用的互操作性标准,导致用户在选择和切换数据库时缺乏灵活性。同时,PostgreSQL 在开发者社区中广受欢迎,拥有丰富的扩展生态系统。为了满足社区对 NoSQL 数据库的需求,并利用 PostgreSQL 的优势,微软推出了 DocumentDB。

DocumentDB 的使命

  • 透明度:
    DocumentDB 致力于为开发者社区提供一个基于 PostgreSQL 的 NoSQL 数据存储,并完全公开其架构和引擎实现。从 CRUD 操作到索引和向量搜索功能,所有核心组件均开源可见。
  • 许可:
    该项目采用 MIT 许可证,开发者可以自由地将其整合到新的或现有的解决方案中,没有任何商业许可费用或使用限制。
  • 开源标准:
    DocumentDB 的目标是创建一个开源文档数据库的标准,类似于关系数据库的 ANSI SQL 标准,以提高 NoSQL 引擎的兼容性和互操作性,改善开发者体验。

DocumentDB 的架构

DocumentDB 主要由两个组件构成:

  1. pg_documentdb_core:
    一个定制的 PostgreSQL 扩展,用于优化 Postgres 中 BSON 数据类型的支持。该扩展提供解析和操作 BSON 文档、创建各种索引(包括单字段索引、多键索引、复合索引、文本索 引和地理空间索引)、执行向量搜索查询以及 SCRAM 身份验证等功能。
  2. pg_documentdb_api:
    数据平面,实现 CRUD 操作、查询功能和索引管理。

面向贡献者:

pg_documentdb_core 层为构建端到端的 NoSQL 数据库用户体验奠定了基础。开发者可以在此基础上构建协议转换层,将选择的 NoSQL 数据库协议转换为底层的 Postgres 协议。

面向用户:

FerretDB 2.0 是一个由 DocumentDB 作为后端引擎的开源文档数据存储,为用户提供了一个现成的 NoSQL 数据库解决方案。用户可以通过 FerretDB 使用文档数据库协议与 DocumentDB 交互。

DocumentDB 的开源发布为开发者提供了一个新的 NoSQL 数据库选择,它基于 PostgreSQL 构建,具有透明的架构、灵活的许可和成为开源标准的潜力。结合 FerretDB,用户可以轻松体验 DocumentDB 的强大功能 。

来源:

https://opensource.microsoft.com/blog/2025/01/23/documentdb-open-source-announcement/

Jekyll 4.4.0 版本发布

Jekyll 是一个简单的博客意识,静态网站生成器,非常适合个人,项目或组织网站。

近日,Jekyll 发布了新的版本 4.4.0。此次更新带来了多个重要变化,旨在提升用户体验和功能性。以下是本次更新的主要内容:

🆕 新特性与改进

  1. 代码高亮增强

    新版中,Liquid 标签 highlight 增加了标记特定行代码块的功能,便于突出展示代码中的关键部分。

  2. 自定义实时重载端口

    用户现在可以通过命令行参数 --livereload-port NUM 或在配置文件中设置 livereload_port 来自定义实时重载脚本监听的端口。

  3. 忽略路径的自动刷新

    支持通过 CLI 参数 --livereload-ignore 传递路径,或在配置中定义 livereload_ignore 列表,从而避免对这些路径的更改产生自动刷新效果。

  4. Ruby 版本支持更新

    放弃对 Ruby 2.7.0 以前版本的支持。推荐用户使用 Ruby 3.2.0 或更高版本,以减少安装新插件时的兼容性问题。

  5. 新运行时依赖

    新增 base64csv 两个 gem 作为运行时依赖,确保在通过 bundle exec jekyll <command> 执行命令时能够自动安装和使用。此外,json gem 也被添加为运行时依赖,以确保在不同平台和 Ruby 版本间的一致性。

  6. 宽松的版本约束

    mercenary gem 的版本约束放宽,以便自动允许未来的更新。

来源:

https://jekyllrb.com/news/2025/01/27/jekyll-4-4-0-released/

更多内容请查阅 : blog-250202

相关推荐
芷栀夏11 分钟前
深度解析 CANN 异构计算架构:基于 ACL API 的算子调用实战
运维·人工智能·开源·cann
酷酷的崽79815 分钟前
CANN 开源生态解析(四):`cann-dist-train` —— 构建高效可扩展的分布式训练引擎
分布式·开源
码农小卡拉22 分钟前
深入解析Spring Boot文件加载顺序与加载方式
java·数据库·spring boot
怣5027 分钟前
MySQL多表连接:全外连接、交叉连接与结果集合并详解
数据库·sql
晚霞的不甘32 分钟前
CANN 编译器深度解析:TBE 自定义算子开发实战
人工智能·架构·开源·音视频
wjhx1 小时前
QT中对蓝牙权限的申请,整理一下
java·数据库·qt
冰暮流星1 小时前
javascript之二重循环练习
开发语言·javascript·数据库
冬奇Lab1 小时前
一天一个开源项目(第14篇):CC Workflow Studio - 可视化AI工作流编辑器,让AI自动化更简单
人工智能·开源·编辑器
万岳科技系统开发1 小时前
食堂采购系统源码库存扣减算法与并发控制实现详解
java·前端·数据库·算法
晚霞的不甘2 小时前
CANN 支持强化学习:从 Isaac Gym 仿真到机械臂真机控制
人工智能·神经网络·架构·开源·音视频