大数据定义
超大规模数据库:(Very large database)管理的数据集有数百万条记录
大数据:无法在可容忍的时间内用现有的IT技术和软硬件工具对其进行感知、获取、管理、处理和服务的数据集合。
PB(1000TB)或EB(10^6TB)或更高的数量级数据,包括结构化、半结构化、非结构化的数据
特点
巨量(Volume)、多样(Variety)、快变(Velocity)、价值(Value)
大数据管理系统
NoSQL数据管理系统
非关系数据库(Non-Relational),为了提高储存能力忽然并发读写能力采用简单的数据模型,复杂操作留给应用层实现
支持的数据类型
包括key-value模型、BigTable模型、文本(document)模型、图模型
key-value模型:按照key值来存储和获取Value值,Value值可以是无结构的二进制吗或纯字符串。需要应用层来解析相应的结构。
BigTable模型:Columns Oriented,支持结构化数据,包括列、列簇、时间戳、版本控制等元数据的存储。按列存储。
文本(document)模型:支持复杂的结构定义,转换为JSON或类似格式的结构化文档。
图模型:记为G(V,E),V为节点的集合,E为边的集合。支持图结构的各种算法。
| 操作方式 | 一致性、并发控制 | 扩展性 | 数据量 | 成本 | 代表系统 |
关系数据库SQL | 易用SQL | ACID强一致性 | <1000结点 | TB | 高 | Oracle、DB2 |
NoSQL系统 | Get/Put等存放原语 | 弱一致性 最终一致性 | >10000结点 | PB | 低 | BigTable、PNUTS、Clouders、Redis |
NewSQL系统 | SQL | ACID | >10000结点 | PB | 低 | VoltDB、Spanner。。。。nbm.l.l |