2345技术员联盟

MySQL现已正式支持文档存储

  • 来源:未知 原创
  • 时间:2018-06-29
  • 阅读:
  • 本文标签:

     Oracle 已經發布了他們的開源關系數據庫管理系統 MySQL 8。這個版本引入了許多改進,最受關註的可能是基於文檔的存儲,開發人員可以在同一個數據庫中使用傳統關系數據和“NoSQL”文檔數據。該版本還提升了性能,增強了安全性,並改變了默認字符集以促進“移動優先”開發。


    MySQL 在 MySQL 5.7 中引入了對 JSON 的支持,現在在 8.0 裏帶來了 MySQL 文檔存儲,開發人員可以將無模式 JSON 文檔集合與關系表放在一起使用。MySQL 文檔存儲由一系列技術組成,一個新的客戶端協議、X 協議以及讓 MySQL 服務器能夠使用 X 協議的 X 插件。新的 X DevAPI 是一組異步 API,用於在 X 協議上執行 CRUD 和 SQL 操作。MySQL 連接器是一組驅動程序,開發人員可以基於驅動程序使用 Java、Python、Node、.Net 和 C ++ 等主流開發語言來調用 API 和文檔存儲。文檔存儲中還有一個 MySQL Shell,提供了交互式的 Java、Python 或 SQL 接口來支持 MySQL 服務器的開發和管理。


    Geir H?ydalsvik 自 2008 年以來一直在 MySQL 數據庫團隊中工作,他告訴 InfoQ:“文檔存儲和關系數據庫的結合是一個關鍵特性。用戶現在可以擁有一個堅實的數據庫系統,可以同時服務於 SQL 和 NoSQL”。MySQL 並不是開源領域中第一個支持關系數據和基於文檔數據的數據庫,比如 PostgreSQL 已經推出該特性一段時間了。與之前的版本相比,MySQL 8.0 還帶來了顯著的性能改進。發行說明指出,MySQL 8.0 速度是 5.7 的兩倍。基準測試數據顯示,在以每秒查詢數量作為衡量手段的情況下,隨著用戶數量的增加,性能出現差異。基準測試數據還顯示,MySQL 8 實現了每秒高達 180 萬次查詢的新紀錄。數據字典元數據的整合提高了可靠性,這些元數據之前以多種文件格式進行存儲,並存儲在多個位置,現在則存儲在一組 SQL 表中,並使用默認的 InnoDB 存儲引擎。


     MySQL 8 帶來了多項安全性改進,其中之一引入了 SQL 角色。與大多數應用程序一樣,MySQL 8 中的角色代表一個指定的授權集合。現在可以在單個會話中創建、授予、刪除和應用 MySQL 角色。數據庫還提供了一個新的 SQL 函數 ROLES_GRAPHML(),它返回一個代表角色子圖的 graphml 文檔。另一個安全增強是對密碼重用的限制。MySQL 已經支持密碼過期策略,該策略強制要求用戶在一段時間之後更改密碼,而新版本可以控制用戶設置的密碼是否有效。這限制了密碼重用,從而強制用戶在每次更改密碼時提供新的增強密碼。


     默認字符集已從 latin-1 改為 utf8mb4。在移動世界中,emojis 和各種各樣的字符集需要共存,Unicode/UTF-8 編碼已經變得無處不在,所以做出了這一變化。由於性能原因,以前的 utf8mb3 已被棄用。移動應用的特征之一是使用用戶的位置來提供內容,MySQL 8.0 基於現有的 GIS 支持,引入了地理和空間參考系統(SRS)。8.0 版還帶來了一些 SQL 增強功能。其中之一是引入公共表表達式(CTE),這是 ANSI SQL 99(又名“SQL 3”)規範的一部分。它們是帶有名稱的臨時結果集,存在於單個語句的作用域內,可以在語句的其他部分進行引用。還增加了一些窗口函數,用於降低代碼復雜度。


本文来自电脑技术网www.it892.com),转载本文请注明来源.
本文链接:http://www.it892.com/content/web/mysql/0629104J52018.html

推荐阅读
热点排行
  1. MySQL数据库性能优化之三
  2. MySQL现已正式支持文档存储
  3. MySQL數據庫備份與恢復方法
无觅相关文章插件,快速提升流量