資料庫HTAP能力強弱怎麼看
現在只要是個資料庫都肯定會說自己是具有HTAP能力的,讓選擇資料庫的朋友有了選擇恐懼症。實際上選擇資料庫用一句最簡單的話說就是隻選對的,不選最好的。再好的資料庫產品,不符合你的應用,運維等方面的需求,對你來說都不合適。話是簡單,但是做起來並不容易。很多時候,適合不適合你,只有用了才知道。面對各種宣傳,確實很難做出判斷,哪怕說我測試一下,資料庫這種複雜的IT基礎設施,測試也不那麼容易做好做對。
按照上面的說法,難道我們還真的無法去判斷和分析一個資料庫到底是不是真正具有HTAP能力呢?也不完全是這樣的,我們可以從HTAP資料庫應該具有的幾個重要特徵入手,去加以分析。為了沒有做廣告的嫌疑,今天的分析裡面不會提及具體針對某些資料庫產品的比較,僅僅提出一些分析的原則。
首先要看TP/AP能力是不是原生融合的,也就是一個SQL引擎可以智慧化處理TP/AP能力,最起碼TP/AP用用的入口是統一的,一套資料,多種處理引擎的模式雖然也能解決一些TP/AP的問題,不過兩個引擎很難做統一資源管理,在某些時候會產生相互干擾,如果AP業務嚴重影響了TP業務的穩定性,那麼就會引發大問題的。原生融合實際上對SQL引擎和最佳化器的要求很高,如果SQL引擎存在一些BUG或者有些考慮不周的地方,就可能會引起TP/AP負載被錯誤識別,引起不必要的麻煩,因此SQL引擎支援HINT是十分必要的,而且在HINT中最好一些針對TP/AP識別,只讀副本使用,弱複製一致性資料讀取,資源限制等方面的支援。
其次是具有行存為主,列存為輔或者行列混合儲存的儲存機制。一個資料的寫入一定是行儲存,不過必須具備資料透過列模式提供查詢的能力。或者資料採用折中的方式,採用範圍分片後的行列混合儲存模式,既照顧TP應用的行訪問需求,也滿足AP應用負載的列訪問需求。很多資料庫也號稱是行存列存都支援的,不過一張表只能建為行存表或者列存表,那麼這種行列儲存能力對於HTAP的支援是打了折扣的,一份行存資料必須轉儲到列存表中,才能更好的支援OLAP業務負載。HTAP的準實時資料倉儲應用能力就無法實現了。
第三個重要能力是OLTP/OLAP負載的隔離性,這兩種負載不能相互影響,應該有一定的資源隔離和資源限制能力。能夠對一些開銷較大,執行時間超長的OLAP負載限定資源使用,避免造成對OLTP的太大的影響。可以按需掛起/恢復後臺OLAP工作任務,臨時修改某個或者某些OLAP負載的資源限制等,都是HTAP能力精細化的體現。一個優秀的HTAP系統,底層資源管理和任務排程做的好壞是關鍵。
第四個重要能力是資源擴充套件的能力,計算能力,儲存能力,IO吞吐能力等都不存在嚴重的瓶頸,可以隨時進行擴充套件,以滿足日益增長的業務需要。不管是透過MPP節點擴充套件還是隻讀節點擴充套件,只要這種擴充套件能力對你的業務場景是有效的,都是可以接受的,並不限於某種架構。
第五個重要能力是SQL能力,SQL能力主要是考察SQL引擎和CBO最佳化器的能力。支援的SQL標準,特別是統計函式,分析函式,視窗函式等的支援能力。並行掃描的能力,運算元下推的能力,索引型別的支援等都是重要的考察內容。SQL引擎不能對錶連線的數量以及表的規模有任何限制,也不能要求建表的時候必須指定SHARDING KEY。
第六個重要能力是容災能力,這個能力和你的應用對高可用,災備的要求要相匹配。可以實現自動化複製,自動化切換,最小的RTO/RPO,甚至零資料丟失是最佳的選擇。
第七個重要能力是介面能力,是否能夠提供C語音、JDBC、ODBC/OLEDB等多種介面,支援你所是使用的主要程式語言等也是極為重要的,這對於你今後的應用開發與應用遷移十分重要。現在的資料庫產品十分龐雜,有些資料庫產品甚至只提供一個JDBC引擎就敢釋出了。
此外易部署,易管理、可觀測能力強、生態工具齊全、資料型別支援、字符集支援等因素也是你需要去考慮的因素。如果你還需要從老資料庫上遷移資料和應用到新系統,那麼與你原有資料庫的SQL語法相容性、資料複製工具、資料遷移工具的完備性與符合度等也是你必須考慮的因素。
資料庫選型是個既複雜又簡單的事情,如果你能根據自己的實際情況,應用場景去做理性的分析,不難找到一個相對靠譜的選擇。我上面提的一些點有些可能值得你去參考,有些可能也不一定適合你的現狀,總之,只有瞭解現狀,才能做出正確的選擇。
來自 “ 白鱔的洞穴 ”, 原文作者:白鱔;原文連結:https://mp.weixin.qq.com/s/5KSxPJKDWqXVEfUDMsls9w,如有侵權,請聯絡管理員刪除。
相關文章
- TiDB 首批透過信通院 HTAP 資料庫基礎能力評測TiDB資料庫
- 集合競價如何看強弱?
- 從IDC資料庫安全報告,看OceanBase安全能力資料庫
- HTAP資料庫及應用場景分析資料庫
- 織夢怎麼進資料庫,織夢網站原始碼在哪裡看資料庫資料庫網站原始碼
- 騰訊雲資料庫伍鑫:MPP資料庫HTAP技術探索資料庫
- 國內首款開源MySQL HTAP資料庫即將釋出,三大看點提前告知MySql資料庫
- HTAP資料庫技術的現在和未來資料庫
- 天雲資料Hubble資料庫透過信通院首批HTAP資料庫產品評測資料庫
- 天雲大資料獲1億增資,釋出HTAP資料庫Hubble大資料資料庫
- 資料庫怎麼分庫分表資料庫
- Jtti:sqlserver怎麼清空資料庫資料JttiSQLServer資料庫
- openGauss 分散式資料庫能力分散式資料庫
- postgresql資料庫怎麼備份SQL資料庫
- mysql資料庫怎麼連線MySql資料庫
- python怎麼連線資料庫Python資料庫
- 資料庫應用需要什麼樣的雲原生能力資料庫
- 【資料庫資料恢復】MS SQL資料庫附加資料庫出錯怎麼恢復資料?資料庫資料恢復SQL
- 專訪 | 分散式HTAP資料庫會成為未來主流據庫嗎?分散式資料庫
- 【資料庫資料恢復】oracle資料庫誤truncate table怎麼恢復資料?資料庫資料恢復Oracle
- 影響伺服器租用處理能力強弱的因素有哪些?伺服器
- 資料庫不能直連怎麼造資料呢資料庫
- 最強盤點!國產資料分析BI工具怎麼選?看這篇就夠了
- 透過等待看資料庫資料庫
- sqlserver資料庫埠號怎麼修改SQLServer資料庫
- Pycharm 怎麼連線 MySQL 資料庫PyCharmMySql資料庫
- mongodb怎麼手動建立資料庫MongoDB資料庫
- 金融業分散式資料庫選型及HTAP場景實踐分散式資料庫
- 故障分析 | MySQL 資料庫升級後,資料庫怎麼卡住了MySql資料庫
- 資料庫租戶能力大調研資料庫
- 大資料學習入門看什麼書?大資料新手怎麼入門?大資料
- 資料庫資料恢復—SQLserver資料庫中勒索病毒被加密怎麼恢復資料?資料庫資料恢復SQLServer加密
- 【資料庫資料恢復】SQL server資料庫被加密怎麼辦?如何恢復?資料庫資料恢復SQLServer加密
- CNCC技術論壇|分散式資料庫HTAP的探索與實踐分散式資料庫
- 網站資料庫密碼怎麼修改?網站資料庫密碼
- 網站連線資料庫怎麼辦網站資料庫
- 帝國cms資料庫怎麼恢復資料庫
- 怎麼建立網站連線資料庫網站資料庫