阿里云Cassandra&X-Pack Spark云数据库技术剖析-19年09月版本

阿里云Cassandra&X-Pack Spark云数据库技术剖析
为什么选择Cassandra、Spark
Cassandra + Spark解决什么问题

展开查看详情

1.Cassandra & X-Pack Spark 云数据库技术剖析 曹⻰龙(封神) 阿⾥里里云⾼高级技术专家

2. 01 为什什么选择Cassandra? Contents ⽬目录 02 Cassandra + Spark 03 案例例介绍

3. 初级架构师 APP ECS APP ECS APP ECS Redis Redis MySQL MySQL MySQL MySQL MySQL

4. 中级架构师 No Join 主站 APP ECS APP ECS APP ECS MySQL MySQL MySQL Redis Redis MySQL 物联⽹网平台 APP ECS 地址中⼼心 MySQL MySQL MySQL MySQL 商品中⼼心 算法 APP ECS 客户中⼼心 APP ECS MySQL MySQL MySQL MySQL MySQL MySQL 推荐⻛风控平台 历史订单

5.为什什么选择Cassandra? 01

6. Node1 R1 kill -9 R2 R3 Node2 Node3

7.Cassandra Kill -9

8. 极致可⽤用 P2P-QUORUM HA机制 Raft 单内存副本+共享存储 ⼤大部分Coordinator重试 故障恢复机制 少部分情况客户端重试 客户端重试,超时时间、log回放 客户端重试,超时时间、log回放 客户端重试,超时时间、log回放 ⽆无等待超时时间 + ⽆无log回放 30s~10min 30s~10min 30s~10min 故障恢复时间 ⽆无感知时间 (超时⼼心跳+⽇日志回放) (超时⼼心跳+⽇日志回放) (超时⼼心跳+⽇日志回放) 代表系统 Cassandra MySQL、MongoDB、Redis TiDB HBase

9.always online

10. Node Node Node Node Node Node Node Node Node Node Node Node Node Node Node Node Node Node Node • 平滑扩展 • 80GB ~ 10PB 多DC • 1000QPS ~ 1000WQPS • 单DC:1节点 ~ 500个节点 Node • 1DC ~ 6DC 多地多活 • ⽀支持规格升级(云环境)

11. client R3 W R2 R1 W W W W R1 R2 北北京-C区 DC1 北北京-F区 DC2 W W R1 R2 Coordinator client R Write 杭州-E区 DC3 (异地容灾) Read ⽤用户VPC

12.平滑扩展

13.⼜又来⼀一个数据库?! 程序员好难啊! 容易易上⼿手吗?

14.CQL 安全 多语⾔言SDK 运维简单 类SQL的语⾔言 认证及鉴权体系 性能好(⾮非thrift) ⼀一个进程、⽆无Proxy、HA、ZK等过多⻆角⾊色 NoSQL = Not Only SQL 会MySQL的DEV&DBA ⼀一天之内学会 Cassandra!!!

15.好⽤用、运维简单

16. Cassandra功能 功能描述 基本能⼒力力 PB级别、千万QPS、平均延迟ms、999延迟<40ms NoSQL基本能⼒力力 schema动态列列,列列数⽀支持百万列列,⾏行行数⽆无限制,TTL,ZSTD等⾼高压缩等 易易⽤用CQL ⽀支持类似SQL的语法 复杂类型 ⽀支持Map、Set、List、JSON等复杂类型 UDF ⾃自定义函数 索引 ⽀支持原⽣生localindex、MV全局索引、SASI全⽂文索引、集成Lucene作为更更强的全⽂文索引 可调⼀一致性 ⽀支持强⼀一致性、最终⼀一致性、多机房⼀一致性等多种⼀一致性级别 CAS ⽀支持⾏行行级别事务 多活 原⽣生⽀支持多DC、同城多活、异地多活等 同步 Datax⽀支持Cassadnra & C*多活同步 & BulkLoad(快速加载数据)等 CDC 数据可以增量量流出,对接流式系统 安全 ⽀支持 账户名密码、TLS/SSL链路路加密 运维 单进程运维简单、⽀支持审计⽇日志等、监控与grafana&promethus集成 与Spark、Kafka、ES、Solr集成 ⽀支持与Apache Spark、Kafka、ES、Solr集成 RocksDB https://github.com/Instagram/cassandra

17. 与Kafka结合 kafka-connect-cassandra Spark 与ES结合 https://www.elassandra.io/ spark-cassandra-connector 与Lucene结合 LocalIndex RocksDB 同步 Rocksandra CASSANDRA-13474 DataX For Cassandra

18. 时序: 时序: 物联⽹网平台: KairosDB heroic Dicehive Flink Presto 时空: Spring 物联⽹网平台: GeoMesa ThingsBoard Kafka Spark Streaming 图: Solr Spark JanusGraph 数据同步:DataX RocksDB Lucene ElasticSearch

19.功能&⽣生态丰富

20.always online 平滑扩展 好⽤用&运维简单 功能&⽣生态丰富

