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

devtools/2025/2/7 10:37:22/

目录

    • DocumentDB 开源发布:基于 PostgreSQL 的文档数据库新选择
      • DocumentDB 的使命
      • DocumentDB 的架构
  • 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


http://www.ppmy.cn/devtools/156783.html

相关文章

【自学笔记】Python的基础知识点总览-持续更新

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 Python基础知识总览1. Python简介2. 安装与环境配置3. 基本语法3.1 变量与数据类型3.2 控制结构3.3 函数与模块3.4 文件操作 4. 面向对象编程&#xff08;OOP&#…

排序算法--计数排序

唯一种没有比较的排序(指没有前后比较,还是有交换的)。统计每个元素出现的次数&#xff0c;直接计算元素在有序序列中的位置&#xff0c;要求数据是整数且范围有限。适用于数据为小范围整数&#xff08;如年龄、成绩&#xff09;&#xff0c;数据重复率较高时效率更优。可用于小…

浅尝yolo11全程记录1-准备环境+官网模型推理(个人备份)

准备工作&#xff08;虚拟环境、导入项目&#xff09; 安装Anaconda 主要是为了创建和管理虚拟环境&#xff0c;在pycharm里按照项目里的requirments.txt安装依赖的时候&#xff0c;使用虚拟环境会好很多&#xff08;我记得不用Anaconda也可以直接在pycharm的terminal里头创建…

DeepSeek服务器繁忙问题的原因分析与解决方案

一、引言 随着人工智能技术的飞速发展&#xff0c;DeepSeek 等语言模型在众多领域得到了广泛应用。然而&#xff0c;在春节这段时间的使用过程中&#xff0c;用户常常遭遇服务器繁忙的问题&#xff0c;这不仅影响了用户的使用体验&#xff0c;也在一定程度上限制了模型的推广和…

TCP三次握手和四次挥手

TCP 三次握手和四次挥手 TCP&#xff08;传输控制协议&#xff09;是一种面向连接的协议&#xff0c;在建立连接和断开连接时分别需要通过 三次握手 和 四次挥手 来确保通信的可靠性和完整性。 1. 三次握手 三次握手是 TCP 建立连接的过程&#xff0c;确保客户端和服务器双方…

安卓路由与aop 以及 Router-api

安卓路由&#xff08;Android Router&#xff09;和AOP&#xff08;面向切面编程&#xff09;是两个在Android开发中常用的概念。下面我将详细讲解这两个概念及其在Android开发中的应用。 一、安卓路由 安卓路由主要用于在应用程序中管理不同组件之间的导航和通信。它可以简化…

【力扣】238.除自身以外数组的乘积

AC截图 题目 思路 前缀积 前缀积指的是对于一个给定的数组arr&#xff0c;构建一个新的数组prefixProduct&#xff0c;其中prefixProduct[i]表示原数组从第一个元素到第i个元素&#xff08;包括i&#xff09;的所有元素的乘积。形式化来说&#xff1a; prefixProduct[0] ar…

【C++】STL——vector底层实现

目录 &#x1f495; 1.vector三个核心 &#x1f495;2.begin函数&#xff0c;end函数的实现&#xff08;简单略讲&#xff09; &#x1f495;3.size函数&#xff0c;capacity函数的实现 &#xff08;简单略讲&#xff09; &#x1f495;4.reserve函数实现 &#xff08;细节…