本文介紹云原生多模數據庫 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%,詳情請參見冷熱分離介紹。 | 不支持 | 不支持 | |
擴展性與彈性 | 最小規模 | 1個節點。 | 至少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等。 | 無優化,數據集成需要較大開發 | 無優化,數據集成需要較大開發 | |
MaxCompute | 產品化集成,支持Lindorm數據增量歸檔到MC。 | 數據集成需要較大開發 | 數據集成需要較大開發 | |
日志服務(SLS) | 通過LTS(原BDS)服務介紹,支持實時訂閱SLS數據到Lindorm。 | 數據集成需要較大開發 | 數據集成需要較大開發 | |
服務能力 | 可用性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等。 | 無優化,數據集成需要較大開發 | 無優化,數據集成需要較大開發 | |
日志服務 | 通過LTS(原BDS)服務介紹,支持實時訂閱SLS數據到Lindorm。 | 數據集成需要較大開發 | 數據集成需要較大開發 | |
服務能力 | 可用性SLA | 提供SLA保障,單集群99.9%,雙集群高可用99.99%。 | 無 | 無 |
運維成本 | 全托管,無需復雜的數據庫運維投入。 | 無 | 無 | |
技術團隊 | 由多名Apache社區PMC&Committer組成的專家隊伍提供技術服務支持。 | 無 | 無 | |
實踐經驗 | 支持9年天貓雙十一,阿里部署上萬臺。 | 無 | 無 |
Lindorm VS 開源HDFS
云原生多模數據庫 Lindorm文件引擎是一個云原生的文件存儲服務,兼容開源HDFS協議,下表介紹Lindorm文件引擎和開源HDFS的區別。
特性 | Lindorm文件引擎 | 開源HDFS | |
功能定位 | 分布式文件系統 | 分布式文件系統 | |
HDFS兼容性 | HDFS通信協議 | 支持 | 支持 |
基礎讀寫接口 | 完整支持 | 完整支持 | |
高級管理接口 | 完整支持 | 完整支持 | |
成本 | 存儲單價(實際費用以購買頁面為準) | 最低0.12元/GB/月 | 最低0.15元/GB/月 |
存儲空間彈性 | 在線平滑伸縮 | 起步門檻高,擴容步長大 | |
存儲與計算分離 | 支持,與計算引擎分離,獨自伸縮 | 不支持,與計算引擎混合部署 | |
冷熱存儲 | 多級存儲,智能轉存 | 不支持 | |
擴展性 | 節點數 | 無 | 0~1000 |
存儲量 | 0~1 EB | 0~10 PB | |
文件數 | 千億級 | 千萬級 | |
生態 | 開源大數據生態Hadoop/Spark等、阿里云數據生態 | 開源大數據生態Hadoop/Spark等 | |
易用性 | 免運維,維護簡單 | 有狀態服務,維護較復雜 |