本文介绍如何通过云原生多模数据库Lindorm扩展云数据库Cassandra的性能。

云原生多模数据库Lindorm简介

云原生多模数据库Lindorm是一款适用于任何规模、多种模型的云原生数据库服务,支持海量数据的低成本存储处理和弹性按需付费,提供宽表、时序、搜索、文件等多种数据模型,兼容HBase、Cassandra、Phoenix、OpenTSDB、Solr、SQL等多种开源标准接口,是互联网、IoT、车联网、广告、社交、监控、游戏、风控等场景首选数据库,也是为阿里巴巴核心业务提供关键支撑的数据库之一。

Cassandra
云原生多模数据库Lindorm基于存储计算分离、多模共享融合的云原生架构,具备弹性伸缩、低成本、简单易用、开放、稳定等优势,适合元数据、日志、账单、标签、消息、报表、维表、结果表、Feed流、用户画像、设备数据、监控数据、传感器数据、小文件、小图片等数据的存储和分析。其核心能力包括:
  • 融合多模:支持宽表、时序、搜索、文件四种模型,提供统一联合查询和独立开源接口两种方式,模型之间数据互融互通,帮助应用开发更加敏捷、灵活、高效。
  • 性价比:支持千万级高并发吞吐、毫秒级访问延迟,并通过高密度低成本存储介质、智能冷热分离、自适应压缩,大幅减少存储成本。
  • 云原生弹性:支持计算资源、存储资源独立弹性伸缩,并提供按需即时弹性、按使用量付费的Serverless服务。
  • 开放数据生态:提供简单易用的数据交换、处理、订阅等能力,能够高度兼容MySQL、Spark、Flink、Kafka等系统。

开源Cassandra挑战

开源Cassandra是基于Amazon DynamoDB和Google Bigtable设计的一款分布式NoSQL数据库,具备无中心、一致性可调、提供类SQL查询语言CQL等优点。但在实际使用中,Cassandra存在一些难以解决的挑战。比如Cassandra存储和计算不分离,一旦需要扩容,需要搬迁数据,扩容持续时间长,无法快速应对业务突发流量。而Lindorm是存储计算分离架构,可以实现快速弹性。

另外,Cassandra 需要定期对所有副本进行全量数据修复,否则会出现”幽灵key“等问题,但是修复过程会因为消耗大量系统资源从而影响服务稳定性。而Lindorm由底层的存储组件负责一致性,当您的数据写入时,就会按照您设定的副本数写入,不会有数据不一致问题,也不用定期修复。

是

Lindorm For Cassandra特性

  • 更强性能:相比开源Cassandra,Lindorm For Cassandra在大规模数据下吞吐量更高,延迟更低。是
  • 透明冷热分离:Lindorm For Cassandra采用自由设置冷热的存储介质、压缩算法,减少冷数据存储成本,提升热数据访问性能,实现一体化冷热分离、数据自动分层。是
  • 按需计费:Lindorm for Cassandra提供集群版和serverless版产品形态,serverless版采用serverless式免资源管理,根据业务需求量弹性响应,按请求次数、实际数据库量计费,实现简单易用、经济高效、按需弹性的计费特性。是
  • 搜索宽表一体化:Lindorm for Cassandra 通过全文索引加速宽表引擎查询,对外统一提供CQL语言的访问方式。是
  • 丰富的数据通道:Lindorm for Cassandra具备丰富的数据通道,比如搜索引擎、在线事物数据库、数仓、日志队列等。啊
  • 更多企业级特性:Lindorm for Cassandra具备更多的企业级特性,详情请参见下表。更多企业级特性请参考Lindorm产品首页
    特性 Apache Cassandra Lindorm for Cassandra
    基础功能 KV 多模(KV/Table/SQL/Search/Timeseries/File)
    性能 不涉及 最高14倍性能,10%的延迟,2倍压缩率。
    开源标准 CQL 兼容CQL(大部分情况下无需改造代码)
    一致性 可调一致性,需定期repair。 可调一致性(无需repair数据)
    服务模式 自建 集群托管或者Serverless可选
    可靠性 无SLA保障,开源软件BUG需要自行修复。 SLA保障,并具备主备双或、备份、异地容灾等能力。
    冷热分离 不支持 透明冷热分离降低成本
    全文检索 不支持 兼容CQL语法
    其他企业级功能 不涉及 支持全球多活、备份恢复等企业级能力。
    弹性 存储计算不分离,扩缩容需要搬迁数据,弹性能力差。 包括以下几点:
    • 支持Scale Up:升配和磁盘扩容。
    • 支持Scale Out:产品化扩缩节点。
    • 支持Serverless:自动弹性。
    生态 开源生态,打通依赖工具或程序开发。 支持开源生态和阿里云生态,与MySQL、Spark、OSS、MaxCompute等深度产品化集成。
    使用成本 高,取决于产品维护的研发投入。

    如果您需要将Cassandra数据导入至Lindorm宽表,具体操作请参见将Cassandra数据导入至Lindorm宽表