21.Cassandra全球宽表领域 第⼀一! 国内缺乏宣传情况下,排名靠前! 中国的 材料料来⾃自: https://db-engines.com/en/ranking/wide+column+store https://cs.enmotech.com/dbRank

22. Cassandra十年磨一剑 amazon.com Google DynamoDB BigTable 阿⾥里里云发布云Cassandra father mother Cluster management, sparse columnar data replication 、fault tolerance model、LSM storage V3.7 Time-window compaction, hint compression V3.0 Apache Cassandra Materialized views, more efficient storage engine V2.0 Lightweight transactions CQL 、CAS、MV、SASI 、CDC Index etc V1.1 Self-tuning caches, row-level isolation, a V1.0 compression, leveled compaction V0.8 CQL & Secondary indexes and online schema changes Apache顶级项⽬目 08 09 10 11 12 13 14 15 16 17 18 19 20

23. 阿里云Cassandra改造点 • ⾃自动化运维 • 兼容DynamoDB • 备份恢复(待⽀支持) • 全链路路优化性能提升100%+ • ⾃自研公⽹网访问:多种⽹网络环境vpc, 公⽹网,Server⾃自动切换路路由链路路,开源客户端⽆无需改动 • ⾃自研分级安全插件:在原有super user上,多⼀一级system user,保护云上核⼼心资源不不被篡改 • 对接到阿⾥里里云产品⽣生态 - DTS、CMS、CDP、云Kafka、X-Pack Spark等

24. 阿里云Cassandra简介 云数据库Cassandra版 是在线可靠的 NoSQL 可调⼀一致性的分布式数据库服务,⽀支持类SQL语法CQL,提供 强⼤大的分布式索引能⼒力力,提供安全、多活容灾、监控、备份恢复等企业级能⼒力力,兼容DynamoDB协议。 SQL表达 扩展性 强⼤大的索引 安全 CQL语⾔言,⽀支持常⻅见的SQL语法 1节点 ~ 500个节点 ⽀支持⼆二级索引、全⽂文索引 ⽀支持账号/密码、⽀支持VPC、⽩白名单 ⽅方便便 MySQL体系⽤用户过渡到NoSQL 80GB ~ 10PB 可以集成Lucene ⽀支持 Keyspace、table授权 1000QPS ~ 1000WQPS ⽀支持地理理等各种复杂索引 链路路加密 - SSL/TSL 1DC ~ 6DC 多活、⼀一直在线、可调⼀一致性 兼容DynamoDB X-Pack Spark 专家服务 ⼀一直在线,⽀支持同城多活 兼容AWS DynamoDB的客户端 深度集成 X-Pack Spark 7*24⼩小时 值班保障稳定性 单节点挂,业务⽆无感知 ⽆无缝迁移 DynamoDB ⽀支持⼀一站式 流、分析 源码级别专家服务团队 可调⼀一致性,满⾜足不不同场景的业务

25. 阿里云Cassandra架构 搭配X-Pack Spark(流批) 聊天 新闻 历史 对象 收藏夹 ⽇日志& 商品 在线 在线 ⽤用户 物联⽹网 ⽇日志 …… 消息 推送 订单 存储 ⽹网⻚页 详情 ⻛风控 推荐 画像 ⻋车联⽹网 分析 Always Online &评论 BulkLoad导⼊入 CQL语法(DDL & DDL)基本类型&Map&Set&List类型 原⽣生多语⾔言⽀支持 Java/Python等 DynamoDB兼容 X-Pack Spark 认证&鉴权 动态列列 百万列列 索引 & MV视图 & SASI全⽂文索引 多活 DMS SSL&TLS TTL CDC ⾼高压缩 OffHeap 可调⼀一致性 监控报警 DTS&DataX 审计 Gossip Partitioner Snitch Replica 可扩展 备份恢复 C* LSM引擎 RocksDB(待⽀支持) Lucene(待⽀支持) 集群管理理

26.Cassandra + Spark 02

27. MlLib 算法 Spark APP ECS Cassandra Parquet MySQL MySQL MySQL 推荐⻛风控平台 推荐⻛风控平台

28. X-Pack Spark整体架构 Python&Scala Streaming SQL MlLib …… 数据⼯工作台 &Java RDD 降成本 Spark Core ElasticNode X-Connector 元数据管理理 Cassandra 增量量Delta(待研发) 归档 集群管理理 HBase Phoenix ApsaraDB FileSystem HDFS HDFS MongoDB RDS 回流 D1 云盘 OSS 计量量计费

29. X-Pack Spark连接能力 链接所有的数据库及消息中间件 OSS 开源Kafka Cassandra 云Kafka X-Pack RDS Spark LogHub MongoDB 基本优化: DataHub schema映射 Redis 算⼦子下推 消息 分区裁剪 HBase 列列裁剪 BulkGet Phoenix 优先⾛走索引 POLARDB Next:NoSQL 特点 ADS4PG 化 嵌套、动态schema的⽀支持 体 -⼀一 ODPS 环 存储 闭