本文介绍云原生多模数据库 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等。 | 无优化,数据集成需要较大开发 | 无优化,数据集成需要较大开发 | |
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.019美元/GB/月 | 最低0.023美元/GB/月 |
存储空间弹性 | 在线平滑伸缩 | 起步门槛高,扩容步长大 | |
存储与计算分离 | 支持,与计算引擎分离,独自伸缩 | 不支持,与计算引擎混合部署 | |
冷热存储 | 多级存储,智能转存 | 不支持 | |
扩展性 | 节点数 | 无 | 0~1000 |
存储量 | 0~1 EB | 0~10 PB | |
文件数 | 千亿级 | 千万级 | |
生态 | 开源大数据生态Hadoop/Spark等、阿里云数据生态 | 开源大数据生态Hadoop/Spark等 | |
易用性 | 免运维,维护简单 | 有状态服务,维护较复杂 |