閱讀109 返回首頁    go 阿裏雲 go 技術社區[雲棲]


RDBMS家族:商業推新,開源逆襲

目錄:

【RDBMS家族

  • Oracle

    12c Release 2文檔發布
    12c Release 2特性解讀

  • MySQL
    MySQL 5.7 新特性解讀

  • MySQL分支Percona
    Percona 5.7.16-10發布

  • MySQL分支MariaDB
    MariaDB 10.1.19 發布

  • SQL Server
    SQL Server 2016 SP1補丁包發布
    SQL Server  On Linux版本發布

  • PostgreSQL
    PostgreSQL 9.6發布
    PostgreSQL 9.6.1 patch發布

  • DB2
    DB2 LUW V11.1 發布

  • Greenplum
    GPCC3.0發布
    GPText 2.0發布

  • 感謝名單

 

RDBMS家族

一、Oracle

 

12c Release 2文檔發布

 

Oracle Database 12c Release 2文檔在2016年11月中旬公開發布, 12c Relese 2離公開下載的日子又近了一步,如果想了解新版本、新特性,可以從文檔開始了。

 

https://docs.oracle.com/database/122/index.html

 
相比於12c Release 1,Release 2在Multitenant、In-Memory、Spatial and Graph、Sharding幾個方麵有了加強和改進。

 

20161223104340821.jpg

 

12c Release 2特性解讀

Oracle 12c R2從雲端首先支持。下麵是整理的一些新特性,發布時間以官方發布時為準。

1、Oracle Core Database 

Oracle將針對Linux提出一個新的安裝版本Oracle Core Datbase,這意味著你安裝Oracle Core Database隻需要一條命令yum install oracle-core-database。

與之前Oracle發布過的Oracle Express版本Oracle XE看起來有些相似,但是有巨大的差別,Oracle XE是免費的,沒有官方支持也沒有補丁。而Oracle Core database是需要license許可證,同時官方也提供支持和補丁。

Oracle Core Database版本將區別於Oracle企業版的較高價格,主要是為了讓用戶能從sharding中充分獲得橫向擴展能力,Core Database可以大幅降低其license成本費用,達到Oracle EE企業版的幾分之一乃至幾十分之一的價格。 
 
2、Oracle Sharding

簡單來說,Oracle的Sharding技術就是通過分區(Partioning)技術的擴展來實現的。以前一個表的分區可以存在於不同的表空間,現在可以存在於不同的數據庫。不同分區存在於不同數據庫,這就將數據隔離了開來,Sharding就此實現。

在Sharding的架構裏,存在一個“Shard Directories”目錄庫來管理Sharding的分布,當應用通過Sharding Key來訪問數據時,連接池就會給出訪問路徑,快速指向需要訪問的Shard。如果應用不指定分區鍵訪問,則需要通過協調庫-Coordinator DB來協助判定。

3、關聯組件 — 全局數據服務(GDS)

在Oracle 12.1版本中增加的一個新的產品組件GDS - Global Data Services,通過GDS可以構建一個訪問“連接池”,為後端的數據庫訪問提供代理和路由服務,前麵提到的Shard Directories,正是在GDS中配置的。在12.2中,Sharding中的重要作用就日益凸現出來。

 

4、多租戶增強

12.2中多租戶支持更多的PDB共存,從上個版本中的252增加到4096個;在便利性上,支持Hot Clone,支持Refresh,支持在線的Tenent轉移。PDB的Hot Clone可以讓數據庫在業務負載運行時進行Clone拷貝,並且實時同步變化數據,從而使得數據不斷追平,進而實現在線切換,這極大的改善了上雲的遷移過程。對用戶來說是簡化,並且在OEM的管理之下,所有工作可以近乎自動的完成。

5、IMO組件更新

In-Memory Option在12.2上也獲得了增強,這一特性在ADG上的增強使得讀寫進一步分離,由於ADG的隻讀屬性,備庫上的內存數據又可以和主庫不同,比如備庫在內存中可以存儲更廣泛的數據,實現實時計算。而在性能和易用性上改進也值得稱道,In-Memory在12.2中支持根據熱圖自動向內存進行數據轉移,也可以動態的清除冷數據以釋放內存空間,簡化用戶管理。

