數據架構選型必讀:2019年數據庫產品技術總結與展望

本文由 dbaplus 社羣授權轉載。

本年度收錄版本回顧

在2019年即將結束之際,本期dbaplus Newsletter除了呈現今年第四季度各數據庫版本更新情況以外,還帶來了相關年度總結與發展趨勢展望。以下是過去這一年Newsletter收錄過的版本對照,便於大家直觀回顧:

往期回顧

DB-Engines數據庫排行榜

以下取自2019年12月的數據,具體信息可以參考http://db-engines.com/en/ranking/,數據僅供參考。

DB-Engines排名的數據依據5個不同的因素:

  • Google以及Bing搜索引擎的關鍵字搜索數量
  • Google Trends的搜索數量
  • Indeed網站中的職位搜索量
  • LinkedIn中提到關鍵字的個人資料數
  • Stackoverflow上相關的問題和關注者數

新聞資訊

1、2019年8月20日,MongoDB決定不再維護Perl驅動,具體是在2.2.0版本發佈的12個月後正式結束生命週期(2020年8月13日)。在那12個月內,MongoDB將僅爲該驅動程序提供關鍵/安全修復程序。

2、2019年9月17日,Oracle宣佈將首次採用VMware,並將正式支持在VMware虛擬化環境中運行的Oracle企業軟件。

3、2019年9月18日,Oracle宣佈雲服務永久免費。具體來說,Oracle用戶可以永久享受到以下福利:

  • 2個Autonomous Database(自主數據倉庫或自主事務處理),每個Autonomous Database都有1個OCPU和20 GB存儲資源;
  • 2個Compute VM,每個Compute VM有1/8 OCPU和1 GB內存;
  • 2個Block Volumes,總共100 GB,最多5個免費備份;
  • 10 GB Object Storage、10 GB Archive Storage和每月50000個API請求;
  • 1個Load Balancer,10 Mbps帶寬;
  • 每月10 TB的出站數據傳輸;
  • 5億個攝取數據點和10億個服務監測數據點;
  • 每月傳遞100萬個通知的選項和每月1000封電子郵件。

4、2019年9月19日,華爲宣佈將開源其GaussDB數據庫,開源後命名爲openGaus,將在2020年6月正式上線,可覆蓋70%企業業務場景。

5、2019年10月9日,SUSE宣佈將逐步停止OpenStack相關業務,並正在轉向Kubernetes。

RDBMS家族

Oracle數據庫年度總結與展望

Gartner最新發布了兩份權威數據庫報告,其中甲骨文在Gartner 2019年“操作型數據庫管理系統關鍵能力”報告全部四大使用場景中的排名均蟬聯第一。四個使用場景如下:

  • 傳統事務處理;
  • 分佈式可變多模數據處理;
  • 事件處理/動態數據處理;
  • 增強事務處理。

甲骨文還被Gartner 2019年“操作型數據庫管理系統魔力象限”評爲領導者。

2019年,Oracle新推出的自治數據庫版本19c提供了更多的自治能力和新功能。

Oracle Database 19c新特性摘要

  • 自動索引(Auto-Indexing) 自動化索引功能在幫助用戶簡化開發、運維的同時,數據庫性能最高可提升60%;
  • 實時自動統計信息收集 在數據庫發生變化時,可自動收集統計數據供SQL優化器使用,極大減輕人工SQL調優壓力;
  • Active Data Guard備庫DML重定向 備端可做DML操作, 實現數據中心應用級雙活,簡化應用部署難度,同時最大化架構可用性和硬件利用率;
  • 自動SQL隔離 可將開發人員性能不好的SQL進行資源隔離,保障系統正常運行,提升數據庫可用性;
  • 物聯網(IoT)流處理功能 專爲插入快速激增的IoT數據打造,讓IoT更易用、更好用。

另外, 在2019年8月8日的數據庫大會上發佈了Oracle區塊鏈本地解決方案,幫助企業輕鬆搭建區塊鏈網絡。

2019年9月17日,甲骨文全球大會上發佈了最新的Exadata X8M,Oracle Exadata X8M業內首個採用了英特爾®傲騰™DC持久性內存和創新的數據庫RDMA技術,與上一版本相比I/O吞吐量提高了2.5倍,I/O延遲降低了90% 。

根據Oracle的產品策略, 2020年將會推出Oracle 20c,20c將會提供更多的自治能力,包括原生持久內存(PMEM)數據庫、自動機器學習、爲安全交易而打造的原生區塊鏈表,以及性能更加強大的二進制JSON數據類型。

MySQL發佈8.0.18版本

2019年10月14日,MySQL發佈8.0.18版本。版本亮點:

1、Hash Join

Hash Join不需要任何索引來執行,並且在大多數情況下比當前的塊嵌套循環算法更有效。

2、EXPLAIN ANALYZE

EXPLAIN ANALYZE將運行查詢,然後生成EXPLAIN輸出,以及有關優化程序估計如何與實際執行相匹配的其他信息。

3、創建用戶時可以隨機生成密碼

爲CREATE USER / ALTER USER / SET PASSWORD語句添加了語法,以生成強隨機密碼,並將其作爲結果返回給客戶端。添加的語法是:CREATE USER user IDENTIFIED BY RANDOM PASSWORD,ALTER USER user IDENTIFIED BY RANDOM PASSWORD,和SET PASSWORD [FOR user] TO RANDOM。

4、羣組複製

group_replication_exit_state_action增加了OFFLINE_MODE 模式。

用於指定當服務器無意離開羣組時羣組複製的行爲。OFFLINE_MODE行爲將關閉所有連接,並禁止非CONNECTION_ADMIN或SUPER權限的用戶建立新連接,否則它的行爲類似於現有READ_ONLY模式。

