MariaDB 11 DBMS 的一個新的重要分支已經推出

10.x 分支成立 10 年後,MariaDB 11.0.0 發布,它提供了一些破壞相容性的重大改進和變更。 該分支目前處於 alpha 版本質量,穩定後即可投入生產使用。 MariaDB 12 的下一個主要分支包含破壞相容性的更改,預計不會早於 10 年後(2032 年)。

MariaDB 專案是 MySQL 的一個分支,它盡可能保持向後相容性,並整合了額外的儲存引擎和進階功能。 MariaDB 的開發由獨立的 MariaDB 基金會負責,遵循開放透明的開發流程,不受任何廠商的影響。在許多發行版中,MariaDB 被用作 MySQL 的替代品。 Linux (RHEL、SUSE、Fedora、openSUSE、Slackware、OpenMandriva、ROSA、Arch Linux, Debian)並且已在維基百科、Google Cloud SQL 和 Nimbuzz 等大型專案中得到應用。

MariaDB 11分支的一個關鍵改進是查詢最佳化器過渡到新的權重模型(成本模型),它可以更準確地預測每個查詢計劃的權重。 雖然新模型可能會緩解一些效能瓶頸,但它可能並非在所有場景下都是最佳的,並且可能會減慢某些查詢的速度,因此鼓勵用戶參與測試並在出現問題時通知開發人員。

先前的模型擅長尋找最優索引,但在表掃描、索引掃描或範圍獲取操作的適用性方面存在問題。 在新模型中,透過更改儲存引擎操作的基本權重消除了這個缺點。 在評估與磁碟速度相關的操作(例如順序寫入掃描)的效能時,我們現在假設資料儲存在提供每秒 400MB 讀取速度的 SSD 上。 此外,還調整了優化器的其他權重參數,例如,可以實現在子查詢中使用索引進行「ORDER BY/GROUP BY」操作的功能,並加快非常小的表的工作速度。

需要注意的是,新的權重模型將允許您在以下情況下選擇更優化的查詢執行計劃:

  • 當使用跨越 2 個以上表格的查詢時。
  • 當您的索引包含大量相同值時。
  • 當使用的範圍覆蓋表的 10% 以上。
  • 當您有複雜的查詢時,並非所有使用的欄位都被索引。
  • 當使用涉及不同儲存引擎的查詢時(例如,當一個查詢存取 InnoDB 和記憶體引擎中的表時)。
  • 當使用FORCE INDEX來改善查詢計畫時。
  • 當使用“ANALYZE TABLE”時查詢計劃惡化。
  • 當查詢跨越大量派生表(大量巢狀 SELECT)。
  • 使用索引下的 ORDER BY 或 GROUP BY 表達式時。

MariaDB 11分支中的主要相容性問題:

  • SUPER 權限不再允許您執行可單獨設定權限的操作。 例如,要變更二進位日誌的格式,您將需要 BINLOG ADMIN 權限。
  • 刪除了 InnoDB 中的更改緩衝區實作。
  • Innodb_flush_method 和 innodb_file_per_table 已被棄用。
  • Mysql* 名稱支援已被棄用。
  • 將explicit_defaults_for_timestamp 設為0 已被棄用。
  • 符號連結包含在單獨的包中以與 MySQL 相容。
  • innodb_undo_tablespaces 參數的預設值已變更為 3。

來源: opennet.ru

為具有 DDoS 保護、VPS VDS 服務器的站點購買可靠的主機 🔥 購買具備 DDoS 防護的可靠網站寄存服務,包括 VPS 和 VDS 伺服器 | ProHoster