6、Oracle DataGuard增強

DBCA備庫創建 - 在備庫主機安裝軟件啟動監聽,則可以通過DBCA來創建備庫,指向主庫來獲取文件,創建備庫更加簡單。

 

7、口令文件維護增強

在主庫上口令文件的修改變更,將自動複製到備庫上去,不再需要手工複製文件了。

 

8、AWR支持遠程快照

AWR支持捕獲遠程數據庫的信息,包括ADG。在之前的ADG中,備庫隻能通過Standby Statspack、in-memory ASH、tkprof來進行性能分析和診斷,現在可以支持AWR了。

9、連接保持

在ADG中實現了Failover、SwitchOver中的連接會話保持,減少了重新連接的開銷,極大的改善了用戶體驗。

10、自動塊修複增強

ADG自動塊修複自11gR2引入,現在已經非常成熟,修複的類型大大增加。在新版本中,各種類型的壞塊支持增量修複。即使是原來11g不支持的datafile header塊,新版本中也可以修複了。

 

11、DataGuard中並行日誌應用

在12cR2之前,DG的備庫隻能由一個實例通過MRP進程進行應用,現在可以在多實例並行進行。多實例應用,可以在所有Mounted或者Open的實例上並行進行,對比一下單實例應用和多實例應用的架構對比,在常規模式下,多實例的備庫,可以有多個Remote File Server (RFS)進程進行Redo Thread的日誌接收,但是僅有一個實例進行Managed Recovery Process (MRP)應用恢複。當然,在單個實例上,仍然可以啟動多個MRP進程,進行並行的恢複。在Oracle 12.2的版本中,多實例並行MRP恢複被支持,這一改變將極大的提升DataGuard的效率和可用性。

12、BIG SCN

在12cR2中將引入BIG SCN的特性,SCN的格式將從6個字節變成8個字節存儲,這意味著更高的SCN上限 以及能滿足更快的SCN增速。

 

13、Cross-Endian Dictionary Project

跨Endian的數據字典項目,使得在AIX等Big Endian平台上生成的Oracle數據字典可以在Little Endian上讀寫,反之亦然。 Cross-Endian Dictionary讓PDB plug-in可拔插數據庫和表空間傳輸(XTTS)更方便。另一個方麵Cross-Endian Dictionary跨Endian數據字典讓跨Endian的ADG active data guard 變成可能, 這意味著 AIX上的primary庫,可以使用X86的pc server作為standby。

14、Other

在V$SQL 中加入redo size字段,即可以顯示每一條SQL語句產生的redo量。

表和列的名字上限從30字符提高到128字符。

表在整個移動過程中,仍然是可以訪問的。此外,還可以自動更新索引有效。
 

二、MySQL

 

MySQL 5.7新特性解讀

 

關於5.7的新特性會從安全性和功能性兩方麵來解讀。

 

0?wx_fmt=png 安全性

 

1、5.7版本的用戶表mysql.user要求plugin字段非空,且默認值是mysql_native_password,並且不再支持mysql_old_password。

 

2、增加密碼過期功能,DBA可以設置任何用戶的密碼過期時間,到期之後必須更改密碼,從而增加密碼賬號的安全性。具體保留時間由 default_password_lifetime控製,如果為0,則說明永久不過期,生產環境則建議關閉該參數。

 

3、DBA可以通過對用戶加鎖/解鎖進一步控製其訪問db,具體例子如:alter user yang@'%' account lock;

 

4、MySQL 5.7版本提供了更為簡單SSL安全訪問配置,並且默認連接就采用SSL的加密方式。

 

5、使用更安全的初始化db的方式,並且廢棄mysql_install_db的安裝方式,使用initialize代替(mysql_install_db <5.7.6<= mysqld  —initialize),使用initialize參數初始化數據庫有如下特性:

  • 隻創建一個 root賬號,並且生成一個臨時的標記為過期密碼。

  • 不創建其他賬號。

  • 不創建test 數據庫。

 

