BigTable笔记

来源:互联网 发布:小智外设淘宝店 编辑:程序博客网 时间:2024/06/05 16:35

     NoSQL,即not only SQL,是一种非关系数据存储,不使用SQL语句进行查询。

     CAP,BASE和最终一致性是NoSQL数据库存在的三大基石。

     CAP原理:

    C:Consistency 一致性 
    A: Availability可用性(指的是快速获取数据) 
    P: Tolerance of network Partition分区容忍性(分布式) 

    这三个性质最多同时满足两个。




    BigTable就是GFS中的NoSQL,如同Hadoop中的Hbase一样。

    BigTable中的数据:

    Bigtable不是关系型数据库,但是却沿用了很多关系型数据库的术语,像table(表)、row(行)。BigTable有三个维:行,列以及时间戳。

    BigTable对存储在其中的数据不做任何解释,一律看做字符串。BigTable的存储逻辑可以表示为(row:string; column:string; time:int64)->string。

     行

     BigTable中的行关键字可以是任意字符串,但是大小不能超过64KB,行读写操作具有原子性。

    表中的数据都是按照行关键字以字典序排列,图中的com.cnn.www就是一个行关键字。不直接存储网页地址而是将其倒排有其好处:

     1,同一地址的网页会被存储到连续的位置

          2,倒排便于压缩数据

    列

    BigTable将列关键字组成列族,每个族中的数据都是属于同一个类型。

    族名:限定词(family:qualifier)

    图中的contents,anchor都是不同的族,而cnnsi.com和my.look.ca则是anchor族中不同的限定词。

    族同时也是BigTable中访问控制的基本单元。

    时间戳

    BigTable中的时间戳是64位的整数,如图中的t1,t2,t3


    BigTable的系统架构如下:

  


原创粉丝点击