hbase原理与CAP理论


hbase原理与CAP理论

1.传统acid数据库 2.分布式CAP理论出现 3.why 4.哲学发展 5.hbase设计的使用

hbase 部分

1. 存取数据库的方式(api,thrift,rest,pig,sql)
2. 数据库设计r-c-r-t
3. 服务架构
4. 物理结构
5. 进程结构(haster regionserver 职责  和之间关键进程 MemStore)
6. 内存结构
7. 逻辑结构
8. 寻址
9. robin
10. hbase mapreduce
11. rpc架构
12. zookeeper服务发现健康检查,可用性
13. WAL
14. SPLIT COMPACT HLOG
15. HFILEv2
16. CAP 机架感知,regionserver高可用
17. 一致性HASH
18. mvcc


关于性能,空间换时间的策略:用尽可能用快资源换慢的资源,快的行为,负载均衡和hotspot,mvcc,事务干扰无阻塞,
特性都有性能设计:
可用性->一致性->容错性设计->隔离设计。

在实现任何一层,必须保持辩证统一的特性,如CAP,约是底层设计越是符合严格的事务ACID理论。

事务 是数据库的灵魂。 acid是事务的特性。现代理论将其弱化成BASE理论,现代理论有争论不休的因素,最难做到的是统一,会有很多的矛盾问题让系统无法正常工作下去,统一固然能解决很多的问题,如果硬要理论在这里应用,这必然是错误的,走向形而上的怪圈。那些在运行在系统的策略大都具有很多的特性,互相掺杂,不能单一拆分来看,不能片面,每个实在的个体策略都是完成的,契合实际的,应运而生的,也会随之而去,随新生消散,真正的意义是使用,使用既是意义。
有很多人帮你办一件事的时候就是base。
1.做与不做。2.一致性 3.隔离性 4.持久性


在hdfs层,最终使用了BASE理论,保持弱一致性,软状态特性,和最终一致性,下面将和实际的代码实现结合辩证讲解如何从传统的ACID理论量变成一个标准BASE理论的完整实践。
传统 原子性:做与不做。 HDFS实现的可用性讲解,hdfs包括4个级别架构,物理机架感知,数据副本,多线程并发,缓存暂时可用解决暂时问题(脑裂后短暂中断),多namenode策略joulnode,路由策略,网络浮动等特性,选举策略类似算法,尽量做的意愿。
传统 一致性:强一致性。 弱一致性实现,延迟同步,缓存设计,软状态zk服务发现实现。
传统 隔离性:锁的方案,锁的控制粒度,hdfs锁,hbase各个级别锁,系统锁,JAVA锁。
传统 持久性: 容错性与恢复力。hdfseditlog,hlog,archive,日志压缩性能提升,用网络分区实现事务恢复力的实现比较复杂。hdfs事务操作问题。 hbase跨regionserver级操作数据的事务,也就是跨HLOG级事务的不支持问题。




传统数据库事务avid理论,即使现代数据库设计cap反应,是做成一个库的考虑。另外的隔离性是具体存取问题即是对锁的描述。锁的终极概念是指向空间事态的延展。
cap理论 可用性,一致性,容错性。

是acid的弱化,对 持久性特征为完整记录的能力,具有恢复力。这样对应到cap是集群的高可用性,使其具有恢复力,能失败恢复方案,能回滚。
原子性是容错性的一种强化,网络分区中大都数是可以做的,脑裂之后,独立保持原子性还可以提供容错机制,做完任务,不能中断。原子性讲必须做,必须不做的意愿。网络分区意愿是尽量做。

二段提交 
三段提交
大山 /
Published under (CC) BY-NC-SA in categories   tagged with