Lindorm宽表引擎是面向海量半结构化、结构化数据设计的分布式存储,兼容HBase、Phoenix(SQL)、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,使用请参见管理用户。 | 不支持 | 支持 |
资源隔离 | 提供Resource Group特性,支持租户间的资源物理隔离。 | 不支持 | 不支持 | |
Quota | 支持租户的全局Quota,包括请求、存储等。 | 只支持单Server | 不支持 | |
静态加密 | 支持,密匙KMS托管,数据和Log全加密。 | 支持,较弱 | 不支持 | |
RPC黑名单 | 支持,可限制RPC调用。 | 不支持 | 不支持 | |
审计 | 计划中。 | 不支持 | 不支持 | |
高级特性 | Feed流API | 提供社交IM场景专属的FeedStream功能,开发效率和运行性能提升一个数量级。 | 不支持 | 不支持 |
表回收站 | 数据表被删除后进入回收站,支持找回,防止误删。 | 不支持 | 不支持 | |
级联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分析 | 产品化深度集成,支持Spark SQL分析Lindorm、Lindorm数据增量同步到Spark,离线分析结果回流到Lindorm等。 | 无优化,数据集成需要较大开发 | 无优化,数据集成需要较大开发 | |
MaxCompute | 产品化集成,支持Lindorm数据增量归档到MC。 | 数据集成需要较大开发 | 数据集成需要较大开发 | |
日志服务(SLS) | 通过LTS(原BDS)服务介绍,支持实时订阅SLS数据到Lindorm。 | 数据集成需要较大开发 | 数据集成需要较大开发 | |
服务能力 | 可用性SLA | 提供SLA保障,单集群99.9%,双集群高可用99.99%。 | 无 | 无 |
运维成本 | 全托管,无需复杂的数据库运维投入。 | 无 | 无 | |
技术团队 | 由多名Apache社区PMC和Committer组成的专家队伍提供技术服务支持。 | 无 | 无 | |
实践经验 | 支持9年天猫双十一,阿里部署上万台。 | 无 | 无 |