5、innodb增加了一個空閒狀態下控制寫入IOPs的選項

該選項在InnoDB空閒時控制寫IOP。目的是減少寫IO,以延長閃存的壽命。

此外,還有很多內部細節的改進,詳細可訪問:https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-18.html

MariaDB發佈10.4.11穩定版

2019年12月11日,MariaDB發佈10.4.11穩定版,主要改進如下:

1、賬戶鎖定

支持管理員鎖定/解鎖用戶帳戶,語句:

  • 鎖定
ALTER USER  'hechunyang'@'%' ACCOUNT LOCK;

當鎖定後,用戶再次登錄時,提示如下信息:

# mysql  -h127.0.0.1 -uhechunyang -p -P3312
Enter password:
ERROR  4151 (HY000): Access denied, this account is locked
  • 解鎖
ALTER USER  'hechunyang'@'%' ACCOUNT UNLOCK;

注:帳戶被鎖定,現有連接不受影響,新的客戶端不允許連接。

  • 查看賬戶鎖定信息
> show create  user hechunyang@'%'\G;
***************************  1. row ***************************
CREATE USER for  hechunyang@%: CREATE USER 'hechunyang'@'%'
IDENTIFIED BY  PASSWORD
'*1DA3AF2348DE66F7554E816DEDC1F1340814842E' ACCOUNT LOCK
> select *  from mysql.global_priv where user='hechunyang'\G;
***************************  1. row ***************************
Host: %
User: hechunyang
Priv:
{"access":1073740799,"plugin":"mysql_native_password","authentication_string":"*
1DA3AF2348DE66F7554E816DEDC1F1340814842E","password_last_changed":15
76823835,"account_locked":true}

2、用戶密碼到期

  • 設置用戶到期時間
>CREATE USER  'hechunyang'@'%' PASSWORD EXPIRE INTERVAL 1 DAY;

注:單位默認只有DAY(天),最小爲1天。

當用戶權限到期後,登錄時提示修改密碼,如下:

[email protected][(none)]>show  processlist;
ERROR 1820  (HY000): You must SET PASSWORD before executing this statement
  • 解除限制
>ALTER USER  'hechunyang'@'%' PASSWORD EXPIRE NEVER;

3、支持更改字符集utf8->utf8mb4採用ALGORITHM=INSTANT算法

MariaDB支持表的某一字段,或者整張表,字符集utf8轉換爲utf8mb4採用ALGORITHM=INSTANT算法(只修改字典信息)。

列表結構:

CREATE TABLE t1  (
  id int(11) DEFAULT NULL,
  cid int(11) DEFAULT NULL,
  name varchar(60) DEFAULT NULL,
  KEY IX_cid (cid)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8;

DDL變更語句(秒級更改)

alter table t1  modify name varchar(60) charset utf8mb4, ALGORITHM=INSTANT;

需要注意的地方:

  • 反過來utf8mb4->utf8是不支持INSTANT算法的;
  • 如果你的字段是latin1拉丁文,轉utf8/utf8mb4是不支持INSTANT算法的。

注:在MySQL 8.0.18版本中,修改字符集utf8->utf8mb4是無法使用到INSTANT算法的,需要重建表(ALGORITHM=COPY算法),且會鎖表,update/delete/insert/replace into語句會被MDL鎖住(Waiting for table metadata lock)

4、字段長度不大於varchar(256),支持採用ALGORITHM=INSTANT算法

需要注意的地方:

  • varchar(60)減少到varchar(40)是不支持INSTANT算法的。
  • 大於並等於varchar(256),這裏的256是指字節(UTF8佔用3字節),是不支持INSTANT算法的。

注:只對varchar類型採用INSTANT算法,char和int是無效的,仍舊是需要拷貝數據且鎖表。

MariaDB 10.4.11早期新功能變化,請參考dbaplus社羣文章《MySQL 8.0與MariaDB 10.4,誰更易於填坑補鍋?》

PostgreSQL 12正式發佈

2019年10月3日,PostgreSQL最新穩定版PG 12正式發佈,帶來大量新特性以及性能提升。

1、PostgreSQL 12正式發佈

  • 支持AM接口,通過AM接口可以擴展存儲、索引接口。例如:支持undo的ZHEAP存儲引擎,以及ZEDSTORE行列混合存儲引擎。
  • 分區表性能得到巨大提升,相比以前版本,在1024個分區的情況下,查詢性能提升469倍。
  • Btree,GiST索引支持指定任意字段排序組織形式的聚集存儲。大幅提升聚集查詢效率,例如軌跡數據、訂單跟蹤數據的查詢效率。
  • 支持審計日誌採樣。
  • 支持reindex concurrently語法,簡化索引膨脹維護操作流程。
  • 索引空間利用率提升,讀寫性能提升。
  • 支持虛擬列。
  • 支持SQL/JSON path語言,提升開發者操作JSON字段的效率。

2、PostgreSQL常用插件動態

1)分佈式插件citus發佈9.1.0

citus是PostgreSQL的一款sharding插件,agpl開源協議,目前爲微軟所擁有,國內蘇寧有較大量使用案例。

9.1.0加入對PG 12的支持。

https://github.com/citusdata/citus

2)分佈式代理函數pl/proxy發佈2.9

Pl/proxy是PostgreSQL的一款sharding代理函數插件,bsd開源協議。2.9加入

對PG 12的支持。

https://github.com/plproxy/plproxy

3)地理信息插件postgis 3.0.1 dev1發佈

PostGIS是專業的時空數據庫插件,在測繪、航天、氣象、地震、國土資源、地圖等時空專業領域應用廣泛。同時在互聯網行業也得到了對GIS有性能、功能深度要求的客戶青睞,比如共享出行、外賣等客戶。

