博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PostgreSQL调研
阅读量:6970 次
发布时间:2019-06-27

本文共 1798 字,大约阅读时间需要 5 分钟。

hot3.png

1. 什么是PostgreSQL

PostgreSQL是一个功能强大的开源对象关系数据库管理系统(ORDBMS)。 支持复杂查询、外键、触发器、视图、事务完整性、MVCC(多版本并发控制)。

PostgreSQL号称最先进,MySQL号称最流行

2. PostgreSQL特点

1.PostgreSQL的字段类型支持的多2.对事务的良好支持,并发良好的支持,以及复杂查询的优化能力3.在数据量比较大的时候,PostgreSQL 的效率毋庸置疑是很高的4.PostgreSQL支持的bjson5.PostgreSQL对序列友好6.PostgreSQL支持搜索索引,NoSQL,数据仓库,时序数据,流处理,缓存,图数据

3. 对比

3.1 MySQL PostgreSQL实力对比

MySQL的背后是一个成熟的商业公司,而PostgreSQL的背后是一个庞大的志愿开发组这使得MySQL的开发过程更为慎重,而PostgreSQL的反应更为迅速

3.2 MySQL比PostgreSQL更流行

流行对于一个商业软件来说,也是一个很重要的指标,流行意味着更多的用户,意味着经受了更多的考验,意味着更好的商业支持、意味着更多、更完善的文档资料

3.3 对操作系统的支持

MySQL可以兼容在Windows环境下运行。MySQL作为一个本地的Windows应用程序运行服务,而PostgreSQL是运行在Cygwin模拟环境下(linux)。PostgreSQL在Windows下运行没有MySQL稳定,应该是可以想象的.

3.4. 对JSON的支持

PostgreSQL专门有bjson数据类型的,在一个json保存在字段里面的同时,支持很多高阶的SQL查询语法去遍历和运算json中间的节点。在非关系型的数据类型中,MySQL可是比Postgre差的太远了。也正是因为互联网的崛起,PostgreSQL的BJson格式的支持才再最近几年火起来的

3.5 MySQL相对postgreSQL,轻便,postgreSQL显得庞大

postgreSQL是一个全栈数据库,支持:搜索索引,NoSQL,数据仓库,时序数据,流处理,缓存,图数据。比如全文索引,可以不用集成elasticsearch就可以完成。

3.6 序列支持

MySQL 不支持多个表从同一个序列中取 id, 而 postgreSQL 可以。postgreSQL不支持自增主键,在代码开发过程中需要借助序列

3.7 复杂函数支持

比如OVER语句函数,MQSQL不支持,postgreSQL有更好的函数支持,可以向oracle一样。

3.8 未来趋势上

PostgreSQL再未来与技术上要强于MySQL,但是短时间MySQL的地位是无可动摇的。

3.9 成本上比较

3.9.1 代码集成

目前集成中,主要区别是SQL风格和主键策略,mysql的主键策略可以选择自增,儿postgreSQL则必须借助序列,所以没有办法做到完全兼容,如果后期需要切换数据库是需要修改代码风格的

3.9.2 维护成本

Mysql现在依然是最流行的数据库,而postgreSQL虽然是先进的,但越先进的越是需要投入成本

3.9.3 学习成本

postgreSQL的学习成本要大于mysql的,需要学习复杂的函数等等

4. 总结

1.mysql用的人多,但mysql有它的局限性,一般在mysql上碰到钉子了才会考虑postgres2.如果操作系统必须要求是windows,那么可以不用考虑postgres了3.使用postgres无非是要使用postgres的优势,大数据处理速度,稳定,复杂函数,使用mysql替代不了的功能,目前应该都不需要4.postgres无疑是未来发展的趋势,在互联网继续发展的道路上postgres会发展的越来越好,认为也可以去尝试。5.对于技术的渴望,还是很希望应用postgres数据库,可以多个技能,没什么不好6.对于微服务架构,当然可以两者同时使用,但会增加维护成本

以上只是从自己的理解尽量客观公正地评价MySQL和PostgreSQL的优劣。因为没有在具体项目场景中使用过PostgreSQL,其中的带有倾向性的意见只代表个人观点.

转载于:https://my.oschina.net/angelbo/blog/3021475

你可能感兴趣的文章
51nod1832 先序遍历与后序遍历
查看>>
MD5 带salt 加密
查看>>
13 用Css做下拉菜单
查看>>
homework-01
查看>>
修改WAMPServer中MySql中文乱码的方法
查看>>
【下载】推荐一款免费的人脸识别SDK
查看>>
不定参数
查看>>
浏览器各种距离
查看>>
使用Python读取Google Spreadsheet的内容并写入到mangodb
查看>>
DOM操作和jQuery实现选项移动操作
查看>>
[emuch.net]MatrixComputations(1-6)
查看>>
ByteArrayOutputStream用法
查看>>
Floyed那些事~~~~~
查看>>
Python 学习笔记1 安装和IDE
查看>>
H5新增标签
查看>>
日志分析
查看>>
Extract Datasets
查看>>
递归加法运算
查看>>
蓝桥杯 倍数问题(dfs,枚举组合数)
查看>>
蓝桥杯 穿越雷区(bfs)
查看>>