Big Data的特点:
Volume:远超传统的关系型数据库的体量
Variety:海量的数据结构和格式
Velocity:数据增长的速度飞快
大数据时代,更在乎Schema on read,
Schema on Write:预先设计存储模型
Schema on read:稍后建模,取决于如何使用
NoSQL的特点:
不使用关系型模型,
不适用SQL系列语句
设计应用于分布式服务器
开源
为现代网络而设计
最终一致性
目的:
提高开发者的生产力,解决大量的数据
例如:JSON文件和图(graphs)
NoSQL共有四种类型:
Key-Value:key作为pk,value可以是任何数据(数字,数组,图片,json)类如Riak,Redis,Berkeley DB
document: 类似Key-value,value是一个标准化后的文档(Json,XML等)类如:MongoDB,CouchDB
column family:类似relational table,包含了非常多行,每一行可以存储多个列组成的集。
graph:包含点和纽带,社交图是非常普遍的类似例子,对于不方便建模的社交模型而言,graph显然更好。
CAP理论:
Consistency 一致性:每个人看到的数据都是相同的
Availablity 可获得性:系统永远保持在线,即使有的点失败
Parition Tolerance 切片的容忍性:系统永远在线,当点间网络断联
分布式数据只能满足其中两个
ACID:Transaction的四个特性
BASE:
Basically available:对任何请求都会有相应,但是数据可能会处于一定的变化和不一致的状态
Soft state:系统的状态也会发生变化,即使没有输入,但是最终都会趋于一致。
Eventual consistency:当输入结束后,所有的数据都都会趋于一致,或早或晚,但是系统不会检查一致性直到上一个transaction结束,且在下一个开始之前。