0?wx_fmt=png 功能性

 

1、從MySQL5.7.8開始,MySQL支持原生的JSON格式,即有獨立的JSON類型,用於存放JSON格式的數據。JSON格式的數據並不是以string格式存儲於數據庫而是以內部的binary格式,以便於快速的定位到JSON格式中值。

 

在插入和更新操作時MySQL會對JSON類型做校驗,已檢查數據是否符合JSON格式,如果不符合則報錯。同時5.7.8版本提供了多種JSON相關的函數,可以方便的訪問目標數據而不用遍曆全部數據。

  • 創建:JSON_ARRAY(), JSON_MERGE(), JSON_OBJECT()

  • 修改:JSON_APPEND(), JSON_ARRAY_APPEND(), JSON_ARRAY_INSERT(), JSON_INSERT(), JSON_QUOTE(), JSON_REMOVE(), JSON_REPLACE(), JSON_SET(), and JSON_UNQUOTE()

  • 查詢:JSON_CONTAINS(), JSON_CONTAINS_PATH(), JSON_EXTRACT(), JSON_KEYS(),JSON_SEARCH().

  • 屬性:JSON_DEPTH(), JSON_LENGTH(), JSON_TYPE() JSON_VALID().

 

2、MySQL 5.7版本新增了sys數據庫,該庫通過視圖的形式把information_schema和performance_schema結合起來,查詢出更加令人容易理解的數據,幫助DBA快速獲取數據庫係統的各種緯度(如誰占用資源最多,實例的內存分布,某個ip訪問占用的iops和io延遲時間)的元數據信息,幫助DBA和開發快速定位性能瓶頸。詳細的信息請參考《官方文檔》https://dev.mysql.com/doc/refman/5.7/en/sys-schema.html


3、innodb表支通過ALTER TABLE語句以in place方式修改varchar的大小且無需table-copy。但存在限製:表示varchar長度的字節數不能變化(如果變更前使用1個字節表示長度,變更後也必須使用1個字節表示),即隻支持0~255內的或者255以上的範圍變更(增大),如果字段的長度從254增到256時就不能使用in-place算法,必須使用copy算法,否側報錯。

4、online DDL語句重建普通表和分區表:OPTIMIZE TABLE、ALTER TABLE … FORCE、ALTER TABLE … ENGINE=INNODB等操作支持支持使用inplace算法。減少了重建時間和對應用的影響。

 

5、支持新的DATA_GEOMETRY空間類型的數據:InnoDB現在支持MySQL-supported空間數據類型。也即,之前的空間數據是以binary BLOB數據存儲的,現在空間數據類型被映射到了一個InnoDB內部數據類型DATA_GEOMETRY。

6、innodb buffer dump功能增強:5.7.5新增加innodb_buffer_pool_dump_pct參數,來控製每個innodb buffer中轉儲活躍使用的innodb buffer pages的比例。之前的版本默認值是100%,當觸發轉儲的時候會全量dump innodb buffer pool中的pages。如果啟用新的參數比如40,每個innodb buffer pool instance中有100個,每次轉儲每個innodb buffer實例中的40個pages。

 

注意:當innodb發現innodb後台io資源緊張時,會主動降低該參數設置的比例。

7、支持多線程刷髒頁:MySQL 5.6.2版本中,MySQL將刷髒頁的線程從master線程獨立出來,5.7.4版本之後,MySQL係統支持多線程刷髒頁,進程的數量由innodb_page_cleaners參數控製,該參數不能動態修改,最小值為1,最大值支持64,5.7.7以及之前默認值是1,5.7.8版本之後修改默認參數為4。當啟用多線程刷髒也,係統將刷新innodb buffer instance髒頁分配到各個空閑的刷髒頁的線程上,如果設置的innodb_page_cleaners>innodb_buffer_pool_instances,係統會自動重置為innodb_buffer_pool_instances大小。

