- 快召唤伙伴们来围观吧
- 微博 QQ QQ空间 贴吧
- 文档嵌入链接
- 复制
- 微信扫一扫分享
- 已成功复制到剪贴板
阿里云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 环 存储 闭