`
xfxlch
  • 浏览: 167644 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

PostgreSQL优于MySql的原因

    博客分类:
  • DB
阅读更多
声明:转自http://blog.segmentfault.com/tony/1190000000424631


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的能力。
分享到:
评论

相关推荐

    将你的网站从MySQL改为PostgreSQL

    在作者初次接触PostgreSQL时,他了解到PostgreSQL在功能和稳定性上可能优于MySQL。然而,由于当时主机提供商仅支持MySQL,作者继续使用MySQL。直到主机提供商发生故障,更换新提供商后,新提供商推荐使用PostgreSQL...

    Mysql+5.5+vs+Postgresql+9.1+负载均衡比较

    本次研究对比了两个广泛使用的开源关系型数据库系统——MySQL 5.5与PostgreSQL 9.1,在负载均衡方面的表现,旨在为数据库管理员和技术决策者提供更深入的理解和参考。 ### MySQL 5.5与PostgreSQL 9.1的负载均衡机制...

    postgresql_简介

    随着 MySQL 被 Oracle 收购后,PostgreSQL 成为了许多开发者和企业的首选开源数据库解决方案。 ### PostgreSQL 与主流数据库的比较 #### PostgreSQL vs MySQL - **许可协议**:PostgreSQL 采用 BSD 许可证,这是...

    数据库“去O”的选型方案.docx

    - **PG**:在复杂SQL处理方面优于MySQL,更接近Oracle的功能特性。 #### 四、功能兼容性 - **PG**:与Oracle在数据库对象和组件概念上有较高相似度,迁移成本相对较低。 - **MySQL**:与Oracle相比,在功能上存在...

    HeidiSQL.rar

    HeidiSQL是一款广受好评的开源数据库管理工具,主要用于连接和管理MySQL、MariaDB、SQL Server、PostgreSQL以及SQLite等数据库系统。这款软件以其用户友好的界面和高效的功能集而闻名,是数据库管理员和开发人员日常...

    AWS Aurora关系型数据库介绍.pptx

    在OLTP测试中,随着并发连接数增加,Aurora的性能表现也优于MySQL。 2. **高可用性和高耐用性**:Aurora可以在三个不同的可用区(AZ)内跨最多15个可读副本进行数据复制,确保高可用性。即使在实例故障的情况下,...

    常用数据库的驱动

    对于不同的数据库系统,如MySQL、Oracle、SQL Server、PostgreSQL等,都有相应的JDBC驱动: - **MySQL**:MySQL的JDBC驱动称为Connector/J,它是一个类型4驱动,可以直接通过Java代码与MySQL服务器建立连接,执行...

    ruby on rails

    4. **SQLite3或PostgreSQL/MySQL数据库**: Rails默认使用SQLite3,但在生产环境中,通常选择PostgreSQL或MySQL。 5. **Node.js**: 用于处理JavaScript和CSS资产的编译。 6. **Yarn**: JavaScript包管理器,用于...

    网易CockroachDB云化实践.pptx

    在性能方面,QPS随着节点数量增加呈线性增长,简单查询性能优于MySQL,但对于大范围查询,增加节点效果有限。响应时间通常接近传统关系型数据库,但在极高并发连接下性能可能会下降。RocksDB的调整对写入性能至关...

    三大框架所需jar包.rar

    - `struts2-convention-plugin-x.x.x.jar`:提供了约定优于配置的特性,简化了Action类的配置。 - `struts2-spring-plugin-x.x.x.jar`:使得Struts2能与Spring框架无缝集成。 2. **Spring框架**:Spring是一个...

    Mycat常见问题和解决方案.docx

    Mycat是一种高性能、可伸缩、稳定的分布式关系数据库代理系统,支持多种数据库管理系统,包括MySQL、MongoDB、Oracle、SQL Server、Hive、DB2、PostgreSQL等。下面是Mycat的常见问题和解决方案: Mycat的功能和特性...

    Linux服务器配置与管理:MariaDB数据库基础.pptx

    它在许多方面优于MySQL,包括: - **功能增强**:支持微秒级别的时间戳、线程池、子查询优化、组提交和进度报告等功能。 - **体积小、速度快**:设计轻量级,运行效率高。 - **开源、免费**:开放源代码,无额外...

    ssh整合jar包

    - `postgresql-jdbc.jar`: PostgreSQL数据库的JDBC驱动,用于连接PostgreSQL数据库。 5. **其他支持库**: - `commons-logging.jar`: 日志抽象层,允许选择不同的日志实现。 - `log4j.jar`: 实际的日志实现,如...

    java餐饮管理系统源码加数据库-T2A1:T2A1

    postgresql、mysql 等。 视图(rails 中的操作视图) ) 处理用户将看到的用户界面和图形组件,视图可以接收用户输入并将其传递给控制器​​,或者模型可以将输出传递给控制器​​,然后发送给视图进行渲染。 最后,...

    jdbc驱动jar包.zip

    通常,这个压缩包会包含特定数据库厂商提供的JDBC驱动,比如Oracle的ojdbc.jar、MySQL的mysql-connector-java.jar或PostgreSQL的postgresql-jdbc.jar等。这些JAR文件包含了Java类,实现了JDBC接口,使得Java应用程序...

    railsinstaller-3.4.0.exe

    然而,对于生产环境,通常会使用更强大和可扩展的数据库系统(如PostgreSQL或MySQL)以及更复杂的服务器配置。 在压缩包文件列表中,只有一项“railsinstaller-3.4.0.exe”,这意味着这是一个单一的执行文件,用户...

    SSH所需jar包

    - mysql-connector-java:MySQL数据库的JDBC驱动,用于连接MySQL服务器。 - postgresql-jdbc:PostgreSQL数据库的JDBC驱动。 5. **其他依赖**: - log4j:日志记录库,帮助记录应用程序中的事件和错误。 - ...

    各种常用数据库的jdbc驱动类(解压后 直接导包使用 )

    它使用Java调用本地API来与数据库通信,性能优于Type 1,但仍然存在跨平台问题。 3. **Type 3(网络纯Java驱动)**:这类驱动是完全用Java编写的,通过中间服务器与数据库通信。它解决了跨平台问题,但因为数据传输...

    Ruby-Thimble是一个RubyonRails5以社区为基础的新闻平台

    7. **数据库**:通常使用SQLite、PostgreSQL或MySQL等数据库来存储应用数据,如用户信息、文章和评论。 8. **安全性**:利用CanCanCan或Pundit等授权库控制用户权限,防止未授权访问或操作。 9. **缓存**:为了提高...

Global site tag (gtag.js) - Google Analytics