8、動態調整innodb buffer pool size:從5.7.5版本,MySQL支持在不重啟係統的情況下動態調整innodb_buffer_pool_size。resize的過程是以chunk(每個chunk的大小默認為128M)的為單位遷移pages到新的內存空間,遷移進度可以通過Innodb_buffer_pool_resize_status查看。記住整個resize的大小是以chunk為單位的。innodb_buffer_pool_chunk_size的大小,計算公式是innodb_buffer_pool_size / innodb_buffer_pool_instances,新調整的值必須是innodb_buffer_pool_chunk_size*innodb_buffer_pool_instances的整數倍。如果不是整數倍,則係統則會調整值為兩者乘積的整數倍且大於指定調整的值。 

9、升級innochecksum:innochecksum--離線的InnoDB文件校驗工具,新增新的選擇項或擴展的功能,如可指定特定的校驗算法、可以隻重寫校驗值而不進行驗證、可指定允許的校驗和不匹配量、顯示各類頁的個數、導出頁類型信息、輸出至日誌、從標準輸入讀取數據等。從 5.7.2 起可支持校驗超過2G的文件。詳細的用法參考《innochecksum 官方文檔》。

10、支持原生的分區表:在MySQL 5.7.6之前的版本中,創建分區表時MySQL為每個分區創建一個ha_partition handler,自MySQL 5.7.6之後,MySQL支持原生的分區表並且隻會為分區表創建一個partition-aware handler,這樣的分區表功能節約分區表使用的內存。對於老版本創建的分區表在升級到新的版本之後怎麼處理呢?莫慌,5.7.9之後,MySQL提供了如下升級方式解決這個問題:ALTER TABLE ... UPGRADE PARTITIONING.

11、支持truncate undo logs:MySQL 5.7.5版本開始支持truncate undo表空間中的undo log。啟用該特性必須設置innodb_undo_log_truncate=[ON|1]。大致原理是係統必須設置至少兩個undo表空間(初始化的時候設置 innodb_undo_tablespaces=2 ) 用於清理undo logs的切換。該特性的好處是解決5.6之前雖然將ibdata和undo表空間隔離,但是undo log文件一直增大的問題,減輕係統的空間使用壓力。詳細信息參考《官方文檔》。

12、新增內置的Full Text插件,支持中文、韓文、日文全文索引。之前的版本隻能依賴單詞之間空格進行分詞,對於依賴於語義分詞而非空格分詞的其他語言種類,5.7版本的引入支持解析中文、韓文、日文的全文索引--ngram full-text parser解決了該問題。

13、支持在線調整Replication Filter,可以online調整REPLICATE_IGNORE_DB,REPLICATE_WILD_IGNORE_TABLE,REPLICATE_WILD_DO_DB,REPLICATE_WILD_DO_TABLE,無需重啟slave。

14、支持多源複製,通過channel支持一個從庫複製多個主庫。

15、支持事務級別的並行複製,區別於5.6版本基於schema級別的並行複製,5.7版本基於group commit(slave-parallel-type=LOGICAL_CLOCK)做到真正的並行複製,降低了slave延遲的風險。

16、半同步增強:1)增加ack thread解決5.6版本異步複製主庫dump thread必須等到slave返回消息之後才能接受新的事務請求,提高事務處理能力;2)增加after sync模式,事務是在提交之前發送給Slave(默認,after_sync),當Slave沒有接收成功,並且Master宕機了,不會導致主從不一致,因為此時主還沒有提交,所以主從都沒有數據。MySQL5.7也支持和MySQL5.5\5.6一樣的機製:事務提交之後再發給Slave(after_commit)。

17、GTID 增強:1)支持在線修改gtid 在線開啟GTID的步驟:不是直接設置gtid_mode為on,需要先設置成OFF_PERMISSIVE,再設置成ON_PERMISSIVE,再把enforce_gtid_consistency設置成ON,最後再將gtid_mode設置成on;2)存儲GTID信息到表中,slave不需要再開啟log_bin和log_slave_updates。表存在在mysql.gtid_executed,MySQL5.6上GTID隻能存儲在binlog中,所以必須開啟Binlog才能使用GTID功能。
 

