zoukankan      html  css  js  c++  java
  • 数据库系统概论(新技术篇)--中国人民大学【第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没有
    总结:

     
     
  • 相关阅读:
    3.10 Go Map哈希表
    3.9 Go Slice切片
    3.8 Go Array数组
    3.7 Go指针
    3.6 Go String型
    3.5 Go布尔型
    3.4 Go字符型
    3.3 Go浮点型
    3.2 Go整数类型
    3.1Go变量
  • 原文地址:https://www.cnblogs.com/musecho/p/10992244.html
Copyright © 2011-2022 走看看