找回密码
 注册

微信登录

微信扫一扫,快速登录

萍聚头条

查看: 1586|回复: 22

[其它] 大家见过最恐怖的数据库表多大,增幅如何,这里我们只说关系数据库。。。

[复制链接]
发表于 2013-10-29 22:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册 微信登录

×
本帖最后由 雪候鸟 于 2013-10-29 23:59 编辑

我最近的工作主要是查询性能优化,有一个价目表,单表每天平均插入两2千万条记录。这是我见过最大增幅的表 。大家有没有更恐怖的。。。

***************************

估计是我上下文没有交代清楚。我补充一下,没有性能问题,也不需要什么性能方案,就是觉得这个需求不常见。
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 2013-10-29 22:21 | 显示全部楼层
2千万条记录 有一天的时间来插入,一天24小时,一小时3600秒。可以先插入,等到达IO瓶颈后,开始队列它,然后一段一段的插入,完全不是问题。
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-10-29 22:34 | 显示全部楼层
mandriva 发表于 2013-10-29 21:21
2千万条记录 有一天的时间来插入,一天24小时,一小时3600秒。可以先插入,等到达IO瓶颈后,开始队列它,然 ...

还没有什么性能问题。你们那里也有这个数据量插入量 吗
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 2013-10-29 22:44 | 显示全部楼层
雪候鸟 发表于 2013-10-29 21:34
还没有什么性能问题。你们那里也有这个数据量插入量 吗

我们这里没有,我只是就 big data processing 阐述一般的解决方案,能处理最大数据吞吐的是非关系数据库的数据中心,比如说谷歌的 chunk server 服务器群,即使是一台服务器处理需求和响应的能力有限,通过若干chunk server 的合力造成的规模也是相当灿烂的。
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-10-29 23:13 | 显示全部楼层
mandriva 发表于 2013-10-29 21:44
我们这里没有,我只是就 big data processing 阐述一般的解决方案,能处理最大数据吞吐的是非关系数据库 ...

我们公司非IT公司,所以没数据中心的概念。数据量还big不起来。你专门搞big data的吗
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 2013-10-29 23:23 | 显示全部楼层
你这个问的我很是莫名其妙啊,我的专业是MB,以前有过这些方面的工作经历。其余就回答不了你了,呵呵。
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-10-29 23:25 | 显示全部楼层
mandriva 发表于 2013-10-29 22:23
你这个问的我很是莫名其妙啊,我的专业是MB,以前有过这些方面的工作经历。其余就回答不了你了,呵呵。

有意思,遇到了一个MB参与我的贴子。
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 2013-10-29 23:54 | 显示全部楼层
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 2013-10-30 00:16 | 显示全部楼层
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 2013-10-30 00:18 | 显示全部楼层
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-10-30 00:41 | 显示全部楼层
本帖最后由 雪候鸟 于 2013-10-29 23:43 编辑
woo2333 发表于 2013-10-29 23:18
怎么优化还是问问你们那个ocm吧。。。


谁也用不着问,ocm是偏dba, 不见的sql优化有多精通。就是数据增量有点大,这样的需求不是很常见,没有性能问题。
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-10-30 00:43 | 显示全部楼层
本帖最后由 雪候鸟 于 2013-10-30 00:15 编辑
woo2333 发表于 2013-10-29 23:16
Partitioning option….


分区不是银弹, 不是所有情况都使用。分区列不出现在查询里,partition pruning也用不上,反而拖累性能。当然我说的是oracle, 如果你说的是其他数据库例如db2又另说了。分区的概念就不一样了
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-10-30 00:45 | 显示全部楼层
本帖最后由 雪候鸟 于 2013-10-29 23:53 编辑
乐水鸣佩环 发表于 2013-10-29 22:54
多观察,你遇到是一个通才


是不是通才不知道,关键是我继续问人家就不说了,还觉得我莫名其妙。我又不认识他,怎知他学习MB的。2千万每天对oracle来说也不是什么大问题,根本不用每天分段插入,5分钟插如几百万轻轻松松,关键是这个需求不常见。
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-10-30 01:01 | 显示全部楼层
mandriva 发表于 2013-10-29 22:23
你这个问的我很是莫名其妙啊,我的专业是MB,以前有过这些方面的工作经历。其余就回答不了你了,呵呵。

我不认识你,怎么知道你是MB. 为什么我莫名奇妙呢? 前面你句句big data, 我自然感兴趣你是否是专门从事big data的,于情于理我不觉得我问题有多奇妙。
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 2013-10-31 23:57 | 显示全部楼层
雪候鸟 发表于 2013-10-29 23:43
分区不是银弹, 不是所有情况都使用。分区列不出现在查询里,partition pruning也用不上,反而拖累性能 ...

Partition有物理表自身的限制, 还会和一些其他的数据库特性起冲突, 比如说Index in RAM和Index covering. Sharding可以解决这个问题, 但是需要代码层面的修改. 
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 2013-11-1 00:05 | 显示全部楼层
mandriva 发表于 2013-10-29 21:21
2千万条记录 有一天的时间来插入,一天24小时,一小时3600秒。可以先插入,等到达IO瓶颈后,开始队列它,然 ...

