ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

【列数据库】NoSql的bigTable存储

2021-12-25 17:02:59  阅读:151  来源: 互联网

标签:存储 NoSql 数据库 key 数据 主键 bigTable row


前言:

  数据应该根据不同的需求存储,mysql适合oltp,acid事务型,如果有些数据是日志流、事件流、PB级别拓展、做统计的用处比较多,那么就需要一些比较适合的存储库;毕竟mysql拓展性也非常差;

列式存储:

  数据我们习惯了行式表达,但如果特别针对一个库中的某一列特别的需要聚合计算,如果在物理上用行式存储,那么查询数据的读盘的有效率就会低(一次读盘只有部分数据可用),所以列式存储就显得很重要,因为需要查找库中所有该列的数据,他们都存储在一起,自然就加大了读盘有效率。

主键:

  主键row key是在列式存储中最重要的概念,因为数据是唯一按照row key的物理顺序存储的,row key的设计也显得非常关键,一般来说,row key是多个列的组合,是多列索引,所以支持前缀索引,同时可以利用row key做二级索引,当然也可以做覆盖索引;可以把主键理解是map中的key,而value就是其他非主键列。

版本:

  因为数量量大,所以对于数据的更新和删除就不再适合物理操作,而是使用版本操作,数据库中版本操作的例子很多,例如MVVC利用多版本做并发控制,而列数据库则用作标记数据更新;

Region:

  region,存储、计算的一个整体区域,分区一般最大的含义就是按照物理机器分区,因为分布式用不同机器组成一个大的逻辑库,才能支持高可用和高性能,但前提是所有的请求都能均衡的分布到不同的机器中,我们这里把机器抽象为region,上面我们说,数据是按照主键物理排列存储的,所以如果要达成机器的均衡,我们希望数据的读取和写入不要集中在一个region中;如果一个数据库是按照范围分区,那么这就要求row key的设计最好不要是自增的;

  针对分区,我们需要另一个概念,就是partitionKey,只要patitionKey和rowKey都设计合理,才能发挥好分布式数据库架构的性能;

 

标签:存储,NoSql,数据库,key,数据,主键,bigTable,row
来源: https://www.cnblogs.com/iCanhua/p/15730680.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有