必须了解的基本理论
大数据对数据存储的挑战(3高):
高并发读写需求: 对于实时性、动态性要求较高的社交网站,往往需要并发度达到每秒上万次的读写请求,需要数据库有着极高的并发负载。
高性能存储和访问需求: 随着动态交互网站Web2.0的兴起,产生的数据爆发式增长,面对海量的数据传统的数据库的效率非常低,对于非关系型数据库是基于键值对的,数据处理过程不需要经过SQL层的解析,效率相对很高。
高扩展性: 传统的关系型数据库很难实现水平扩展,当需要扩容时,关系型数据库往往需要进行停机维护与数据迁移,而这对于24小时不间断服务的网站显然是不可取的,而对于非关系型数据库是基于键值对,数据之间没有耦合性,能够非常容易水平扩展。
大数据对数据存储的挑战(3V):
海量(Volume):数据总量大
多样(Variety):数据类型多
实时(Velocity):数据处理速度快
ACID理论:(事务的基本特性)
A(Atomicty)原子性: 事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。
C(Consistency)一致性: 事务前后数据的完整性必须保持一致。
I(Isolation)独立性: 多个用户并发访问数据库时,数据库为每一个用户开启的事务,不能被其他事务的操作数据所干扰,多个并发事务之间要相互隔离。
D(Durability)持久性: 一个事务一旦被提交,它对数据库中数据的改变就是永久性的,接下来即使数据库发生故障也不应该对其有任何影响
BASE理论:
BA(Basically Available)基本可用: 分布式系统在出现不可预知的故障的时候,允许损失部分可用性——但请注意,这绝不等价于系统不可用。
S(Soft state)软状态: 指允许系统中的数据存在中间状态,并认为该中间状态的存在不会影响系统的整体可用性,即允许系统在不同节点的数据副本之间进行数据同步的过程存在延时。
E(Eventually Consistent)最终一致: 系统中所有的数据副本,在经过一段时间的同步后,最终能够达到一个一致的状态。
CAP原则:(分布式基本理论)
C(Consistency)一致性: 数据复制的时候,按照强一致性的方式进行数据复制。保证了在读操作总是能够读取到之前写入的数据,无论从那个主数据或者副本数据。
A(Availability)可用性: 数据写入成功后,正在进行数据复制时,任何一个副本节点发生异常也不会影响此次写入操作。可以理解为,此时数据的复制采用的是弱一致性,数据的读写操作在单台集器发生故障的情况下仍然可以正常执行。
P(Partition tolerance)分区容错性: 在服务实例发生异常时,分布式系统任然能够满足一致性和可用性。
尚学堂给同学们带来全新的Java300集课程啦!java零基础小白自学Java必备优质教程_手把手图解学习Java,让学习成为一种享受_哔哩哔哩_bilibili