• Mysql与Postgresql数据性能比较转贴


    数据量今后会很大/你无法预测 数据量会多大,建议换postgresql. 

    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亿行慢得和蜗牛一样。

  • 相关阅读:
    Eclipse
    Android View Attributes
    Android Virtual Device
    Bootstrap
    Nginx常用命令
    [多线程]多线程(Thread、Runnable、Callable)
    Redis、MongoDB及Memcached的区别
    Linux将某目录授权给某组里的某用户
    CentOS修改locale解决调用API乱码问题
    MyBatis与Hibernate的区别?
  • 原文地址:https://www.cnblogs.com/littlehb/p/3036959.html
Copyright © 2020-2023  润新知