DBMS SQLite 3.32 发布。 DuckDB 项目开发了一种用于分析查询的 SQLite 变体

发表 发布 SQLite 3.32.0,一个设计为插件库的轻量级 DBMS。 SQLite 代码作为公共域分发,即可以不受限制且免费用于任何目的。 对 SQLite 开发人员的财务支持由专门创建的联盟提供,该联盟包括 Adob​​e、Oracle、Mozilla、Bentley 和 Bloomberg 等公司。

变化:

  • 实施的 近似的 ANALYZE 命令的一个变体,它允许您在非常大的数据库中进行部分统计信息收集,而无需完整索引扫描。 使用新指令设置扫描一个索引时的记录数限制“PRAGMA分析_限制«。
  • 添加了新的虚拟表“字节码”,其中提供了有关 字节码 预先准备好的表达式(准备好的陈述).
  • 添加了VFS层 校验,它会在数据库中每页数据的末尾添加 8 字节校验和,并在每次从数据库中读取数据时检查它们。 该层允许您检测由于存储设备中位的随机损坏而导致的数据库损坏。
  • 添加了新的 SQL 函数 iif(X,Y,Z),如果表达式 X 为真,则返回值 Y,否则返回 Z。
  • INSERT 和 UPDATE 表达式现在始终 申请 冷冻柱类型(柱亲和性) 在评估块中的条件之前 查看.
  • 参数数量限制从 999 个增加到 32766 个。
  • 添加了扩展 UINT 整理序列 序列排序的实现考虑了文本中的整数以数字顺序对该文本进行排序。
  • 在命令行界面中,“.import”命令中添加了“-csv”、“-ascii”和“-skip”选项。 “.dump”命令允许使用多个 LIKE 模板,并输出合并与指定掩码对应的所有表。 添加了用于调试版本的“.oom”命令。 为“.excel”、“.output”和“.once”命令添加了“--bom”选项。 在“.filectrl”命令中添加了“--schema”选项。
  • 使用 LIKE 运算符指定的 ESCAPE 表达式现在会覆盖通配符,与 PostgreSQL 行为一致。

此外,我们还可以注意到新的 DBMS 的开发 鸭子数据库,正在开发一种针对执行进行优化的 SQLite 变体 分析查询.
除了来自 SQLite 的 shell 代码之外,该项目还使用来自 PostgreSQL 的解析器和来自 数据库、自己的窗口函数实现(基于线段树聚合算法)、矢量化查询执行引擎(基于超管道查询执行算法)、基于库的正则表达式处理器 RE2,它自己的查询优化器和MVCC机制,用于管理作业的同时执行(多版本并发控制)。
项目代码 分发者 根据麻省理工学院的许可。 发展仍处于阶段性 成型 实验版本。

来源: opennet.ru

添加评论