ImageVerifierCode 换一换
格式:PPT , 页数:39 ,大小:998.50KB ,
资源ID:379363      下载积分:2000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-379363.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Cassandra简介.ppt)为本站会员(fatcommittee260)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

Cassandra简介.ppt

1、Cassandra简介,Jametongb2bdba 童家旺 http:/,A highly scalable, eventually consistent, distributed, structured key-value store.,议题介绍,背景 基本前提 Scalability 基本的Storage Model CAP 公理简介 Cassandra使用案例 Cassandra设计 它山之石 Consistency Models(Eventual Consistency) Consistent Hashing Data Models Storage Model (SSTable &

2、MemTable) 故障检测 & Gossip 通讯,Cassandra的设计背景,Scale Up不可接受 满足海量数据存储需求 海量数据,主要是用户的信息与用户消息(类似于我们的反馈) 大量随机的读写 没有现成的解决方案,或者说现成的解决方案无法解决(4000个节点的Memcached) 很多应用并不是很依赖于关系模型了,Cassandra的设计目标,高可用性 最终一致性 经过权衡,在强一致性与高可用性之间选择了高可用性 动态可伸缩 乐观复制 可以动态调整一致性/持久性与延时 节点管理要保持低开销 最小化管理开销,Scalability,当我们增加一个系统中的资源,并能获取与增加的资源保持

3、适当的比例关系的性能提升,我们就认为这个服务具备了伸缩性。 资源投入与输出保持线性关系 为促进冗余投入的资源不会带来性能损失 能够处理异构资源 能做到运维高效 具备自修复能力 scalability is a function that represents the relationship between workload and throughput,Scalability2,Scale Out Vs Scale Up Scale Up-在同一个逻辑单元内增加资源,例如增加CPU/内存/网卡数量等. Scale Out-增加多个逻辑单元的资源,并使它们如同一个集中的资源那样提供服务(集群/

4、分布式/负载均衡等) Scale Up较为简单,但是规模有限,代价越来越大 Scale Out需要从架构层面设计,规模没有限制,代价由架构决定.,基本的存储模型,行存储 Vs 列存储 Vs 混合存储 行存储适合查找整行的存储,不过需要配合索引 列存储适合查找少量列,适合做基于列的统计/查询 混合列存储. 将需要经常组合查询的列组合在一起. 将其他列(列的组合)单独存储.,基本的存储模型2,CAP Theorem,Consistency the system provides a view of the distributed state which is consistent between

5、observers 所有的用户都可以看到一致的系统状态 Availability The system as a whole should continue functioning , even if servers should fail or be unreachable due to network failures 无论何时,哪怕出现硬件故障,数据中心故障,系统也可提供服务,哪怕是降级的服务 Partition Tolerance The system as a whole should continue to function, potentially with degradatio

6、ns in service, even if the network can fail in arbitrary ways. 哪怕在网络出现分割的情况下,各个独立的子系统都可以继续提供服务 Can Only Choose Two From Above Three,CAP Theorem2,BASE Basic Availability Soft state Eventual Consistency ACID Atomic Consistency Isolation Durability,CAP Theorem3,http:/ Consistency Models(Eventual Consis

7、tency) Consistent Hashing Data Model Storage Model (SSTable & MemTable) Gossip 通讯 故障检测,它山之石,它山之石2,Dynamo-like features Symmetric,P2P architecture No Special nodes, No SPOF(Single Point Of Failure) Gossip Based cluster management Distributed hash table for data placement Pluggable partitioning Plugga

8、ble topology discovery Pluggable placement strategies Tunable, Eventual Consistency BigTable-like Features Sparse , ”columnar” data model Optional,2-level maps Called Super-Column Families SSTable Disk Storage Append-only Commit Log MemTable (Buffer & Sort) Immutable SSTable Files Hadoop Integration

9、,Consistency Models,一致性模型是程序员与系统之间交互的一个协议,如果程序员遵循特定的规则,系统就可以保证结果的一致性以及结果的可预测性 一致性模型决定了数据可见与显示更新顺序的规则 一致性是一个连续的平衡的过程,客户端一致性,强一致性 所有用户都可以同时看到同一份一致的数据(ACID标准) 弱一致性 最终一致性(弱一致性的变种) 如果系统确保一定的时间不做任何变更,最终所有的查询都会返回相同的最新值 因果一致性 “读己之所写(read-your-writes)“一致性 会话(Session)一致性 单调(Monotonic)读一致性 单调写一致性,服务端一致性,N 数据复制

10、的份数 W 更新数据是需要保证写完成的节点数 R 读取数据的时候需要读取的节点数 如果W+RN,写的节点和读的节点重叠,则是强一致性 如果W+R=N,则是弱一致性,Cassandra支持的一致性,一致性模型取决于副本(Replicas)的数量(N),一般为3在Cassandra中一般选择Quorum数量的读节点数(R,一般为2)以及Quorum数量的写节点数(W,一般为2),Read Repair,每次读取时都读取所有的副本 只返回一个副本的数据 对所有副本应用Checksum或Timestamp校验 如果存在不一致 取出所有的数据并做合并 将最新的数据写回到不同步(out of sync)的