三、MySQL分支Percona

 

Percona 5.7.16-10發布

 

Percona Server為MySQL數據庫服務器進行了改進,在功能和性能上較MySQL有顯著的提升,Percona在近期推出了5.7.16,該版本基於MySQL 5.7.16。同時Percona提供了近300頁的文檔說明。

 

主要變更如下:

 

1、過時的插件

  • Metrics for scalability measurement這個特性已被廢棄。因為會有一些crash的情況發生,用戶如果安裝了這個插件但是還沒有使用到會被建議卸載。

 

2、Bug 修複

  • 當存儲程序會調用如下的管理命令,如OPTIMIZE TABLE, ANALYZE TABLE, ALTER TABLE, CREATE/DROP INDEX時,參數log_slow_sp_statements的值會被log_slow_admin_statements鎖覆蓋,Bug fixed #719368

  • 如果參數innodb_force_recovery設置為6,並行double write文件存在的情況下,數據庫在崩潰後無法啟動,Bug fixed #1629879

  • 線程池中的線程如果溢出導致無法創建線程,這些信息現在會及時反饋到日誌中。Bug fixed #1636500

  • 在TokuDB中INFORMATION_SCHEMA.TABLE_STATISTICS和 INFORMATION_SCHEMA.INDEX_STATISTICS  這兩個表數據不夠準確。Bug fixed #1629448

 

3、其他Bug修複:#1633061, #1633430, and #1635184

 

四、MySQL分支MariaDB

 

MariaDB 10.1.19發布

MariaDB是MySQL源代碼的一個分支,主要由開源社區在維護,采用GPL授權許可。2016年11月7日發布了MariaDB 10.1.19版本,MariaDB 10.1是目前的穩定版本,這在10.0版本的基礎上有幾個全新的特性,還有一些是基於MySQL 5.6,5.7改進和重新實現。

主要變更如下:

 

1、XtraDB更新至5.6.33-79.0。

2、TokuDB更新至5.6.33-79.0。

3、添加了Ubuntu 16.10 yakkety軟件包,可以使用配置工具添加MariaDB的Ubuntu軟件庫到你的係統中。

4、修複了以下安全漏洞:

  • cve-2016-7440

  • cve-2016-5584

 

更多的變更信息可以參考官網鏈接:

https://mariadb.com/kb/en/mariadb/mariadb-10119-changelog/

 

五、SQL Server

 

SQL Server 2016 SP1補丁包發布

SQL Server的所有版本在安裝了SP1補丁包之後將具有以前企業版才有的所有與開發相關的特性,這些特性包括:

  • 行級加密

  • 動態數據掩碼

  • 更改跟蹤

  • 數據庫快照

  • 列存儲

  • 表分區

  • 表壓縮

  • In Memory OLTP

  • 總是加密

  • PolyBase

  • 數據庫審計

  • multiple filestream容器

 

SP1補丁包還包含下麵一些主要新功能:

 

1、數據庫克隆

 

DBCC CLONEDATABASE命令是DBCC命令家族的新成員,這個命令允許你隻克隆數據庫的表結構、統計信息,query store元數據,而不會克隆/拷貝數據,利用這個克隆可以幫助DBA和微軟技術支持團隊更好的排查數據庫問題

2、CREATE OR ALTER新語法

 

這個新語法可以使用在存儲過程、觸發器,用戶定義函數,視圖,這個功能也是跟某些開源數據庫學習所做的改進。

 

3、新的USE HINT查詢提示

 