http://postgis.net/

4)時序插件timescaledb發佈1.5.1

timescale是PostgreSQL的一款時序數據庫插件,在IoT行業中有非常好的應用。github star數目前有7401,是一個非常火爆的插件。

1.5.1的主要功能增強包括:壓縮功能,支持多重壓縮算法:rle、Gorilla、字典、lz等壓縮算法。

https://github.com/timescale/timescaledb

5)Oracle兼容插件orafce發佈3.8

Orafce是PG的兼容Oracle常用類型、包、函數、操作符的擴展插件包。3.8發佈,支持PG 12。

https://github.com/orafce/orafce

6)阿里雲RDS PG發佈圖像識別插件

阿里雲RDS PG發佈palaemon插件,支持圖像識別,支持512維高緯向量索引。內置hnsw、ivfflat兩種算法。千萬級高緯向量毫秒級查詢響應。

https://www.aliyun.com/database/postgresqlactivity

7)實時用戶畫像插件pg_roaringbitmap發佈0.5.0

Pg_roaringbitmap是兼容roaringbitmap庫的PG數據庫插件,支持位圖類型的壓縮存儲、開發友好的大量聚合、計算函數和操作符,廣泛應用於實時精準用戶畫像系統。

https://github.com/ChenHuajun/pg_roaringbitmap

3、PostgreSQL衍生產品動態

1)gpdb發佈6.1.0 版

gpdb是兼容PostgreSQL的開源mpp數據庫,適合OLAP場景。

https://github.com/greenplum-db/gpdb

OceanBase發佈2.2.3版本及年度總結與展望

1、OceanBase發佈2.2.3版本

2019年12月10日,OceanBase發佈2.2.3版本。該版本增加了安全審計、flashback table、備份恢復等功能,同時進一步提升性能和兼容性。

  • Oracle mode新增閃回功能(flashback table)。通過該特性,可以恢復因誤操作而丟失的數據,2.2.3版本支持快速閃回到上一次執行每日合併的快照點。
  • 進一步完善數據庫安全特性,包括SSL、審計、透明加密、label security、user profile,基本滿足國家信息安全等級保護認證三級的要求。
  • 支持單分區多線程並行轉儲,從而解決特別大的分區轉儲性能瓶頸。該特性可通過 alter system set _enable_parallel_minor_merge = true 開啓。
  • 性能優化:分區表批量導入性能大幅提升,性能是2.1版本的2~3倍;分區表批量更新的性能大幅提升,性能是2.1版本的15~28倍。
  • 完善備份恢復功能,除MySQL對象以外,進一步支持Oracle對象的備份恢復。另外,支持回收站備份恢復,允許在備份過程中刪表、刪索引等DDL操作。
  • 適配國產硬件,除華爲ARM、海光CPU以外,進一步支持飛騰2000 CPU。

2、OceanBase 2019年度總結與發展趨勢展望

2019年,OceanBase在性能和功能等方面都取得了一些突破:

1)2019年10月,OceanBase通過了數據庫聯機事務處理(OLTP)的國際標準TPC-C測試。OceanBase不僅是首個通過TPC-C測試的中國數據庫系統,還以60,880,800 tpmC的成績打破了TPC-C的世界紀錄。

2)2019年11月,螞蟻金服正式發佈OceanBase 2.2版本,該版本內置MySQL以及Oracle兩種兼容模式,並在Oracle模式中引入了許多廣受歡迎的功能,同時性能和穩定性上也相對2.0版本有大幅提升。OceanBase 2.2版本平穩支撐了2019年的天貓雙11,創造了6100萬次/秒處理峯值的全新紀錄。2019年雙11中,支付寶的交易和支付的OceanBase數據庫首次從MySQL模式切換爲更適合企業級應用的Oracle模式,提升性能並降低了延時。

2020年,OceanBase將進一步完善內置的Oracle功能,實現更多客戶的Oracle系統的無縫遷移(業務代碼不做任何修改)。OceanBase還將進一步完善集OLTP和OLAP於一體的HTAP混合負載功能,讓更多客戶用一個系統既實現交易處理,又完成商業智能分析。

NoSQL家族

Redis更新5.0.6和5.0.7版本

1、5.0.7版本,主要修復了一些非關鍵的問題

  • 複製相關的命令和回調問題;
  • AOF fsync的個別問題;
  • 極個別場景下的內存泄露問題;
  • Stream數據行爲的個別問題;
  • 在同一時間處理多個鍵的命令中可能會發生崩潰的問題。

2、5.0.6版本,主要修復bug以及功能增強

  • 格式錯誤的HyperLogLog字符串可能導致對內存的無效訪問的bug修復;
  • 新Redis API模塊合併到Redis 5;
  • 一些與對象創建有關的內存優化;
  • 修復了flushSlaveOutputBuffer()的bug,確保SHUTDOWN命令會將掛起的緩衝區傳輸到副本中。

RocksDB發佈6.4.6版本及年度總結與展望

1、RocksDB發佈6.4.6版本

2019年10月16日,RocksDB發佈6.4.6版本。在2019年第4季度,RocksDB主要在圍繞6.4.x幾個版本進行迭代,主要特性如下:

  • 增加了–secondary_path參數,可以讓ldb打開第2個實例作爲輔助實例。以保證原始數據庫的完整性;
  • 以Index/Filter Blocks 類型的方式預先加載 Compression dictionary block 到cache中,並且用戶自定義;
  • 添加了DBOptions :: log_readahead_size,它指定了在讀取日誌時要預取的字節數。這對於讀取遠程日誌最有用,因爲它可以節省往返次數。如果爲0(默認值),則禁用預取;

