postgresql mysql 知乎_postgresql也很强大,为何在中国大陆,mysql成为主流,postgresql屈居二线呢?...

Postgres与MySQL的关键区别:Postgres是一个对象关系数据库(ORDBMS),具有表继承和函数重载等功能,可以处理复杂的查询和大型数据库。

MySQL是一个纯粹的关系数据库(RDBMS),相对易于建立和管理,快速,可靠且易于理解。

MySQL是一种快速,可靠,通用的关系数据库管理系统。尽管它缺少PostgreSQL的广泛功能,但它与各种应用程序特别是Web应用程序非常匹配。它是一个轻量级的数据库,开发人员可以在具有大型多层应用程序的生产应用程序服务器上以及桌面上安装和使用该数据库。可以安装在Windows,Linux和Mac等所有平台上。

实际上,MySQL是可伸缩Web应用程序的首选-部分原因是它是LAMP堆栈(包含Linux,Apache HTTP Server,MySQL和PHP的Web应用程序的开源套件)中的标准配置。此外,流行的内容管理系统(如Drupal,Joomla和WordPress)都依赖MySQL,因此我们几乎可以在Web上的任何地方找到MySQL 。最开始更推崇php+mysql,PHP读取MySQL速度明显要快于Postgres,PHP 作为开发,更多对数据库操作是读取操作,从这一个方面MYSQL 占有着其强大的优势

PostgreSQL被认为是执行复杂,大量数据操作的首选解决方案。这是因为PostgreSQL更擅长处理特殊的数据库情况。

就像题主提到的postgresq的强大功能在很多地方超过了mysql。PostgreSQL比其他数据库管理系统有“具有更多功能”,PostgreSQL是可扩展的,因为它的操作是目录驱动的。换句话说,它不仅仅存储关于表和列的信息,它允许你定义数据类型、索引类型和函数式语言。

总的来说MySQL更适合网站和在线事务,而PostgreSQL更适合大型和复杂的分析过程。PostgreSQL带有很多强大的功能,例如可扩展性和本机NoSQL功能,可帮助开发者应对具有挑战性的数据库环境。MySQL的非常注重功能,因此它可以专注于速度和可靠性。

作为“功能丰富”的选择,PostgreSQL得到了开发人员的广泛关注。但是,在数据库设计方面,MySQL的简单性,易用性和其他特性对于某些用例而言更有价值。

开发人员为什么选择MySQL?

高度灵活和可扩展: MySQL可以从各种存储引擎中进行选择。这开发者可以灵活地集成来自各种表类型的数据。MySQL 8.0支持以下存储引擎:InnoDB

MyISAM

Memory

CSV

Archive

Blackhole

NDB/NDBCLUSTER

Merge

Federated

Example

专注于速度和可靠性:由于不包含某些SQL特性,MySQL保持了速度和可靠性的优先级。MySQL的速度在高并发、只读函数时尤其明显。这使得它成为某些商业智能目的最佳选择。也就是说,如果你需要在高负载下运行许多复杂的查询,PostgreSQL可能是一个更好的选择。

服务器优化的选项: 服务器优化选项:MySQL提供了很多选项来调整和优化你的MySQL服务器,通过调整变量,如排序缓冲区大小,读缓冲区大小,最大允许包等。

易于使用和流行:MySQL的流行意味着很容易找到具有丰富MySQL经验的数据库管理员。企业在选择技术的时候,也并不会单从性能价格方面考虑,用户群体广阔也会是一个重要的参考。如果一个项目进行一半开发人员撤了,能够快速找到人顶上去对于企业来说同样重要。此外,许多前端(如Adminer、MySQL Workbench、HeidiSQL和dbForge Studio)向MySQL添加了图形界面,从而提供了更友好的用户体验。

一个云端数据库管理系统:MySQL是云端数据库管理系统,很多云平台都提供MySQL功能,他们可以付费安装和维护MySQL数据库。

开发人员为什么选择PostgreSQL?

ORDBMS不仅是RDBMS: PostgreSQL是一种对象关系编程语言(ORDBMS),因此它充当了面向对象编程和关系/过程编程之间的桥梁(就像C ++一样)。这使开发者可以定义对象和表继承,从而转换为更复杂的数据结构。当你处理的数据与严格的关系模型不匹配时,ORDBMS非常出色。

非常适合复杂查询:当你需要执行复杂的读写操作,同时使用需要验证的数据时,PostgreSQL是绝佳的选择。但是,ORDBMS在处理只读操作时可能会变慢(这正是MySQL擅长的事情)。

支持NoSQL和多种数据类型: PostgreSQL是NoSQL功能的热门选择。它本身支持丰富的数据类型,包括JSON、hstore和XML。您还可以定义原始数据类型和设置自定义函数。

专为超大型数据库管理而设计: PostgreSQL不限制数据库的大小。

多版本并发控制(MVCC): MVCC是企业选择PostgreSQL的最重要原因之一。MVCC允许不同的读取器和写入器同时与PostgreSQL数据库进行交互和管理。这样就不必在每次有人需要与数据进行交互时都需要读写锁定,从而提高了效率。

符合ACID: PostgreSQL可防止数据损坏并在事务级别保留数据的完整性。(MySQL也提供了ACID遵从性功能,但是处理可能会更加复杂)。

开发人员为什么选择APICloud?

APICloud提供低代码开发平台,加速需求到开发全流程人效。

标准化app开发平台

支持全流程开发的APICloud Studio3.0,基于业界领先的代码编辑器-Vscode深度定制,帮助您快速轻松地构建多端应用,我们为 Windows、Mac和Linux提供了出色的开发体验,开发者可以使用自己喜欢的操作系统进行开发。无论是面向Android、iOS、Web、App还是小程序打造应用, Studio3都能快速编译对应终端的代码。

你可能感兴趣的:(postgresql,mysql,知乎)