11、节点,Hinted handoff,Hinted handoff 主要解决节点Down掉以后的复制问题. Cassandra会往一个活动节点记录信息,此节点需要重新Apply此变更. 如果节点Down掉时间较长,可能会导致出现较大的Hinted handoff 日志.,Hinted handoff解决的主要问题 降低一个临时Down掉的节点恢复的速度 在一致性(Consistency)允许的情况下,提供尽可能好的写可用性(always writable),Consistent Hashing,为所有的Key计算一个Hash值(一般为Md5计算的128位Hash值) 这些Hash值都分布在一个环

12、(Ring)上. 最大的Hash值的位置与最小的Hash值相邻 每个可提供服务的节点负责环上的一段区间 每个节点都有一个环上的令牌(Token) 每个节点负责它的令牌到顺时针方向的下一个令牌之间的区域,Consistent Hashing2,Data Model,Keyspace 包含Column Family Column Family 标准Column Family或Super Column Family 两级索引(Key以及Column Name),Column以及SubColumn的排列顺序 Column总是有序的,Column通过其ColumnName进行排序 指定你使用的Compa

13、rator TimeUUID LexicalUUID UTF8 Long Bytes CreateYourOwn,Data Model,KEY,ColumnFamily1 Name : MailList Type : Simple Sort : Name,Name : tid1 Value : TimeStamp : t1,Name : tid2 Value : TimeStamp : t2,Name : tid3 Value : TimeStamp : t3,Name : tid4 Value : TimeStamp : t4,ColumnFamily2 Name : WordList Ty

14、pe : Super Sort : Time,Name : aloha,ColumnFamily3 Name : System Type : Super Sort : Name,Name : hint1 ,Name : hint2 ,Name : hint3 ,Name : hint4 ,Name : dude,C2 V2 T2,C6 V6 T6,Column Families are declared upfront,Columns are added and modified dynamically,SuperColumns are added and modified dynamical

15、ly,Columns are added and modified dynamically,Storage Model,Key (CF1 , CF2 , CF3),Commit Log Binary serialized Key ( CF1 , CF2 , CF3 ),Memtable ( CF1),Memtable ( CF2),Memtable ( CF2),FLUSH,Data sizeNumber of ObjectsLifetime,Dedicated Disk, - - - ,BLOCK Index Offset, Offset,K128 Offset K256 Offset K3

16、84 Offset Bloom Filter,(Index in memory),Data file on disk,Storage Model-Compactions,K1 K2 K3 - - -,Sorted,K2 K10 K30 - - -,Sorted,K4 K5 K10 - - -,Sorted,MERGE SORT,K1 K2 K3 K4 K5 K10 K30 ,Sorted,K1 Offset K5 Offset K30 Offset Bloom Filter,Loaded in memory,Index File,Data File,D E L E T E D,Storage

17、Model-写操作,客户端给Cassandra集群的任一随机节点发送写请求 “分割器“决定由哪个节点对此数据负责 RandomPartitioner (完全按照Hash进行分布) OrderPreservingPartitioner(按照数据的原始顺序排序) Owner节点先在本地记录日志,然后将其应用到内存副本(MemTable) 提交日志(Commit Log)保存在机器本地的一个独立磁盘上.,Storage Model-写相关特性,关键路径上没有任何锁 顺序磁盘访问 表现类似于写入式缓存(write through cache) 只有Append操作,没有额外的读开销 只保证基于Colu

18、mnFamily的原子性 始终可写(利用Hinted Handoff) 即使在出现节点故障时仍然可写,Storage Model-读操作/特性,从任一节点发起读请求 由“分割器“路由到负责的节点 等待R个响应 在后台等待N - R个响应并处理Read Repair,读取多个SSTable 读速度比写速度要慢(不过仍然很快) 通过使用BloomFilter降低检索SSTable的次数 通过使用Key/Column index来提供在SSTable检索Key以及Column的效率 可以通过提供更多内存来降低检索时间/次数 可以扩展到百万级的记录,Anti-Entropy Gossip 通讯,Gos

19、sip 协议主要用来管理集群会员信息 还用来管理各种系统状态. 每个节点的状态以及其他会员的活动状态等. 通讯效率非常高,只需要Log(N)回合就可以将状态传递给集群的N个节点 每隔T秒,每个节点都会自增自己的Heartbeat信息并通过Gossip传递给其他节点,Gossip-初时状态,Gossip-第一回合,Gossip-第3回合,Gossip-第3回合,Gossip-第4回合,故障检测,Cassandra使用Accrual 故障检测器 在系统管理,复制,负载均衡等领域应用广泛 它的输出值为一个数值(Phi, ),表示此节点面临故障的可疑级别 它也被称为自适应故障检测器,可根据网络环境做自适应调整 应用设置相应的Phi值,触发可疑节点并做针对性的处理 在Cassandra中,默认的Phi值为5,检测到故障的时间在10-15秒 具体设置的Phi值表明达到这个可疑级别的节点被认为已经出现故障,

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1