格式 OPTION(USE HINT('

 

xml執行計劃裏增加了內存授予警告,能夠顯示單個查詢允許的最大內存,開啟的trace flags信息查詢所有cpu時間,查詢消耗時間,top waits和參數的數據類型,對性能調優有很大的幫助。

 

5、新增的動態管理函數sys.dm_db_incremental_stats_properties

 

sys.dm_db_incremental_stats_properties能夠顯示分區表裏每個分區的增量統計信息的情況。

 

6、新增EstimatedlRowsRead屬性

 

在showplan XML裏新增加EstimatedlRowsRead屬性,可以更好排查查詢計劃是否使用了謂詞條件下推。

 

7、對Bulk insert大容量插入數據場景開啟TF715會自動添加TABLOCK提示

 

Trace flag715隻在沒有非聚集索引的堆表生效,當開啟TF715之後,大容量拷貝數據到一個表的同時bulk load操作會申請bulk update(BU)鎖。在保持Bulk update(BU)鎖的情況下,SQL Server會開啟多線程並行大容量加載數據到表裏,BU鎖可以阻止其他大容量加載線程訪問被插入表。SQL Server2016以前需要手動指定TABLOCK提示才能使用多線程並行大容量加載,現在SQL Server2016已經默認幫用戶添加上TABLOCK提示,使得SQL Server2016更加人性化。

 

8、優化Hekaton 存儲引擎的錯誤日誌輸出

 

當使用了內存優化表之後,SQL Server錯誤日誌會增加非常多的Hekaton存儲引擎相關的錯誤日誌,甚至淹沒整個SQL Server的errorlog。根據社區反饋,從SQL Server2016 SP1開始優化並減少Hekaton存儲引擎的錯誤日誌輸出。

SQL Server  On Linux版本發布

目前隻是技術預覽版CTP1,並且名字也有所改變,叫做SQL Server vNext CTP1,多了一個vNext。安裝之後的內部版本號是14.0,而現在已經發布的SQL Server2016的內部版本號是13.0,意味著這是下一個版本的SQL Server,而不是沿用SQL Server2016這一個版本。

微軟為了在Linux上使用SQL Server,創建了從Drawbridge演變而來的SQL平台抽象層(SQLPAL)。正因為有了這個SQL平台抽象層(SQLPAL)更加加快了SQL Server的移植速度,官方宣布在2017年年中SQL Server vNext會正式GA。

目前來看,SQL Server vNext采用了組件化安裝,核心數據庫引擎安裝包才138MB,安裝和使用都非常方便。

對SQL Server vNext感興趣的同學可以到官方網站查看安裝教程,安裝試玩,地址:https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-overview

或者到微軟Azure公有雲,微軟Azure公有雲上已經提供了相應的SQL Server vNext虛擬機鏡像,地址:https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-azure-virtual-machine
 

六、PostgreSQL

 

PostgreSQL 9.6發布

 

PostgreSQL 9.6於2016年9月29日正式發布,包含了許多裏程碑式的新功能。

 

1、多核並行執行

 

可以利用多核實現JOIN,全表掃描,聚合操作的加速。達到線性性能提升的效果。企業的很多報表需求,完全可以在業務低峰時將所有的硬件資源利用起來,快速完成報表的需求。

 

2、強一致任意多副本同步複製

 

允許用戶選擇事務的可靠性級別,配置任意多副本強同步。例如1主2備,用戶可以要求事務結束的REDO發送到至少任意一個備庫,才返回給客戶端事務結束。

 

3、增加remote_apply同步級別

 

對於對讀寫分離的數據一致性要求非常嚴格的場景,用戶可以將事務的同步級別設置為remote_apply,那麼事務在結束前,會確保它的REDO已經在任意數量(用戶配置)的備庫apply後,才返回客戶端。

 

4、全文檢索支持phrase

 

全文檢索支持文本相似度,支持文本的位置信息,支持按位置匹配,例如'速度與激情' 可以與 '速度 <1> 激情' 匹配。實現精準的匹配規則。  
  
5、全文檢索拚寫字典增強

 

支持拚寫糾正,例如stories、story、big, bigger、biggest、doing、do、done、hack、hacking、hacked都會轉換為原來的單詞。

 

6、postgres_fdw支持JOIN、SORT、UPDATE、DELETE下推至遠程數據庫

 

通過postgres_fdw,可以支持數據庫的sharding,計算和filter條件都可以下推到遠程數據庫執行。10.0的版本已經增加了聚合的下推。

 

7、高並發性能增強

 

可以充分發揮硬件的性能,滿足高並發時的高TPS需求,單機(72HT)實現180萬tps。

 

8、VM增加freeze bit識別

 

增加VM的freeze識別,從而大幅降低靜態曆史數據的FREEZE的掃描。

 

9、支持等待事件

 

新增了69個等待事件的監控,用戶可以根據等待事件統計信息,找出數據庫的瓶頸。

 

10、排序增強

 

排序的內核性能增強,充分利用CPU CACHE。

 

11、snapshot time out

 

支持快照過舊。

 

12、IO調度優化

 

支持檢查點排序,降低離散IO。支持checkpoint, bgwriter, wal writer, backend writer進程的平滑IO調度策略。

 

13、相同算子的聚合子函數複用

 

通過複用同算子的聚合子函數,在多個聚合中,性能提升非常明顯。

 

14、支持bloom任意列索引

 

支持對整行的所有列建立一個bloom索引,支持任意列的組合查詢,滿足前端無法固定的多變的查詢條件需求。

 

更多材料可以參考:

https://github.com/digoal/blog/blob/master/201610

https://www.postgresql.org/docs/9.6/static/release-9-6.html

https://yq.aliyun.com/articles/51131

 

PostgreSQL 9.6.1 patch發布

 

2016年10月27日發布了9.6的第一個patch,以fix為主。
 

七、DB2

 

DB2 LUW V11.1發布

2016年6月15日,IBM正式發布DB2 LUW新版本11.1,提供了滿足各種業務需求的新功能部件和增強功能,從而使數據庫更有效率、更簡化且更可靠。全麵的企業安全性、簡化的安裝和部署、更高的易用性和適用性、順利的升級過程、對超大型數據庫的增強功能以及對BLU加速的顯著改進是此技術提供的主要益處。

1、對分區數據庫環境的按列組織的表支持

 

下列特定增強功能與分區環境中按列組織的表有關:

  • 列矢量處理引擎的MPP感知查詢計劃和優化

  • 分區之間縱列數據交換的優化向量格式

  • 允許數據跨網絡保持壓縮狀態的公共表字典

  • 為實現多核心並行性而設計的優化通信基礎結構

 

在DPF多分區環境中支持列存儲表,在多服務器集群環境中分析型負載的擴展性得以大幅提升;獲取的益處包括:最少的建模設計和查詢調優、行業領先的數據壓縮、分析型查詢性能大幅提升等。

 

列存儲表上支持NOT LOGGED INITIALLY語句,針對列表的INSERT、UPDATE、DELETE語句運行速度更快。

 

INSERT/INGEST/IMPORT過程中自動字典生成(Automatic Dictionary Creation, ADC)序列化得到增強,數據字典得以更早生成,大數據量表初始化操作(使用INSERT … SELECT…方式)的壓縮率(PCTENCODED)更高、查詢性能更好、高並發作業的吞吐量更佳。

 

高並發作業的性能和擴展性增強,頻繁訪問公共數據頁麵的高並發作業性能得以增強,小表查找和頻繁索引頁麵訪問(如嵌套表關聯時)的門閂(DB2 Latch)明顯降低,交易延時和鎖等時間明顯降低,這些改進可以明顯提升高並發作業的擴展性。

行列安全控製(RCAC)支持列存儲表,將傳統行存儲表上的安全控製機製推廣到列存儲表,控製用戶訪問具有權限的數據行、數據列或數據單元,是對數據庫授權機製的補充。

2、企業加密密鑰管理

原生數據庫加密支持集中式密鑰管理,支持集中式密鑰管理器來存放原生加密主密鑰,支持任何使用KMIP 1.1或以上版本的任何密鑰管理產品。還通過已與DB2 V11.1 集成的企業密鑰管理來支持硬件安全性模塊(HSM),以向用戶提供各種HSM選項。

3、DB2 pureScale特性增強

 

  • 支持HADR的同步和準同步模式;

  • 統一工作負載管理,支持定義成員子集的備用成員;

  • GDPC雙活增強,支持ROCE和TCPIP,支持AIX,REDHAT和SUSE操作係統,每個CF和MEMBER支持多卡多口以提升帶寬和增強可用性;每個站點支持雙交換機模式;

  • GPFS複製增強,通過db2cluster命令進行GPFS複製配置,簡化GDPC雙活配置過程;

  • pureScale健康檢查,db2cluster –verify命令用於pureScale產品安裝後的健康檢查,包括:TSA和GPFS集群的配置檢查,member和CF見通訊檢查,文件係統複製檢查,文件係統中每個磁盤狀態檢查等。

 

八、Greenplum

 

Greenplum數據庫是由Pivotal公司基於Postgres開發的分布式數據庫。架構采用了MPP無共享架構,集群中的每個節點都有自己的資源,節點之間的信息交互是通過節點互聯網絡實現的。Greenplum數據庫支持高並發,線性擴展,高可用性,向客戶提供高性能的超級數據引擎,並將強大的並行計算能力融入到大規模數據倉庫分析領域中。

2016年10月,Greenplum 4.3.10.0引入了S3可寫表,開啟了Greenplum對亞馬遜S3的全麵讀寫支持。用戶可以非常方便地在亞馬遜雲平台上使用到Greenplum大數據服務,並且可以快速讀寫存儲在S3上的數據。近日,Pivotal又剛剛宣布了Greenplum數據庫對微軟Azure雲平台的支持,用戶可以在微軟Azure雲平台上方便地使用到Greenplum提供的各項專業高效的大數據服務。

GPCC 3.0發布

2016年11月,新版GPCC 3.0的發布,給用戶提供了一個更好的管理Greenplum數據庫的工具。 管理員可以通過GPCC查詢係統的性能指標,查看當前在係統中運行的查詢,監控資源使用情況,並且方便問題診斷和報告。GPCC 3.0改進的部分包括但不限於:

  • GPCC 3.0徹底拋棄了過時的Flash技術,使用了對瀏覽器更加友好和安全的HTML5方案;

  • 采用Pivotal UI 風格,與Pivotal相關產品保持了外觀、操作等的一致性;

  • 采用響應式布局設計,增強了與圖表間的交互式操作;

  • 采用Go語言設計開發了RESTful API的服務端,實現了平台無關性,優化了查詢性能,降低了GPCC對Greenplum係統的資源占用;

  • 采用測試驅動開發,並使用持續集成保證產品的質量,實現產品的持續交付。

 

GPText 2.0發布

2016年12月,GPText 2.0發布,集成了SolrCloud 6.1,增強了高可用特性,提供了啟動、配置、擴展、備份、恢複等管理工具。GPText是Greenplum的一個擴展,它深度集成SolrCloud企業搜索功能和Madlib數據分析庫,結合Greenplum的大規模並行處理機製為用戶提供快速、便捷的文本搜索和分析服務,用戶隻需要通過熟悉的SQL命令調用相關的UDF函數就可以完成文本數據的索引、查詢和分析。

最近的發布持續改進查詢優化和查詢執行,特別是基於ORCA的新Pivotal Query Optimzer,對於多個連接操作的語句、帶有子查詢的語句和包含IN的語句的優化可以減少查詢執行時間,對於查詢預處理的改進可以減少複雜查詢的優化時間。 也包含了大量工具如gpfdist、gpcheckcat、gpcrondump等性能和功能的增強。

 

感謝名單

 

感謝本期提供寶貴信息和建議的專家朋友,排名不分先後。

 

20161223104404630.jpg

 原文發布時間為:2016-12-23

本文來自雲棲社區合作夥伴DBAplus

最後更新:2017-05-13 08:42:12

  上一篇:go  風向標:數據庫技術趨勢解讀
  下一篇:go  NoSQL & NewSQL家族:後起之秀及RethinkDB的告別