本文介绍云原生多模数据库 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等。 |
无优化,数据集成需要较大开发 |
|
|
MaxCompute |
产品化集成,支持Lindorm数据增量归档到MC。 |
数据集成需要较大开发 |
|
|
日志服务(SLS) |
通过LTS(原BDS)服务介绍,支持实时订阅SLS数据到Lindorm。 |
数据集成需要较大开发 |
|
|
服务能力 |
可用性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等。 |
无优化,数据集成需要较大开发 |
无优化,数据集成需要较大开发 |
|
|
日志服务 |
通过LTS(原BDS)服务介绍,支持实时订阅SLS数据到Lindorm。 |
数据集成需要较大开发 |
数据集成需要较大开发 |
|
|
服务能力 |
可用性SLA |
提供SLA保障,单可用区实例99.95%,多可用区实例99.975%。 |
无 |
无 |
|
运维成本 |
全托管,无需复杂的数据库运维投入。 |
无 |
无 |
|
|
技术团队 |
由多名Apache社区PMC&Committer组成的专家队伍提供技术服务支持。 |
无 |
无 |
|
|
实践经验 |
支持9年天猫双十一,阿里部署上万台。 |
无 |
无 |
|
Lindorm VS 开源HDFS
云原生多模数据库 Lindorm文件引擎是一个云原生的文件存储服务,兼容开源HDFS协议,下表介绍Lindorm文件引擎和开源HDFS的区别。
|
特性 |
Lindorm文件引擎 |
开源HDFS |
|
|
功能定位 |
分布式文件系统 |
分布式文件系统 |
|
|
HDFS兼容性 |
HDFS通信协议 |
支持 |
支持 |
|
基础读写接口 |
完整支持 |
完整支持 |
|
|
高级管理接口 |
完整支持 |
完整支持 |
|
|
成本 |
存储单价(实际费用以购买页面为准) |
最低0.019美元/GB/月 |
最低0.023美元/GB/月 |
|
存储空间弹性 |
在线平滑伸缩 |
起步门槛高,扩容步长大 |
|
|
存储与计算分离 |
支持,与计算引擎分离,独自伸缩 |
不支持,与计算引擎混合部署 |
|
|
冷热存储 |
多级存储,智能转存 |
不支持 |
|
|
扩展性 |
节点数 |
无 |
0~1000 |
|
存储量 |
0~1 EB |
0~10 PB |
|
|
文件数 |
千亿级 |
千万级 |
|
|
生态 |
开源大数据生态Hadoop/Spark等、阿里云数据生态 |
开源大数据生态Hadoop/Spark等 |
|
|
易用性 |
免运维,维护简单 |
有状态服务,维护较复杂 |
|