API更新

  • 添加了新的API:ExportColumnFamily和CreateColumnFamilyWithImport以支持導出和導入 Column Family;
  • 添加了GetAproximateSizes 來獲取SizeApproximationOptions對象及Status。老的 API 將其調用重定向到此新方法,並且如果include_flags沒有設置INCLUDE_MEMTABLES或INCLUDE_FILES位,則不再斷言。建議使用新的 API,因爲類型更安全,返回的的狀態更有語意。

**性能方面的改進:

  • 減少在迭代器中對upper/lower bound的驗證;
  • 改進row_cache的性能:除一些事務情況以爲,讀取較新的Snapshot,如果 SSTable共用相同的cache key的數據;
  • 查詢時,壓縮字典不再複製到新對象。

2、RocksDB 2019年度總結與發展趨勢展望****

在即將過去的2019年裏,RocksDB從5.X來到了6.X,有一個大版本的更新,在迭代過程中不僅有一些新功能的迭代,而且在一些性能上方面也有不斷的提升。RocksDB被越來越多的開源項目使用,如MyRacks、TiKV,同時也被越來越多公司運用在自研分佈式KV存儲中。

發佈文檔詳見:https://github.com/facebook/rocksdb/releases
發佈Blog詳見:https://rocksdb.org/blog

NewSQL家族

CockroachDB發佈19.2版本

2019年11月12日, CockroachDB發佈19.2版本。該版本提高了CockroachDB的延遲、可靠性和可用性,主要亮點如下:

1、減少多區域和單區域部署的延遲

CockroachDB的新優化原子提交協議將事務的提交延遲減半,從兩輪降至一輪。與事務流水線相結合,並行提交使普通OLTP事務產生的延遲接近理論上的最小值:所有讀取延遲之和加上一輪延遲。這降低了涉及多區域和單區域部署中的輔助索引的事務的延遲時間。

2、改進了分佈式集羣的可靠性和易用性

在19.2中,你可以控制某些記錄備份到的確切位置。這可以通過將數據保存在特定的雲區域來降低雲存儲數據傳輸成本,並且可以幫助用戶遵從GDPR這樣的數據註冊要求。

該產品的企業版本和開放源碼軟件版本中也有許多新特性,這些特性簡化了配置地理分佈式數據庫的複雜性。例如,區域配置現在對用戶來說更容易設置。還對分區表做了改進,這樣就可以輕鬆地查看在表、索引甚至整個數據庫上創建的分區。

更多內容請見發佈說明:https://www.cockroachlabs.com/docs/releases/v19.2.0.html

SequoiaDB發佈3.4版本及年度總結與展望

1、SequoiaDB發佈3.4版本

2019年11月,SequoiaDB巨杉數據庫發佈3.4版本。

1)針對金融級交易場景進一步優化和技術創新

全面提升金融級交易場景功能與性能,在分佈式事務、數據一致性,併發CURD性能以及SQL兼容能力方面都做了深度優化。

技術創新點主要包括:

  • 分佈式事務智能仲裁算法,爲分佈式事務2PC提交增加智能仲裁算法,確保分佈式事務的強一致性;
  • 實現多層級內存池和無鎖內存模型;引入衝突仲裁機制,突破Raft算法極限,實現全併發同步;
  • 全文索引性能大幅提升。優化全文索引連接模型。

另外,爲了滿足金融級交易場景對穩定性嚴苛的技術要求,SequoiaDB還升級了混沌測試框架,集羣穩定性得到極大提升。

分佈式交易場景下的性能提升,對比上一大版本,SequoiaDB v3.4在分佈式交易場景,讀寫性能提升達30%,更新性能提升1倍-1.5倍,查詢性能較v3.2提升1.5倍以上。

2)巨杉數據庫工具矩陣發佈,易用性提升

  • 同時推出了新一代的巨杉數據庫工具包,提升用戶易用性;
  • 近期即將發佈SequoiaPerf性能監控診斷工具,提升性能監控。

2、SequoiaDB 2019年度總結與發展趨勢展望

2019年,SequoiaDB先後發佈v3.2和v3.4兩個較大版本更新,新版本全面夯實分佈式OLTP能力,在分佈式事務、數據一致性、併發CURD性能以及SQL兼容能力方面都做了深度優化。在過去這一年,SequoiaDB全面提升金融級交易場景功能與性能,並已成功在銀行新一代分佈式核心交易型業務中規模上線應用,應用場景持續拓展,涵蓋核心交易、數據中臺、內容管理以及實時數據服務等多種場景。

展望2020,企業級用戶處在架構轉型關鍵節點,面臨微服務和分佈式架構轉型的新需求期,因此分佈式數據庫將在更多場景發揮作用。針對微服務架構,以SequoiaDB爲代表的新一代分佈式數據庫將提供數據庫的實例化部署,幫助數據庫與上層微服務實現更好的對接,數據庫也將提供雲化管理方式,保證龐大複雜的微服務能夠實現更細粒度管理。

發佈文檔詳見:https://doc.sequoiadb.com/cn/sequoiadb-cat_id-1432190607-edition_id-0

發佈Blog詳見:https://news.sequoiadb.com/cn/detail-id-111

TiDB發佈3.0.6版本及年度總結與展望

1、TiDB發佈3.0.6版本

2019年11月28日,TiDB發佈3.0.6版本,對應的TiDB Ansible版本爲3.0.6。

2019年9月6日,TiDB Data Migration(DM)1.0 GA正式發佈。DM是由PingCAP開發的一體化數據同步平臺,支持從MySQL或MariaDB到TiDB的全量數據遷移和增量數據同步。無論是從MySQL向TiDB進行平滑數據遷移還是用TiDB作爲多個MySQL實例的數據彙總庫,都可以通過DM來實現。DM在TiDB DevCon 2019上正式開源,經過半年多時間在大量用戶、開發者的支持和反饋下,其功能和穩定性越來越完善。

