浏览 4082 次
该帖已经被评为隐藏帖
|
|
---|---|
作者 | 正文 |
发表时间:2009-04-03
mysql 在一定量数据后(一般观点是 mysql 单表 200-300万 时性能最好,数据再多性能就开始下降),性能下降很快,且大数据量情况下,mysql 稳定性/数据可靠性是问题。 postgresql 8.2 的官方说明如下: http://www.postgresql.org/about/ QUOTE: Limit Value Maximum Database Size Unlimited Maximum Table Size 32 TB Maximum Row Size 1.6 TB Maximum Field Size 1 GB Maximum Rows per Table Unlimited Maximum Columns per Table 250 - 1600 depending on column types Maximum Indexes per Table Unlimited mysql 目前只是适合 跑 web 应用,对于海量数据存储、数据仓库 不合适。 postgresql 在国内早有人做大型商业应用。 QUOTE: 对于大型应用,PostgreSQL 还是合适的。以下是PostgreSQL 中文官方手册维护者 何伟平 laser 对于一个 大型应用 的回复: QUOTE: 怎么说呢,实际上,我现在手头就有一个庞大的数据库, 数据+索引已经超过500G了,数据总量超过30亿行数据, 每天会忙12小时左右。 基本上,我觉得,首先: 检查你的IO投资,不要在硬盘上吝啬。 第二,仔细分析自己的瓶颈是什么, 很多事后,我们并不一定需要database replicate。 第三,适当使用数据的切割。 简单归结一句话: 适当的硬件投资和规划加上合适的软件结构。 具体的事情需要具体分析。 介绍一下我们那个500G的大库: 单机HP DL385,16G内存和6块SCSI磁盘,20块SATA磁盘盘阵, 盘阵是HP DL320S,(MSA1500),相当便宜。 我们的构造是SCSI是RAID5,跑XFS,SATA,RAID5,跑EXT3, 目前,性能非常满意(我们的角度),有些update语句,一次 会更新几百万行数据,那么我们有些程序,一天要更新几十次, 基本上也可以在1000s之内完成。每天vacuum一次,在低负载的 时段,大概需要120min~200min,用slony做数据的备份,备份 到一台大硬盘的IDE机器上(1.5T硬盘,别惊讶,现在750G硬盘 才3500块钱。)。 这台机器是数据挖掘的,并发数不多,所以我们没有做负载方面 的均衡。 有问题可以继续讨论。 测试,mysql vs postgresql QUOTE: Mysql 不适应 大量数据,密集运算,重型负载应用。 至少在目前,开源数据库的质量还不能与商业数据抗衡。 在 2006-11-29 有个国外第3方服务器机构(Tweakers.net)做的 Mysql 4.1.20 ,Mysql 5.1.20a 与 PostgreSQL 8.2 的对比性能测试(在不同档次配置的机器上运行). 你可以参考. Posted by fsluiter@gmail.com Tweakers.net, a dutch community of online tweakers, benchmarked their potential new server with PostgreSQL 8.2 vs several versions of MySQL 4.1.20 and MySQL 5.1.20a 图文测试统计报告: http://tweakers.net/reviews/657/6 QUOTE: 如果要求更高,推荐使用性能优异的 bizgres 集群。 参考: http://bbs.chinaunix.net/viewthr ... page%3D1&page=1 QUOTE: 2亿的单表,slect crount(*) from table; 来全表扫描。 同配置单主机 硬件: 内存8G,每台机器是两个双核的AMD86.磁盘Raid0+1 Oracle 10g用了50秒,postgresql的普通集群用来一分40秒. 改用Bizgers 这个 PostgreSQL 高性能集群(使用)后,速度是 Oracle 的4倍。 mysql超过1亿行慢得和蜗牛一样。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |