Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
wushizhenking
advanced-java
提交
22a4f8ba
A
advanced-java
项目概览
wushizhenking
/
advanced-java
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
A
advanced-java
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
22a4f8ba
编写于
6月 24, 2019
作者:
Y
yanglbme
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
docs(high-concurrency): update database-shard-dynamic-expand.md
上级
04e70e16
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
5 addition
and
5 deletion
+5
-5
docs/high-concurrency/database-shard-dynamic-expand.md
docs/high-concurrency/database-shard-dynamic-expand.md
+5
-5
未找到文件。
docs/high-concurrency/database-shard-dynamic-expand.md
浏览文件 @
22a4f8ba
...
@@ -30,9 +30,9 @@
...
@@ -30,9 +30,9 @@
我可以告诉各位同学,这个分法,第一,基本上国内的互联网肯定都是够用了,第二,无论是并发支撑还是数据量支撑都没问题。
我可以告诉各位同学,这个分法,第一,基本上国内的互联网肯定都是够用了,第二,无论是并发支撑还是数据量支撑都没问题。
每个库正常承载的写入并发量是 1000,那么 32 个库就可以承载32
* 1000 = 32000 的写并发,如果每个库承载 1500 的写并发,32 *
1500 = 48000 的写并发,接近 5 万每秒的写入并发,前面再加一个MQ,削峰,每秒写入 MQ 8 万条数据,每秒消费 5 万条数据。
每个库正常承载的写入并发量是 1000,那么 32 个库就可以承载
32
* 1000 = 32000 的写并发,如果每个库承载 1500 的写并发,32 *
1500 = 48000 的写并发,接近 5 万每秒的写入并发,前面再加一个MQ,削峰,每秒写入 MQ 8 万条数据,每秒消费 5 万条数据。
有些除非是国内排名非常靠前的这些公司,他们的最核心的系统的数据库,可能会出现几百台数据库的这么一个规模,128
个库,256个库,512
个库。
有些除非是国内排名非常靠前的这些公司,他们的最核心的系统的数据库,可能会出现几百台数据库的这么一个规模,128
个库,256 个库,512
个库。
1024 张表,假设每个表放 500 万数据,在 MySQL 里可以放 50 亿条数据。
1024 张表,假设每个表放 500 万数据,在 MySQL 里可以放 50 亿条数据。
...
@@ -50,9 +50,9 @@
...
@@ -50,9 +50,9 @@
| 4593 | 17 | 15 |
| 4593 | 17 | 15 |
刚开始的时候,这个库可能就是逻辑库,建在一个数据库上的,就是一个
mysql
服务器可能建了 n 个库,比如 32 个库。后面如果要拆分,就是不断在库和 mysql 服务器之间做迁移就可以了。然后系统配合改一下配置即可。
刚开始的时候,这个库可能就是逻辑库,建在一个数据库上的,就是一个
mysql
服务器可能建了 n 个库,比如 32 个库。后面如果要拆分,就是不断在库和 mysql 服务器之间做迁移就可以了。然后系统配合改一下配置即可。
比如说最多可以扩展到
32个数据库服务器,每个数据库服务器是一个库。如果还是不够?最多可以扩展到 1024 个数据库服务器,每个数据库服务器上面一个库一个表。因为最多是1024
个表。
比如说最多可以扩展到
32 个数据库服务器,每个数据库服务器是一个库。如果还是不够?最多可以扩展到 1024 个数据库服务器,每个数据库服务器上面一个库一个表。因为最多是 1024
个表。
这么搞,是不用自己写代码做数据迁移的,都交给 dba 来搞好了,但是 dba 确实是需要做一些库表迁移的工作,但是总比你自己写代码,然后抽数据导数据来的效率高得多吧。
这么搞,是不用自己写代码做数据迁移的,都交给 dba 来搞好了,但是 dba 确实是需要做一些库表迁移的工作,但是总比你自己写代码,然后抽数据导数据来的效率高得多吧。
...
@@ -60,7 +60,7 @@
...
@@ -60,7 +60,7 @@
这里对步骤做一个总结:
这里对步骤做一个总结:
1.
设定好几台数据库服务器,每台服务器上几个库,每个库多少个表,推荐是 32
库
*
32
表,对于大部分公司来说,可能几年都够了。
1.
设定好几台数据库服务器,每台服务器上几个库,每个库多少个表,推荐是 32
库
*
32
表,对于大部分公司来说,可能几年都够了。
2.
路由的规则,orderId 模 32 = 库,orderId / 32 模 32 = 表
2.
路由的规则,orderId 模 32 = 库,orderId / 32 模 32 = 表
3.
扩容的时候,申请增加更多的数据库服务器,装好 mysql,呈倍数扩容,4 台服务器,扩到 8 台服务器,再到 16 台服务器。
3.
扩容的时候,申请增加更多的数据库服务器,装好 mysql,呈倍数扩容,4 台服务器,扩到 8 台服务器,再到 16 台服务器。
4.
由 dba 负责将原先数据库服务器的库,迁移到新的数据库服务器上去,库迁移是有一些便捷的工具的。
4.
由 dba 负责将原先数据库服务器的库,迁移到新的数据库服务器上去,库迁移是有一些便捷的工具的。
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录