本文介紹Lindorm與其他開來源資料庫的區別。
背景資訊
Lindorm相容HBase、Cassandra、S3、TSDB、HDFS、Solr等多種標準介面,支援寬表、時序、對象、文本、隊列、空間等多種資料模型,適用於日誌、賬單、標籤等多種資料的儲存及分析,具有高效能、低成本等特點。
本文從核心功能、效能、成本等方面,將Lindorm與開源HBase、開源Cassandra、OpenTSDB、開源Elasticsearch、開源Solr和開源HDFS進行了對比,協助您進一步瞭解Lindorm與其他資料庫產品的區別以及Lindorm在各方面的優勢。
特性對比
Lindorm VS 開源HBase VS 開源Cassandra
Lindorm寬表引擎是面向海量半結構化、結構化資料設計的分布式儲存,相容HBase、Phoenix(SQL)、Cassandra等開源標準介面,下表介紹Lindorm與開源HBase和開源Cassandra的區別。
特性 | 雲原生多模資料庫Lindorm | 開源HBase | 開源Cassandra | |
核心功能 | 資料模型 | 支援寬表、時序、搜尋、檔案等多種資料模型,並且寬表支援多端、多API。 | 僅寬表 | 僅寬表 |
訪問API | 包括HBase API、Cassandra CQL、Phoenix SQL,並且多端資料互連。 | HBase API或Phoenix SQL | Cassandra CQL | |
SQL | JDBC標準,相容Phoenix,具備更好的穩定性與效能。 | 依賴外部Phoenix支援 | 簡單SQL方言 | |
資料類型 | 豐富。詳情請參見資料類型。 | 只支援byte[] | 豐富 | |
TTL | 企業級TTL,支援表、行、Cell等多種粒度。 | 支援表和Cell級 | 只支援表級 | |
強一致 | 支援強一致、最終一致等多一致性等級。 | 支援 | 支援 | |
全域二級索引 | 內建,查詢透明、高效能、按需冗餘非索引列。 | 依賴外部組件,複雜 | 支援 | |
多維檢索 | 與搜尋引擎LindormSearch智能整合,支援海量資料的儲存、多維查詢、全文檢索索引等統一訪問能力,詳情請參見搜尋索引介紹。 | 不支援 | 不支援 | |
效能 | 吞吐效能 | 單機吞吐是開源HBase的7倍,詳情請參見測試結果分析。 | 無 | 無 |
請求毛刺 | P99延遲是開源HBase的1/10,詳情請參見測試結果分析。 | 請求毛刺頻繁 | 請求毛刺頻繁 | |
成本 | 儲存成本 | 支援效能型、標準型、容量型等多種儲存規格,成本比雲端硬碟自建低80%。 | 雲端式盤、本地碟自建,成本高且不彈性 | 雲端式盤、本地碟自建,成本高且不彈性 |
儲存與計算分離 | 是,儲存和計算分別支援伸縮。 | 否 | 否 | |
資料壓縮 | 內建深度最佳化的壓縮演算法,資料壓縮率高達10:1以上,相比snappy提高50%以上。 | 支援snappy/LZ4/LZO,壓縮率不高 | 支援snappy/LZ4,壓縮率不高 | |
編碼 | 面向資料類型的自適應編碼,壓縮率高,並且無需解碼,即可快速尋找。 | 支援DIFF,壓縮效果一般,並且編碼後的資料無法檢索 | 無 | |
冷熱分離 | 冷熱資料自動分層,其中冷資料使用高壓縮和高性價比儲存,減少80%成本,熱資料可提升訪問效能15%,詳情請參見冷熱分離介紹。 | 不支援 | 不支援 | |
擴充性與彈性 | 最小規模 | 不涉及。 | 至少3個節點 | 至少3個節點 |
擴充性 | 強,支援水平伸縮至幾千節點。 | 強,支援水平伸縮至幾千節點 | 中,支援水平伸縮,百個節點往上有瓶頸 | |
可靠性 | 主備雙活 | 支援自動容災切換、雙叢集請求並發等進階能力,支援與自建HBase/Cassandra構建混合主備。 | 無產品化能力,不支援切換 | 支援,但需要三副本 |
跨機房強一致 | 跨機房部署,支援機房級故障的自動回復,並保證資料的強一致。 | 不支援 | 不支援 | |
備份恢複 | 支援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 | CQLsh | |
生態體系 | 資料搬遷 | 支援與HBase/Cassandra各個版本之間的線上、跨版本、自動化、高效搬遷,應用零影響、零改造,請參見LTS(原BDS)服務介紹。 | 只能離線遷移 | 只能離線遷移 |
MySQL資料同步 | 通過LTS(原BDS),支援MySQL資料到Lindorm的全量匯入和增量同步處理。 | 自己用工具,不支援線上增量 | 自己用工具,不支援線上增量 | |
Spark分析 | 產品化深度整合,支援將Lindorm資料增量同步處理到Spark、通過Spark SQL分析Lindorm、分析結果離線迴流到Lindorm等。 | 無最佳化,Data Integration需要較大開發 | 無最佳化,Data Integration需要較大開發 | |
MaxCompute | 產品化整合,支援Lindorm資料增量歸檔到MC。 | Data Integration需要較大開發 | Data Integration需要較大開發 | |
Log Service(SLS) | 通過LTS(原BDS)服務介紹,支援即時訂閱SLS資料到Lindorm。 | Data Integration需要較大開發 | Data Integration需要較大開發 | |
服務能力 | 可用性SLA | 提供SLA保障,單叢集99.9%,雙叢集高可用99.99%。 | 無 | 無 |
營運成本 | 全託管,無需複雜的資料庫營運投入。 | 營運成本高 | 營運成本高 | |
技術團隊 | 由多名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 | 包括Cassandra CQL、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.9%,雙叢集高可用99.99%。 | 無 | 無 |
營運成本 | 全託管,無需複雜的資料庫營運投入。 | 無 | 無 | |
技術團隊 | 由多名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等 | |
易用性 | 免營運,維護簡單 | 具狀態服務,維護較複雜 | |