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 表達式現在總是 適用 冷凍柱類型(柱親和力) 在評估區塊中的條件之前 CHECK.
  • 參數數量限制從 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

添加評論