数据库系统概论(新技术篇)--中国人民大学【第13讲】KEY-VALUE数据库(键值对数据库)

市面上主流的分布式文件系统(FS):
(Hadoop的)HDFS,(Google的)GFS
 
 
详见ppt
 
1.数据服务与键值对数据库:

数据服务:data serving
数据服务:数据的简单读写
数据库事务:也算一种数据服务,但属于mission-critical,较为复杂的数据服务

1)数据服务起源:
优化布局;
日志分析,用户画像,写用户属性;
高并发的简单数据读写;
数据规模大;
属性动态增减;

2)键值对数据库

3)数据库v.s.键值对数据库:
 
吞吐量大;可扩展性好,复杂性简单;最终一致性;接口:API;成本低;
 2.键值对数据模型

*为什么不直接使用HashTable?
因为 动态列增减,实现不便;

*为什么不直接使用关系数据库表?
大量空值,高并发;
动态列增减;
 
 
1)数据模型:

 2)键值对系统操作接口:

3.键值对数据库原理:
1)CAP原理

分布式系统的3个属性:只能满足2个,舍弃1个

分布式:必须满足P,一般CP
传统:保证CA,舍弃P
 
2)最终一致性
BASE协议

3)键值对系统设计考虑
*牺牲以下数据库特性:
4)HBase(键值对数据库的代表)系统架构:
5)HBase存储格式:
 
HBase中的所有数据文件都存储在Hadoop HDFS文件系统上
HBase中KeyValue数据的存储格式:HFile
6)存储模型与实现原理
 
写操作:memtable
读操作:sstable
7)典型键值对数据库:

8)
NeqSql保持了ACID
NoSql没有
总结:

 
 
原文地址:https://www.cnblogs.com/musecho/p/10992244.html