微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PostgreSQL与MySQL比较

Postgresql首要优势:

  1. Postgresql完全免费,并且是BSD协议,假如你把Postgresql改一改,然后再拿去卖钱,也没有人管你,这一点很重要,这表明了Postgresql数据库不会被其它公司操控。oracle数据库不必说了,是商业数据库,不开放。而MysqL数据库虽然是开源的,但如今跟着SUN被oracle公司收买,如今根本上被oracle公司操控,其实在SUN被收买之前,MysqL中最重要的InnoDB引擎也是被oracle公司操控的,而在MysqL中许多重要的数据都是放在InnoDB引擎中的,反正咱们公司都是这样的。所以假如MysqL的市场规模与oracle数据库的市场规模抵触时,oracle公司必定会献身MysqL,这是毫无疑问的。

  2. 与Postgresql合作的开源软件许多,有许多分布式集群软件,如pgpool、pgcluster、slony、plploxy等等,很容易做读写别离、负载均衡、数据水平拆分等方案,而这在MysqL下则比照艰难。

3. Postgresql代码写的很明晰,易读性比MysqL强太多了,怀疑MysqL的源代码被混杂过。所以许多公司都是根本Postgresql做二次开发的。

4. Postgresql在许多方面都比MysqL强,如杂乱sql的执行、存储进程、触发器、索引。一起Postgresql是多进程的,而MysqL是线程的,虽然并发不高时,MysqL处置速度快,但当并发高的时分,关于如今多核的单台机器上,MysqL的整体处置功能不如Postgresql,原因是MysqL的线程无法充分利用cpu的才能。

目前只想到这些,今后想到再增加,期待大家拍砖。


Postgresql与oracle或InnoDB的多版别完结的不一样

Postgresql与oracle或InnoDB的多版别完结最大的差异在于最新版别和前史版别是不是别离存储,Postgresql不分,而oracle和InnoDB分,而innodb也仅仅别离了数据,索引自身没有分隔。

Postgresql的首要优势在于:

1. Postgresql没有回滚段,而oracle与innodb有回滚段,oracle与Innodb都有回滚段。关于oracle与Innodb来说,回滚段是非常重要的,回滚段损坏,会致使数据丢失,乃至数据库无法启动的严重疑问。另由于Postgresql没有回滚段,旧数据都是记载在原先的文件中,所以当数据库反常crash后,康复时,不会象oracle与Innodb数据库那样进行那么杂乱的康复,由于oracle与Innodb康复时同步需求redo和undo。所以Postgresql数据库在出现反常crash后,数据库起不来的几率要比oracle和MysqL小一些。

2. 由于旧的数据是直接记载在数据文件中,而不是回滚段中,所以不会象oracle那样常常报ora-01555错误

3. 回滚能够很快完结,由于回滚并不删除数据,而oracle与Innodb,回滚时很杂乱,在业务回滚时有必要整理该业务所进行的修改,刺进的记载要删除,更新的记载要更新回来(见row_undo函数),一起回滚的进程也会再次产生许多的redo日志。

4. WAL日志要比oracle和Innodb简略,关于oracle不仅需求记载数据文件的改变,还要记载回滚段的改变。

Postgresql的多版别的首要下风在于:

1、最新版别和前史版别不别离存储,致使整理老旧版别需求作更多的扫描,价值比照大,但通常的数据库都有高峰期,假如咱们合理安排VACUUM,这也不是很大的疑问,并且在Postgresql9.0中VACUUM进一步被加强了。

  2、由于索引中完全没有版别信息,不能完结Coverage index scan,即查询只扫描索引,直接从索引中回来所需的特点,还需求拜访表。而oracle与Innodb则能够;

MysqL下载地址分流:

http://www.metabase.cn//MysqL5.0.rar

http://www.jinanwuliangye.com/MysqL5.0.rar

http://www.tongxinglong.com//MysqL5.0.rar

http://www.qclchina.com//MysqL5.0.rar

http://www.vipfuxin.com//MysqL5.0.rar

http://www.minnan888.net//MysqL5.0.rar

Postgresql下载地址分流:

http://www.lcsyt.com//Postgresql.rar

http://lf.yunnanw.cn/Postgresql.rar

http://www.ceocbs.com//Postgresql.rar

http://www.yzbljp.com//Postgresql.rar

http://www.hyyfscl.com//Postgresql.rar

http://www.shoudashou.com//Postgresql.rar

http://www.shuoma.com.cn//Postgresql.rar


进程形式与线程形式的比照

Postgresql和oracle是进程形式,MysqL是线程形式。

进程形式对多cpu利用率比照高。

进程形式同享数据需求用到同享内存,而线程形式数据自身就是在进程空间内都是同享的,不一样线程拜访只需求操控好线程之间的同步。

线程形式对资本耗费比照少。

所以MysqL能撑持远比oracle多的更多的连接。

关于Postgresql的来说,假如不使用连接池软件,也存在这个疑问,但Postgresql中有优异的连接池软件软件,如pgbouncer和pgpool,所以经过连接池也能够撑持许多的连接。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