这不是个时间累加的过程, 特别是如果插入是在传统数据库上的话, 随着单表数据量的增长, 索引的创建和维护开销都是极大的, 一天2千万条插入, 如果再加上同时需要其他使用导致的读写, 是个需要花功夫的事情, 不是"完全不是问题".

横向的比较例子, 根据2011年的数据(希望没记错), Twitter每天的新数据量大概是1亿4千万, Facebook like每天的新增量是10亿, 相比而言, 2千万也是不小的量级了.
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 2013-11-1 00:16 | 显示全部楼层
雪候鸟 发表于 2013-10-29 23:45
是不是通才不知道,关键是我继续问人家就不说了,还觉得我莫名其妙。我又不认识他,怎知他学习MB的。2 ...

你这个, 没用任何分表分区或者其他的优化就这样一直跑着一天加2千万条的操作了? 目前还没有性能问题?
这个Oracle的性能也太强了吧, 你的应用跑了多久了, 现在单表里面有多少数据了?

我觉得任何一个主流数据库几分钟内插入几百万应该都不是问题, 特别当插入是从SQL而不是应用层来的时候. 但是, 当数据量持续累加后, 我觉得肯定会遇到问题的吧... 特别是你这个表还得兼顾相应其他CRUD的操作...

Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-11-1 00:29 | 显示全部楼层
本帖最后由 雪候鸟 于 2013-11-1 00:15 编辑
never_say_never 发表于 2013-10-31 23:16
你这个, 没用任何分表分区或者其他的优化就这样一直跑着一天加2千万条的操作了? 目前还没有性能问题?
这 ...


:-),老弟问道点子上了. (看你ID很新,姑称老弟了) 。因为这个表是个价格建议表, 所以使用网络爬虫全世界的抓一些价格回来,然后做为我们公司对客户议价的基础,所以每天插入量很大。数据倒是从应用层过来的,是batch分批插入的,所以性能不是问题。因为是个价格参考表,数据“老化”的很快,最多保存一个月了, 常用的也就是最后3天的数据,所以索引和数据的热块多数都在内存。每天也批量删除3次,表的整体记录维持在10亿以內,硬件还算不错能挺得住。当然频繁的插入,造成统计数据不准,optimizer选择的执行计划偏差大的情况还是有的。这个表上的几个不稳低sql的执行计划都让我固定了,所以查询性能问题不大。
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-11-1 00:38 | 显示全部楼层
本帖最后由 雪候鸟 于 2013-11-1 00:41 编辑
never_say_never 发表于 2013-10-31 22:57
Partition有物理表自身的限制, 还会和一些其他的数据库特性起冲突, 比如说Index in RAM和Index coverin ...


看老弟用词不是搞oracle出身的,你看家的是哪个数据库?sharding在oracle里不好做,尤其是已经跑了20多年的应用了。数据库里将近一万个表,关系错综复杂做垂直sharding不是不可能,分了以后到时候网络压力更大例如跨库的join。做水平sharding,oracle天生sharing everything特性造成在这方面是个短板。所以oracle不适合very large的关系数据库。关系数据库里db2, mysql倒是可以这做,可以share nothing。oracle我觉得整体来说,更适合高并发业务密集的应用,不适合数据密集的。你说呢?
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 2013-11-1 01:57 | 显示全部楼层
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-11-1 04:34 | 显示全部楼层
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 2013-11-1 09:37 | 显示全部楼层
雪候鸟 发表于 2013-10-31 23:38
看老弟用词不是搞oracle出身的,你看家的是哪个数据库?sharding在oracle里不好做,尤其是已经跑了20多 ...

哈, 原来是这样, 不过单表10亿也很多了. 我经手过的, 最大的也就是单表1.5亿, 日常使用场景, 开源数据库, 用了Partition, 在PC Server上面跑, 而且估计在10亿的时候就会出现物理瓶颈了.

没太看懂关于Oracle垂直Sharding是什么意思, 嗯, 你是说垂直Partitioning? 我没有特定的数据库偏好, 都用过, 不过用Oracle是很久很久之前的事了, 那时水平还很低, 没意识到任何性能问题 ;-p

我也觉得这些大数据库厂商用于传统事务还可以, 对大规模数据而言, 成本太高了, 都是堆硬件, 竞争不过开源数据库, 更不用说现在的NoSQL数据库了.

Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-11-1 16:41 | 显示全部楼层
never_say_never 发表于 2013-11-1 08:37
哈, 原来是这样, 不过单表10亿也很多了. 我经手过的, 最大的也就是单表1.5亿, 日常使用场景, 开源数据库, ...

你用的什么开源数据库? 集群了吗? 其实一般传统性企业数据量根本没有那么大,big不起来,还不用考虑nosql. 我倒是考虑入过业务继续增长,可以用mysql配合oracle使用。客户查询信息或者简单事务的时候用mysql, 开始下订单的时候再从应用层把链接转义到oracle上。
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册 微信登录

本版积分规则

Archiver|手机版|AGB|Impressum|Datenschutzerklärung|萍聚社区-德国热线-德国实用信息网

GMT+2, 2025-5-17 21:28 , Processed in 0.098368 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表