2、TiDB 2019年度總結與發展趨勢展望

過去的這一年,整個數據庫行業的主旋律有兩個大的方向:一方面是在雲上存儲和計算分離的架構變的越來越流行(以Aurora爲代表);另一個方面是NewSQL的蓬勃發展,開始慢慢的去侵蝕傳統的MySQL Sharding技術(以TiDB架構爲代表)。

對TiDB來說,過去一年最大的突破主要是TiFlash這個架構,TiFlash讓TiDB變成了一個真正意義上的HTAP的數據庫。

明年一個大的趨勢是,比如說以TiDB爲代表的是NewSQL數據庫會越來越多的和雲的技術整合在一起,如Kubernetes等,在雲上提供一些更加智能的數據庫方案。另外,我們認爲明年的關鍵詞是智能,希望能看到AI的技術去改造傳統的數據庫領域。

發佈文檔詳見:https://pingcap.com/docs-cn/stable/releases/3.0.6/

TiDB源碼:https://github.com/pingcap/tidb

TiKV源碼:https://github.com/tikv/tikv

更進一步文檔請閱讀:https://github.com/pingcap/docs-cn

大數據生態圈

Hadoop發佈2.10.0 release版本

2019年10月29日,Apache Hadoop團隊發佈了2.10.0 release版本。該版本較2.9.0版本,主要包含了362項bug修復,功能增強等內容。主要變更如下:

1、HDFS

  • 改進了Hadoop HA的功能,在原有的standby namenode基礎上,新增了observer節點。它是主備節點之外的一種新型NameNode節點。觀察者節點維護與備用節點相同的命名空間副本。它還允許執行客戶端的一致性讀的請求;
  • 改進了HDFS滾動升級相關的功能;
  • 支持新的基於成本的公平調度隊列。它使得調度器在決定任務優先級的時候,不在食基於用戶操作的數量,而是用戶操作的實際成本。這能夠有效的保護namenode受一些高成本的操作(例如大型listStatus操作或遞歸getContentSummary操作)的影響。

2、Yarn

新版本的yarn支持用戶定義除CPU和內存以外的可計數資源類型(比如磁盤資源,網絡帶寬資源等),甚至於可以把原生GPU作爲yarn中的可調度資源,相關內容可見Jira YARN-3926,YARN-8200,YARN-6223,YARN-8200。

Flink發佈1.9.0版本

2019年8月22日,Flink發佈1.9.0版本。此版本包括批處理作業的批處理式恢復,以及新的基於閃爍的表API和SQL查詢引擎的預覽,還有狀態處理器API的可用性,它是最常見的請求特性之一,允許用戶使用Flink DataSet作業讀寫保存點。最後,包括一個重新設計的WebUI和Flink新的Python Table API的預覽以及它與Apache Hive生態系統的集成。

Elasticsearch發佈7.5.0版本

2019年12月5日,Elasticsearch 7.5.0發佈,具有以下新特性:

1、Features/ILM+SLM

  • 添加 API,以按需執行 SLM 保留
  • 將保留添加到快照生命週期管理

2、Features/Ingest

  • 添加豐富處理器

3、Machine Learning

  • 爲多類分類問題實施評估 API
  • 實施新的分析類型:分類(classification)
  • 爲數據框架分析添加審覈消息
  • 實現 DataFrameAnalyticsAuditMessage 和 DataFrameAnalyticsAuditor

4、SQL

  • SQL:實現 DATEDIFF 函數
  • SQL:實現 DATEADD 函數
  • SQL:實現 DATE_PART 函數
  • SQL:將別名 DATETRUNC 添加到 DATE_TRUNC 函數
  • SQL:添加 PIVOT 支持
  • SQL:實現 DATE_TRUNC 函數

新版本還帶來大量改進內容,參見:https://www.elastic.co/guide/en/elasticsearch/reference/7.5/release-notes-7.5.0.html

Greenplum年度總結與展望:從OLAP到HTAP

隨着業務需求和數據庫技術的發展,HTAP(Hybrid Transactional and Analytical Processing)數據庫以其簡潔的架構和混合負載處理能力,受到業界越來越多的關注。2019年9月份發佈的Greenplum 6.0中,Greenplum優化了對OLTP型負載的支持,成爲第一款企業級HTAP開源分佈式數據庫。

1、HTAP或者Translytical

HTAP架構可以很好的解決OLAP的一些痛點,如下圖所示。當然作爲一個較新的技術,HTAP也有其風險,譬如產品成熟度、資源隔離等。

2、Greenplum HTAP之路

作爲一款主打OLAP和數據分析的數據庫,過去十幾年來Greenplum團隊一直以分析型查詢作爲主要優化對象。近年來隨着PostgreSQL內核的升級(Greenplum 6.0搭載PostgreSQL 9.4內核,Master分支目前是PostgreSQL 9.6內核)和客戶對OLTP型查詢需求的提升, 6.0開發週期中投入部分精力,對OLTP型查詢進行了優化並取得了不錯的效果。

3、Greenplum HTAP應用場景

Greenplum過去每次從大版本發佈到新客戶(注意是客戶不是用戶)採用通常需要一年以上的時間。然而Greenplum 6.0剛剛發佈,就已經有多個客戶開始使用,主要原因是Greenplum 6.0對HTAP的支持。

4、總結

相對於傳統OLTP和OLAP分離的架構,HTAP 優勢非常明顯,Greenplum 6.0剛剛發佈三個月,已經有多個大型客戶採用,這對企業級產品而言非常難得。

現階段Greenplum支持OLTP的目標是達到單節點TP數據庫同一能力量級,譬如 PostgreSQL、Oracle等。從目前測試來看基本上達到了這一目標。未來還有很大改進空間。

