文档章节

大数据存储之分表分库

zyt_1978
 zyt_1978
发布于 2016/05/06 10:02
字数 474
阅读 72
收藏 2

随着访问量和数据量的增长,即使一台单机能服务高达几个TB的数据、提供几万QPS的服务能力,也不足以满足大型系统的需求,便要开始实现分表分库。

常用分表分库方法:

一、水平分库

对主键进行hash或者取模(其实是一种特殊的hash),把数据分布到不同的DB服务器上,客户端通过路由或规则访问特定的数据库,将整个系统的数据和访问负载分散到多台服务器上,降低了单台机器的负载压力。

缺点:

第一,   数据和负载增加后添加机器的操作比较复杂;

第二,   许多跨行/跨表的修改通常涉及到多台机器,难以支持事务;

第三,   有些范围查询需要访问几乎所有机器;

第四,   RDBMS单机数据量小(例如许多情况下MySQL单机支撑200GB左右的数据时会有较好的性能),可能消耗较大的机器资源;

 

二、分布式B+树(类似于BigTable和HBase)

按主键的范围动态拆库,即把整个表看成主键的B+树,每个叶子节点(大约两百多MB)对应一个连续的主键范围,叶子节点可能因为修改删除等变得太大或太小从而进行分裂或者合并,容错、故障恢复以及负载平衡等都以叶子节点为单位

 

优点:简单地增加机器就可以,并且少量突发的机器故障对使用者甚至是透明的,负载平衡也比前一种方案更好,范围查询很容易实现且高效

缺点:事务的实现,因为BigTable只有单行事务,难以实现跨行跨表

本文转载自:http://binke.sinaapp.com/?p=152

zyt_1978
粉丝 8
博文 166
码字总数 21058
作品 0
程序员
私信 提问
nosql,数据量变大时的自然选择

sql解决数据量过大问题的方法 通常情况下,我们用sql数据库存储我们的数据。在项目刚开始的时候,用户量比较小,相应的数据量也比较小,并发压力也比较小。当我们的web应用越来越受欢迎后,用...

loveczp
2014/12/17
0
0
Mysql分表和分区的区别、分库和分表区别

分表和分区的区别: 一,什么是mysql分表,分区 什么是分表,从表面意思上看呢,就是把一张表分成N多个小表,具体请看:mysql分表的3种方法。 什么是分区,分区呢就是把一张表的数据分成N多个...

sailikung
2018/05/01
0
0
mysql分库分表策略

mysql数据库的存储会随着数据的增加而出现不同的性能瓶颈,如果继续采用关系型的数据库将要采取分库分表的策略。 分库:分库是最简单的操作,我们举个例子来说,一个网站的用户,同时面对的是...

wangshuaixin
2016/12/20
58
0
浅谈高性能数据库集群——分库分表

最近学习了阿里资深技术专家李运华的架构设计关于分库分表的教程,颇有收获,总结一下。 本文主要介绍高性能数据库集群分库分表相关理论,基本架构,涉及的复杂度问题以及常见解决方案。 分库...

caison
2018/07/02
0
0
【干货】数据库分库分表基础和实践

数据库架构的演变 在业务数据量比较少的时代,我们使用单机数据库就能满足业务使用,随着业务请求量越来越多,数据库中的数据量快速增加,这时单机数据库已经不能满足业务的性能要求,数据库...

中间件小哥
2018/08/31
0
0

没有更多内容

加载失败,请刷新页面

加载更多

以太坊中文文档翻译-区块

本文原文链接 点击这里获取Etherscan API 中文文档(完整版) 完整内容排版更好,推荐读者前往阅读。 区块(Blocks) 区块相关的 API,接口的参数说明请参考Etherscan API 约定, 文档中不单独...

Tiny熊
22分钟前
1
0
Linux 内核的一个问题

是virtio 驱动,但是没有启动 virtio-mmio virtio-mmio.0: Failed to enable 64-bit or 32-bit DMA. Trying to continue, but this might not work.....[ 1.047924] md: ... autorun......

MtrS
45分钟前
2
0
MySQL主从配置

17.1 MySQL主从介绍 17.2 准备工作 17.3 配置主 17.4 配置从 17.5 测试主从同步 一、 MySQL主从介绍

tobej
55分钟前
2
0
读书replay《博弈与社会》.1.20190526

前情 《美丽心灵》,一部讲数学家约翰·福布斯·纳什的电影,我第一次听到博弈理论就是在这部电影里。看过电影之后就一直想知道,博弈论究竟讲了什么。很久之后,20190417这天,我刷JD的购物...

wanxiangming
今天
2
0
iOS TableView层级结构剖析

首先上图 下面来分析一下tableView的层级结构 tableView的组成: 1.整个tableView有且仅有一个头部和尾部就是tableViewHeadView和tableViewFooterView2.tableView 可以有多个section,一个s...

HOrange
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部