MySQL是第一个介绍的单机RDBMS。相信大多数朋友都已经对MySQL非常熟悉,基本上MySQL的成长史就是互联网的成长史。MySQL也普及了「可插拔」引擎这一概念,针对不同的业务场景选用不同的存储引擎是MySQL tuning的一个重要的方式。比如对于有事务需求的场景使用InnoDB,对于并发读取的场景,MyISAM可能比较合适。但现在,我们推荐绝大多数情况还是使用InnoDB,因为5.6后已经成为了官方的默认引擎。大多数朋友都知道在哪些场景中适用MySQL(几乎所有需要持久化结构化数据的场景)。
MySQL5.6中引入了多线程复制和GTID。这使得故障恢复和主从的运维变得很方便。另外,MySQL5.7(目前处于GA版本)是MySQL的一个重大更新,主要是读写性能和复制性能上有了长足的进步。如果有单机数据库技术选型的朋友,基本上只需要考虑5.7或者MariaDB就好了。而且5.6、5.7由Oracle接手后,性能和稳定性上都有了明显的提升。
PostgreSQL的历史也非常悠久。其前身是UCB的Ingres,主持这个项目的Michael Stronebraker于2023年获得图灵奖。后来项目更名为Post-Ingres,项目基于BSD license下开源。1995年,几个UCB的学生为Post-Ingres开发了SQL的接口,正式发布了PostgreSQL95,随后一步步在开源社区中成长起来。和MySQL一样,PostgreSQL也是一个单机的关系型数据库,但是与MySQL方便用户过度扩展的SQL文法不同的是,PostgreSQL的SQL支持非常强大,不管是内置类型、JSON支持、GIS类型以及对于复杂查询的支持、PL/SQL等,都比MySQL强大得多。从代码质量上来看,PostgreSQL的代码质量是优于MySQL的。另外,相对于MySQL5.7以前的版本,PostgreSQL的SQL优化器比MySQL强大很多,几乎所有稍微复杂的查询PostgreSQL的表现都优于MySQL。
从近几年的趋势上来看,PostgreSQL的势头很强劲。PostgreSQL的不足之处在于没有MySQL那样强大的社区和群众基础。MySQL经过那么多年的发展,积累了很多的运维工具和最佳实践,但是PostgreSQL拥有更优秀的设计和更丰富的功能。电脑培训发现PostgreSQL9以后的版本也足够稳定。在做新项目技术选型的时候,是一个很好的选择。另外,也有很多新的数据库项目是基于PostgreSQL源码的基础上进行二次开发,比如Greenplum等。
用戶喜愛的交易所
已有账号登陆后会弹出下载