國產數據庫

本期新秀:GaussDB年度總結與展望

華爲於2019年5月15日正式發佈了自主研發的分佈式數據庫GaussDB。GaussDB包括GaussDB T和GaussDB A兩款數據庫產品。

GaussDB T數據庫是一款全自研的分佈式數據庫,主要面向OLTP場景,產品特點包括:

  • 高可用:故障倒換時間<10s,支持閃回;
  • 高性能:基於鯤鵬920處理器,性能超越業界其他TOP商業數據庫30%;
  • 高擴展:分佈式強一致,TPC-C擴展比>0.8;
  • 兼容性:支持SQL-92、SQL:1999、SQL:2003等一系列標準的常用語法,兼容業界其他TOP商業數據庫常用的SQL語法,支持離線/在線遷移。

GaussDB A數據庫主要面向OLAP場景,支持MPP(大規模並行處理)分佈式部署方式。產品特點包括:

  • 高可用:故障時查詢自動重試,同城/異地雙集羣容災;
  • 高性能:核心企業數據倉庫場景下,分析性能持平其他業界主流分析型數據庫,基於Kunpeng 920處理器芯片,相對通用同期芯片,TPC-H/TPC-DS性能提升30%,支持GPU異構多維硬件加速(10萬路攝像頭千億圖像比對秒級響應);
  • 高擴展:單集羣最大支持2048節點,在線擴容,重分佈對業務透明;
  • 數據融合:SQL on Anywhere,支持與異構/同構數據源、FusionInsight大數據庫互聯互通;
  • 計算融合:支持x86/華爲Kunpeng CPU、GPU等異構計算芯片的智能調度,實現算力最優;
  • 數據安全:數據透明加密,支持國密算法SM4,行級細粒度權限控制。

GaussDB T預計2020年1月正式發佈,更多詳細特性揭祕即將陸續推出。

更多信息請訪問:https://e.huawei.com/cn/solutions/cloud-computing/big-data/gaussdb-distributed-database

本期新秀:OushuDB年度總結與展望

在即將過去的2019年裏,OushuDB在性能和分佈式存儲方面取得了重大突破,尤其是OushuDB 4.0的推出具有劃時代意義,其中新執行器是利用SIMD技術全新實現的OushuDB執行引擎,新一代分佈式存儲Magma是OushuDB中可以高性能地支持update/delete/index和分佈式事務的原生存儲:

  • OushuDB新執行器完整支持了TPCH 22個query,相比老執行器性能提升5-10倍;
  • Magma存儲支持結構化數據存儲,提供高性能存儲內數據讀寫支持;
  • Magma存儲支持表數據Update和Delete功能;
  • Magma存儲支持ACID分佈式事務;
  • Magma存儲支持主鍵索引、唯一鍵索引和普通索引提高數據檢索性能;
  • Magma存儲支持表數據的自動冗餘持久化和高可用訪問;
  • Magma存儲支持Oushu Database彈性擴容;
  • OushuDB執行器和優化器針對Magma進行特別優化,實現最優的數據訪問性能表現;
  • OushuDB執行器和優化器支持對Magma表的Index Scan和Index-Only Scan;
  • Magma 爲P2P無中心架構,提高集羣部署靈活性便捷性同時降低使用維護複雜度;
  • Magma支持JSON數據格式(JavaScript Object Notation),它是一種輕量級的數據交換格式,易於人閱讀和編寫,同時也易於機器解析和生成;
  • Magma支持JSON的操作符和相關函數。

2020年OushuDB將進一步優化新執行器。Magma正式GA。 OushuDB架構上存儲與計算完全分離,可以彈性伸縮,動態擴展。OushuDB新執行引擎和新一代分佈式存儲Magma的整合,讓OushuDB既保證了性能,又可以完美原生匹配雲平臺的彈性需求。

<更多信息請訪問:http://oushu.io/docs/ch/release-notes.html

ArkDB發佈1.0.2版本

2019年11月28日,ArkDB發佈1.0.2版本。其中值得關注的新特性/新功能/新改進/新修復有:

  • 在ArkDB內部實現SQL語句的並行計算,提升計算能力及CPU利用率;
  • 進一步提升主庫大批量建表時,從庫複製的性能;
  • 優化從庫多線程redo複製時,自適應btree、undo線程;
  • 新增共享ibd的支持;
  • 完善周邊工具及產品支持,實現並支持Arkbak熱備工具,支持從原生MySQL直接物理備份遷移到ArkDB;
  • 修復主庫DDL過程中Crash後,可能導致recover忽略日誌過多從而啓動失敗的問題;
  • 保持與原生MySQL8.0版本功能及特性的同步。

QianBase發佈1.5正式版

2019年12月1日,QianBase R1.5版本正式發佈。繼QianBase 1.1後,QianBase 1.5新增了以下功能:

1)企業級的數據備份恢復功能

  • 基於時間點數據恢復

2)與Oracle兼容性功能包含

  • 支持正則表達式相關函數
  • 支持Numeric數據類型四捨五入
  • Trunc函數截取時間戳
  • 區分字符末尾帶空格和不帶空格

3)唯一單調遞增序列數

4)支持For Update鎖衝突等待機制

5)SQL實用工具DUMP命令

達夢數據庫年度總結與展望

回顧2019年,達夢重磅發佈了新一代自研數據庫DM8,推出了達夢數據共享集羣、透明分佈式數據庫、數據庫彈性計算、混合事務分析處理技術等面向未來的數據技術架構,共通共存解決用戶不同場景需求,並且改進細節達359項,涵蓋了技術生態改進、查詢優化改進、數據備份、運維管理、SQL支持特性、高級對象、日誌監控、安全防護、柔性遷移等多個方面。

