本文介紹Lindorm與其他開來源資料庫的區別。
背景資訊
Lindorm相容HBase、S3、TSDB、HDFS、Solr等多種標準介面,支援寬表、時序、對象、文本、隊列、空間等多種資料模型,適用於日誌、賬單、標籤等多種資料的儲存及分析,具有高效能、低成本等特點。
本文從核心功能、效能、成本等方面,將Lindorm與開源HBase、OpenTSDB、開源Elasticsearch、開源Solr和開源HDFS進行了對比,協助您進一步瞭解Lindorm與其他資料庫產品的區別以及Lindorm在各方面的優勢。
特性對比
Lindorm VS 開源HBase
Lindorm寬表引擎是面向海量半結構化、結構化資料設計的分布式儲存,相容HBase、Phoenix(SQL)等開源標準介面,下表介紹Lindorm與開源HBase的區別。
|
特性 |
雲原生多模資料庫Lindorm |
開源HBase |
|
|
核心功能 |
資料模型 |
支援寬表、時序、搜尋、檔案等多種資料模型,並且寬表支援多端、多API。 |
僅寬表 |
|
訪問API |
包括HBase API、Phoenix SQL,並且多端資料互連。 |
HBase API或Phoenix SQL |
|
|
SQL |
JDBC標準,相容Phoenix,具備更好的穩定性與效能。 |
依賴外部Phoenix支援 |
|
|
資料類型 |
豐富。詳情請參見資料類型。 |
只支援byte[] |
|
|
TTL |
企業級TTL,支援表、行、Cell等多種粒度。 |
支援表和Cell級 |
|
|
強一致 |
支援強一致、最終一致等多一致性等級。 |
支援 |
|
|
全域二級索引 |
內建,查詢透明、高效能、按需冗餘非索引列。 |
依賴外部組件,複雜 |
|
|
多維檢索 |
與搜尋引擎LindormSearch智能整合,支援海量資料的儲存、多維查詢、全文檢索索引等統一訪問能力,詳情請參見搜尋索引介紹。 |
不支援 |
|
|
效能 |
吞吐效能 |
單機吞吐是開源HBase的7倍,詳情請參見測試結果分析。 |
無 |
|
請求毛刺 |
P99延遲是開源HBase的1/10,詳情請參見測試結果分析。 |
請求毛刺頻繁 |
|
|
成本 |
儲存成本 |
支援效能型、標準型、容量型等多種儲存規格,成本比雲端硬碟自建低80%。 |
雲端式盤、本地碟自建,成本高且不彈性 |
|
儲存與計算分離 |
是,儲存和計算分別支援伸縮。 |
否 |
|
|
資料壓縮 |
內建深度最佳化的壓縮演算法,資料壓縮率高達10:1以上,相比snappy提高50%以上。 |
支援snappy/LZ4/LZO,壓縮率不高 |
|
|
編碼 |
面向資料類型的自適應編碼,壓縮率高,並且無需解碼,即可快速尋找。 |
支援DIFF,壓縮效果一般,並且編碼後的資料無法檢索 |
|
|
冷熱分離 |
冷熱資料自動分層,其中冷資料使用高壓縮和高性價比儲存,減少80%成本,熱資料可提升訪問效能15%,詳情請參見冷熱分離介紹。 |
不支援 |
|
|
擴充性與彈性 |
最小規模 |
不涉及。 |
至少3個節點 |
|
擴充性 |
強,支援水平伸縮至幾千節點。 |
強,支援水平伸縮至幾千節點 |
|
|
可靠性 |
主備雙活 |
支援自動容災切換、雙叢集請求並發等進階能力,支援與自建HBase構建混合主備。 |
無產品化能力,不支援切換 |
|
跨機房強一致 |
跨機房部署,支援機房級故障的自動回復,並保證資料的強一致。 |
不支援 |
|
|
備份恢複 |
支援100TB+規模的資料備份至OSS,並提供與規模無關的RTO(小於30分鐘)、按需備份、指定時間點恢複等進階能力,詳情請參見開通備份恢複。 |
支援,能力弱 |
|
|
全球多活 |
支援,全球多地多單元部署,資料按需同步。 |
不支援 |
|
|
多租戶與安全 |
認證與ACL |
支援易用的帳號密碼認證+ACL,使用請參見系統管理使用者。 |
不支援 |
|
資源隔離 |
提供資源群組特性,支援租戶間的資源物理隔離。 |
不支援 |
|
|
Quota |
支援租戶的全域Quota,包括請求、儲存等。 |
不支援多租戶 |
|
|
靜態加密 |
支援,密匙KMS託管,資料和Log全加密。 |
支援,較弱 |
|
|
RPC黑名單 |
支援,可限制RPC調用。 |
不支援 |
|
|
審計 |
暫不支援。 |
不支援 |
|
|
進階特性 |
表資源回收筒 |
資料表被刪除後進入資源回收筒,支援找回,防止誤刪。 |
不支援 |
|
級聯Split |
Region可以連續Split,無需等待Compaction,可大幅提升擴充和負載平衡能力。 |
不支援 |
|
|
離散TTL |
支援保留多個時間區段的資料。 |
不支援 |
|
|
營運診斷 |
營運工具 |
介面化叢集管理工具,支援表,Namespace,Group,ACL等管理,請參見登入叢集管理系統。 |
HBase Shell |
|
資料查詢 |
叢集管理系統內支援圖形化SQL互動查詢,請參見資料查詢,也支援使用開源工具HBase Shell/CQLsh。 |
HBase Shell |
|
|
生態體系 |
資料搬遷 |
支援與HBase各個版本之間的線上、跨版本、自動化、高效搬遷,應用零影響、零改造,請參見LTS(原BDS)服務介紹。 |
只能離線遷移 |
|
MySQL資料同步 |
通過LTS(原BDS),支援MySQL資料到Lindorm的全量匯入和增量同步處理。 |
自己用工具,不支援線上增量 |
|
|
Spark分析 |
產品化深度整合,支援將Lindorm資料增量同步處理到Spark、通過Spark SQL分析Lindorm、分析結果離線迴流到Lindorm等。 |
無最佳化,Data Integration需要較大開發 |
|
|
MaxCompute |
產品化整合,支援Lindorm資料增量歸檔到MC。 |
Data Integration需要較大開發 |
|
|
Log Service(SLS) |
通過LTS(原BDS)服務介紹,支援即時訂閱SLS資料到Lindorm。 |
Data Integration需要較大開發 |
|
|
服務能力 |
可用性SLA |
提供SLA保障,單可用性區域執行個體99.95%,多可用性區域執行個體99.975%。 |
無 |
|
營運成本 |
全託管,無需複雜的資料庫營運投入。 |
營運成本高 |
|
|
技術團隊 |
由多名Apache社區PMC和Committer組成的專家隊伍提供技術服務支援。 |
無 |
|
|
實踐經驗 |
通過上萬台的部署,支援9年天貓雙十一。 |
無 |
|
Lindorm VS OpenTSDB
Lindorm時序引擎是一款高效能、低成本、穩定可靠的線上時序資料庫引擎服務,提供高效讀寫、高壓縮比儲存、時序資料彙總計算等能力。時序引擎高度相容OpenTSDB協議,採用自研的索引,資料模型,流式彙總等技術手段提供更強大的時序能力。下表介紹Lindorm時序引擎和OpenTSDB的區別。
|
特性 |
Lindorm時序引擎 |
OpenTSDB |
|
|
營運管控 |
服務可用性 |
99.9% |
需自行保障,自行搭建叢集,自建組件依賴 |
|
資料可靠性 |
99.9999% |
需自行保障,自行搭建叢集,自建組件依賴 |
|
|
軟硬體投入 |
無軟硬體投入,按需付費 |
資料庫伺服器成本相對較高 |
|
|
維護成本 |
託管服務 |
需招聘專職TSDB DBA人員來維護,人力成本高 |
|
|
部署擴容 |
即時開通,快速部署,彈性擴容 |
需硬體採購、機房託管、機器部署等工作,周期較長 |
|
|
相依元件 |
零營運 |
依賴AysncHBase、HBase等,營運成本高 |
|
|
配置調優參數 |
預設參數採用最佳實務 |
SALT、串連數,同步刷盤參數,Compaction等 |
|
|
建表語句 |
建表語句託管,使用者透明 |
需要營運人員靜態建表語句 |
|
|
監控警示體系 |
完整的自監控鏈路 |
依賴外部搭建 |
|
|
功能 |
資料模型 |
同時支援多值模型和單值模型 |
僅支援單值模型 |
|
SDK |
Java SDK |
開源SDK不支援查詢 |
|
|
資料類型多樣性 |
支援數值、布爾、字串等多種資料類型 |
支援數實值型別 |
|
|
SQL查詢能力 |
支援SQL的分析查詢 |
不支援 |
|
|
中文支援 |
支援英文字元和中文字元 |
僅支援英文字元 |
|
|
單一維度(tags可選擇) |
tags是選擇性參數 |
tags是必選參數 |
|
|
TagKey個數 |
可支援16個 |
最多8個 |
|
|
整合能力 |
同Flink,物聯網平台無縫對接,生態豐富 |
開源產品,與雲產品整合能力弱 |
|
|
儲存成本 |
資料壓縮 |
時序領域專用壓縮,壓縮率高 |
通用壓縮,壓縮率低 |
|
穩定性 |
資料讀取 |
讀寫線程池分離,易於管理串連,讀寫穩定 |
讀寫耦合,容易造成串連數耗盡,讀寫失敗機率大 |
|
彙總器 |
流式彙總,記憶體管理粒度細,可控性強 |
記憶體物化彙總,容易造記憶體OOM |
|
Lindorm VS 開源Elasticsearch VS 開源Solr
Lindorm搜尋引擎是面向海量資料設計的分布式搜尋儲存,相容開源Solr標準介面,下表介紹Lindorm搜尋引擎和開源Elasticsearch、開源Solr的區別。
|
特性 |
Lindorm搜尋引擎 |
開源Elasticsearch |
開源Solr |
|
|
核心功能 |
資料模型 |
支援寬表、時序、搜尋、檔案等多種,並且搜尋可以無縫作為其他引擎的索引儲存。 |
僅搜尋 |
僅搜尋 |
|
訪問API |
包括Phoenix SQL、Solr API。 |
ES API |
Solr API |
|
|
TTL |
企業級TTL,支援表、行等多種粒度。 |
只支援表級 |
只支援表級 |
|
|
儲存檢索統一訪問 |
與Lindorm寬表、時序引擎無縫融合,形成多模統一儲存檢索能力。 |
無 |
無 |
|
|
效能成本 |
吞吐效能 |
單機吞吐是開源Solr的130%~200%。 |
無 |
無 |
|
儲存成本 |
支援效能型、標準型、容量型等多種儲存規格,最低成本比雲端硬碟自建低80%。 |
雲端式盤、本地碟自建,成本高且不彈性 |
雲端式盤、本地碟自建,成本高且不彈性 |
|
|
儲存與計算分離 |
是,儲存和計算各自獨立伸縮。 |
否 |
否 |
|
|
資料壓縮 |
內建深度最佳化的壓縮演算法,資料壓縮率高達10:1以上,相比snappy提高50%以上。 |
無 |
無 |
|
|
冷熱分離 |
基於時間屬性,資料自動分表,其中冷資料使用高壓縮和高性價比儲存,減少成本,熱資料提升訪問效能。 |
不支援 |
不支援 |
|
|
彈性 |
儲存空間彈性 |
強,存計分離,一鍵擴容,儲存秒級生效,計算分鐘級生效。 |
弱,擴容需要搬遷資料,小時級 |
弱,擴容需要搬遷資料,小時級 |
|
一寫多讀 |
資料分區支援一寫多讀,讀副本水平線上擴充,秒級生效。 |
支援,但增加讀副本需要搬資料,小時級生效 |
支援,但增加讀副本需要搬資料,小時級生效 |
|
|
生態體系 |
資料搬遷 |
支援Solr/ES叢集資料的線上、自動化、高效搬遷到Lindorm,應用零影響、零改造,請參見LTS(原BDS)服務介紹。 |
只能離線遷移 |
只能離線遷移 |
|
MySQL資料同步 |
通過LTS(原BDS)服務介紹,支援MySQL資料到Lindorm的全量匯入和增量同步處理。 |
自己用工具,不支援線上增量 |
自己用工具,不支援線上增量 |
|
|
Spark分析 |
產品化深度整合,支援Spark SQL分析Lindorm、Lindorm資料增量同步處理到Spark,離線分析結果迴流到Lindorm等。 |
無最佳化,Data Integration需要較大開發 |
無最佳化,Data Integration需要較大開發 |
|
|
Log Service |
通過LTS(原BDS)服務介紹,支援即時訂閱SLS資料到Lindorm。 |
Data Integration需要較大開發 |
Data Integration需要較大開發 |
|
|
服務能力 |
可用性SLA |
提供SLA保障,單可用性區域執行個體99.95%,多可用性區域執行個體99.975%。 |
無 |
無 |
|
營運成本 |
全託管,無需複雜的資料庫營運投入。 |
無 |
無 |
|
|
技術團隊 |
由多名Apache社區PMC&Committer組成的專家隊伍提供技術服務支援。 |
無 |
無 |
|
|
實踐經驗 |
支援9年天貓雙十一,阿里部署上萬台。 |
無 |
無 |
|
Lindorm VS 開源HDFS
Lindorm檔案引擎是一個雲原生的檔案儲存體服務,相容開源HDFS協議,下表介紹Lindorm檔案引擎和開源HDFS的區別。
|
特性 |
Lindorm檔案引擎 |
開源HDFS |
|
|
功能定位 |
Distributed File System |
Distributed File System |
|
|
HDFS相容性 |
HDFS通訊協定 |
支援 |
支援 |
|
基礎讀寫介面 |
完整支援 |
完整支援 |
|
|
進階管理介面 |
完整支援 |
完整支援 |
|
|
成本 |
儲存單價(實際費用以購買頁面為準) |
最低0.019美元/GB/月 |
最低0.023美元/GB/月 |
|
儲存空間彈性 |
線上平滑伸縮 |
起步門檻高,擴容步長大 |
|
|
儲存與計算分離 |
支援,與計算引擎分離,獨自伸縮 |
不支援,與計算引擎混合部署 |
|
|
冷熱儲存 |
多級儲存,智能轉存 |
不支援 |
|
|
擴充性 |
節點數 |
無 |
0~1000 |
|
儲存量 |
0~1 EB |
0~10 PB |
|
|
檔案數 |
千億級 |
千萬級 |
|
|
生態 |
開源巨量資料生態Hadoop/Spark等、阿里雲資料生態 |
開源巨量資料生態Hadoop/Spark等 |
|
|
易用性 |
免營運,維護簡單 |
具狀態服務,維護較複雜 |
|