目录
-
- [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 主要由两个组件构成:
pg_documentdb_core
:
一个定制的 PostgreSQL 扩展,用于优化 Postgres 中 BSON 数据类型的支持。该扩展提供解析和操作 BSON 文档、创建各种索引(包括单字段索引、多键索引、复合索引、文本索 引和地理空间索引)、执行向量搜索查询以及 SCRAM 身份验证等功能。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。此次更新带来了多个重要变化,旨在提升用户体验和功能性。以下是本次更新的主要内容:
🆕 新特性与改进
-
代码高亮增强
新版中,Liquid 标签
highlight
增加了标记特定行代码块的功能,便于突出展示代码中的关键部分。 -
自定义实时重载端口
用户现在可以通过命令行参数
--livereload-port NUM
或在配置文件中设置livereload_port
来自定义实时重载脚本监听的端口。 -
忽略路径的自动刷新
支持通过 CLI 参数
--livereload-ignore
传递路径,或在配置中定义livereload_ignore
列表,从而避免对这些路径的更改产生自动刷新效果。 -
Ruby 版本支持更新
放弃对 Ruby 2.7.0 以前版本的支持。推荐用户使用 Ruby 3.2.0 或更高版本,以减少安装新插件时的兼容性问题。
-
新运行时依赖
新增
base64
和csv
两个 gem 作为运行时依赖,确保在通过bundle exec jekyll <command>
执行命令时能够自动安装和使用。此外,json
gem 也被添加为运行时依赖,以确保在不同平台和 Ruby 版本间的一致性。 -
宽松的版本约束
对
mercenary
gem 的版本约束放宽,以便自动允许未来的更新。
来源:
https://jekyllrb.com/news/2025/01/27/jekyll-4-4-0-released/
更多内容请查阅 : blog-250202