這其中達夢透明分佈式數據庫(DMTDD)值得期待,透明分佈式數據庫是一個既具有分佈式數據庫的高可擴展、高可用、高併發處理能力,同時又具備傳統數據庫的所有高級特性,支持傳統數據庫所有開發接口和業務開發框架且對用戶透明的創新架構。該產品具有靈活橫向擴展、完整的SQL特性支持、多副本數據異地容災等特點。

展望2020年,達夢將在分佈式數據庫、數據庫自治等領域持續發力。

雲數據庫

本期新秀:POLARDB年度總結與展望

2019年,阿里雲自研雲原生數據庫POLARDB實現了技術的全面升級。POLARDB MySQL 8.0兼容版於9月12日正式發佈,這是全球第一個兼容MySQL 8.0版本的雲原生數據庫。其次,POLARDB分佈式數據庫服務也正式發佈,其存儲容量支持最多超100TB。再次,POLARDB的高性能存儲引擎X-Engine即將發佈,X-Engine存儲引擎具有高性能和高壓縮率,並且經歷了2018年雙11的實戰考驗。

5月份,POLARDB發佈重大更新,爲傳統數據庫提供了一鍵遷移上雲能力,最快數小時內遷移完成,最多節省95%的遷移成本。

此外,在9月雲棲大會上,阿里雲正式發佈了POLARDB Box一體機,能夠更好地幫助用戶在私有云上使用POLARDB數據庫,用戶部署在自有數據中心即可享受雲數據庫的便捷體驗。

本期新秀:AnalyticDB年度總結

2019年7月,阿里雲分析型數據庫AnalyticDB 3.0發佈。

AnalyticDB是阿里雲全新一代雲原生OLAP數據庫產品,成爲雲端託管的PB級SQL數據倉庫。其架構較之前版本更輕量,數據更安全,且滿足寫入強一致、實時可見;同時具備的彈性擴展能力可擴容至數千節點的超大規模,支持PB級以上數據容量。

技術上其採用行列混存技術、自動索引、智能優化器,可對千億級別的數據進行即時的多維度分析透視;其查詢速度相比傳統的關係型數據庫快10倍以上;其全面兼容MySQL協議和SQL:2003,通過標準的SQL和常用的BI工具以及ETL工具平臺即可使用。

2019年,分析型數據庫AnalyticDB通過了基礎能力和性能雙料認證,通過了全球最大規模的TPC-DS 100TB測試標準,完成640節點的分佈式分析型數據庫測試,成爲迄今爲止信通院評測認證的最大規模分析型數據庫集羣。

TBase開源及騰訊雲多款產品更新版本

1、騰訊自研HTAP數據庫TBase開源

TBase是騰訊數據平臺團隊在開源的PostgreSQL基礎上研發的企業級分佈式HTAP數據庫管理系統,已在11月8日開源。

開源地址:https://github.com/Tencent/TBase

國內鏡像地址:https://git.code.tencent.com/Tencent_Open_Source/TBase

TBase當前分爲商用版和開源版兩種版本,說明如下:

  • 開源版和商用版共用內核,協議和使用方法一致;
  • 商用版較開源版有更多的商業化功能;
  • 商用版較開源版的版本迭代更超前。

TBase開源版實現的技術突破詳述如下:

  • 具備高性能可擴展的分佈式事務能力,支持RC和RR兩種隔離級別;
  • 支持高性能分區表,可使得數據檢索效率成倍提升;
  • SQL方面兼容2003標準、PostgreSQL語法和常用Oracle函數&數據類型、窗口函數等。

2、8月28日,騰訊雲正式宣佈自研雲原生數據庫CynosDB的商業化

作爲騰訊重磅發佈的新一代雲數據庫CynosDB,本次發佈有以下主要特性:

  • 完全兼容:100%兼容開源數據庫引擎MySQL5.7和PostgreSQL10, 原有業務可以零改造平滑上雲;
  • 海量存儲: 128T無服務器(Serverless)架構的海量智能存儲,在業務層無感知的情況下自動擴縮容,自動維護數據多個副本,副本自動故障檢測修復,保障數據安全可靠;
  • 秒級彈性: 無狀態(Stateless)的計算節點卸載了除日誌外的所有IO,實現了秒級的故障切換和恢復,並可根據業務峯值需要完成秒級的升降配,實現計算資源的成本最優;
  • 效用計費:分佈式共享存儲按實際使用量計費,不用不計費,輕鬆應對業務數據量動態變化和持續增長。

3、9月19日,騰訊雲圖私有化部署版本發佈正式版

其中值得關注的新特性/新功能/新改進/新修復有:

  • 支持私有化部署,支持雲上大屏一鍵同步到雲下;
  • 60+可視化組件任客戶隨意搭建炫酷大屏。

4、9月,騰訊雲數據庫正式按地域發佈TXSQL 5.7-201908版本

該版本主要實現寫性能提升,新增功能特性和內核參數,爲MySQL提供更穩定、高效的性能和服務能力。其中,新增特性包括DROP大表操作異步化、GTID複製功能擴展、隱藏主鍵功能、非Super權限用戶Kill鏈接的功能等。另外,在最新的TXSQL內核版本中,可以通過內核參數來指定事務調度算法。

TXSQL5.7_ 201908版以MySQL 5.7.18爲基準版本進行5.7版本的內核開發與支持,新增功能特性如下:

  • DROP大表操作異步化
  • GTID複製功能擴展
  • 隱藏主鍵功能
  • 非Super權限用戶Kill鏈接的功能
  • 其他優化特性

a. 內核級別允許MySQL 5.7版本的gtid與MySQL 5.7版本的非gtid 建立主從關係,非gtid5.7事務同步到gtid 5.7實例上生成匿名事務,這個特性目前限於DTS遷移過程中使用,大大方便自建環境遷移上雲;

b. 添加以資源爲優先級的鎖調度方式。添加CATS(Contention-Aware Transaction Scheduling)鎖調度方式,提升併發更新性能。

京東雲數據庫年度總結與展望

京東雲數據庫在2019年中發佈了4個全新的數據庫產品,並提供了數十項功能更新及優化。其中,雲數據庫RDS更高分通過了中國信息通信研究院“關係型雲數據庫”的評測,成爲首批獲得該權威認證的雲數據庫產品。

1、發佈雲數據庫PostgreSQL

雲數據庫PostgreSQL是一款功能強大的關係型數據庫,支持豐富的數據類型及地理信息擴展,具有強大的並行計算能力,並提供了高可用,彈性擴展、備份、監控等全套解決方案。

2、發佈雲數據庫InfluxDB

伴隨物聯網、車聯網和人工智能的快速發展,由物理設備產生的數據呈指數級增長。京東雲正式對外提供雲數據庫InfluxDB服務,可滿足日益增多的時間戳數據存儲需求,提升了數據庫的易用性、安全性,可用性及擴展性,可降低管理維護成本,使客戶專注於應用開發和業務發展。

3、發佈雲數據庫Greenplum

雲數據庫 Greenplum 可提供在線MPP大規模並行處理數據倉庫服務,用戶在幾分鐘內即可設置和部署完成新的數據倉庫,無需進行復雜的大規模MPP集羣運維管理。

4、正式上線數據傳輸DTS產品

爲簡化數據庫上雲工作,京東雲近期推出了數據傳輸DTS,支持MySQL、MariaDB、Percona、SQL Server、MongoDB等多種數據庫遷移,可簡單快速地將本地自建數據庫遷移至京東雲,源數據庫在遷移過程中可繼續正常運行,從而最大程度地減少應用程序的停機時間。

5、2019年產品重大功能更新彙總

1)雲數據庫MySQL、MariaDB、Percona

  • 國內雲服務商裏率先支持MySQL 8.0;
  • 支持NVME的本地盤,並新增了內存優化型規格(CPU內存比爲1:8);
  • 全線支持實例在線的升降配,升級過程業務幾乎無感知;
  • 支持自定義數據庫端口,滿足用戶個性化需求;
  • 支持下載慢日誌,錯誤日誌。

2)雲數據庫SQL Server

  • 支持NVME的本地盤,並新增了內存優化型規格(CPU內存比爲1:8);
  • 新增2017企業版,2016 標準版,Web版,2014 標準版,2012標準版,滿足用戶多樣化的需求;
  • 支持實例在線的升降配,升級過程業務幾乎無感知;
  • 支持調整並遷移數據庫實例的可用區,適應用戶不斷變化的業務架構;
  • 支持自定義數據庫端口,滿足用戶個性化需求。

3)雲數據庫DRDS

  • 支持水平擴容,可通過添加節點提升整個系統的存容量和處理能力;
  • 可通過DDL SQL創建拆分表,提升用戶使用體驗;
  • 支持全局自增ID,滿足用戶對自增ID的需求,同時也提供了更好的MySQL兼容性;
  • 可按多種時間維度進行數據拆分,提供了更加靈活的數據拆分方式;
  • 性能優化監控,提供多種重點SQL的監控,並可直觀的查看各個表的數據分佈情況;
  • 支持自定義數據庫端口,滿足用戶個性化需求。

RadonDB發佈1.0.8版本

12月中旬,MyNewSQL領域的RadonDB雲數據庫發佈了1.0.8版本。其中值得關注的新功能有:

1、Attach/ Reshard功能上線

Attach/Reshard功能的背景:在用戶業務運行一段時間,打算往RadonDB中遷移,可能需要一些遷移工具的輔助,需要付出一些時間和人力的代價,而且週期比較長。

爲解決把單機/高可用MySQL中業務遷到RadonDB中痛點問題,零門檻,一鍵遷移,提升效率。並且發揮RadonDB底層存儲MySQL先天優勢,無縫接入RadonDB,且低耦合。Attach到RadonDB,不影響老業務的同時,可以通過RadonDB查看驗證數據。Reshard可把MySQL中的單機數據打散到分佈式數據庫中,實現數據的智能分佈,滿足用戶數據和流量橫向擴展的需求,從單機數據庫無縫過渡到分佈式數據庫。

2、支持partition list功能,滿足一些金融業務法人隔離性的需求

3、支持’set autocommit=0’ 自動開啓事務功能

4、把遷移工具移到RadonDB中,成爲功能子集

5、執行計劃進行了大量重構和優化

6、進一步完善和細化權限管理

以上功能已全部包含在我們的master分支:
https://github.com/radondb/radon
https://github.com/radondb/radon/releases/tag/v1.0.8

推出dbaplus Newsletter的想法

dbaplus Newsletter旨在向廣大技術愛好者提供數據庫行業的最新技術發展趨勢,爲社區的技術發展提供一個統一的發聲平臺。爲此,我們策劃了RDBMS、NoSQL、NewSQL、時序數據庫、大數據生態圈、國產數據庫、雲數據庫等幾個版塊。

我們不以商業宣傳爲目的,不接受任何商業廣告宣傳,嚴格審查信息源的可信度和準確性,力爭爲大家提供一個純淨的技術學習環境,歡迎大家監督指正。

至於Newsletter發佈的週期,目前計劃是每三個月左右會做一次跟進,下期計劃時間是2020年4月6日~4月17日,如果有相關的信息提供請發送至郵箱:[email protected]

感謝名單

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

原文鏈接

https://mp.weixin.qq.com/s/i1n3Te8SQc2-9Ahjw7-hHw

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章