正文
关于postgresql在国外流行的信息
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
PostgreSQL与MYSQL哪个性能好
要看调优如何。MySQL相对伯克利大学的PostgreSQL而言,还是属于较轻量级的DBMS,PG是
“对象关系数据”目前9.1版支持许多非常有效的概念,比如表继承、窗函数、灵活的触发器等等,且有许多语言作为拓展。抛开功能,数据库的性能和调优密切相关。
MySQL和PG的调优均是很复杂的。就查询而言,对经常查询的字段建立索引、分区降低索引树规模、建立部分索引(比如仅对工资高于2000元的用户建立个人所得税的索引)、使用精心设计的SQL等手段有利于提高查询效率。比如在一个按bill_time 分区的海量表中,使用 select max(id) from table 要比 select max(id) from table where bill_time = now() + '-12 hours' 慢得多。就插入、更新而言,索引越多、外键越多的表越慢是很正常的。一般,要避免一条条的更改记录,特别是在ADO之类的应用中,建议批量执行删改。在极端条件下,可以删除索引后增删改,而后重建索引。
国外特别是日本用PostgreSQL要多得多,资料也很丰富。国内MySQL用的多。PostgreSQL是原生支持地理信息系统的,PostGIS模块非常强大,是著名开源GIS OpenStreetMap 的基础。
为什么选择PostgreSQL而不是MySQL
MySQL之所以仍然如此流行是因为每个Linux Web托管软件包中都包含它。但随着Oracle将其收购,MySQL的开源程度大不如前。而PostgreSQL不仅发展更快,还加入了JSON支持,成为少数几个支持NoSQL的关系型数据库之一。
MySQL/MariaDB的当前版本是5.7.6(MariaDB为MySQL创建者Monty Widenius创建的一个MySQL分支),PostgreSQL的版本是9.4.1。
PostgreSQL最近增加了JSON支持,与传统的关系型数据库相比,它提供了更大的数据存储灵活性,因此,这方面PostgreSQL胜过MySQL。
PostgreSQL采用类似MIT的许可协议,允许开发人员做任何事情,包括在开源或闭源产品中商用,而MySQL的客户端遵循GPL许可协议,所以开发人员必须向Oracle付费或者将自己的应用程序开源。
MySQL提供了插件程序API,支持C/C++或任何兼容C的语言,而且从5.7.3版本开始支持全文搜索,PostgreSQL有一个类似的系统但支持的语言更多,包括C/C++、Java、.Net、Perl、 Python、Ruby、Tcl、ODBC等,它甚至可以在单独的进程中运行用户提供的代码;除了所有关系型数据库都包含的有关数据库、表和列的一般信息外,PostgreSQL系统目录中还可以包含关于数据类型、函数和存取方法的信息,开发人员可以通过修改这些信息实现扩展。
为什么 PostgreSQL 没有 MySQL 流行
1、MySQL崛起那会,PG虽然已经有许多高级特性,但那些特性互联网用不着,互联网需要的特性——快速——那时的PG不具备。历史延续下来,造成了今天的局面。可以说互联网成就了MySQL.
2、MySQL的主从复制、增量备份比PG设置简单(知道PG的增量备份多耗磁盘不!),这些特性在互联网是很有用的。而旧的pg vacuum不如今天的友好。这些都限制了他在早期的崛起。
3、不认为商业支持是主要原因——有几个用MySQL的是买了商业支持的?倒是有些心理上的影响。
4、今天两者性能、特性上相差不多,而我认为pg略胜一筹,但大局在适时间内难改变——习惯造成的。
postgresql是什么数据库
postgresql是功能强大的开源数据库。
postgresql数据库是功能强大的开源数据库,它支持丰富的数据类型(如JSON和JSONB类型、数组类型)和自定义类型。
PostgreSQL数据库提供了丰富的接口,可以很方便地扩展它的功能,如可以在GiST框架下实现自己的索引类型,支持使用C语言写自定义函数、触发器,也支持使用流行的编程语言写自定义函数。
PostgreSQL数据库优点
1、对超许可数量软件使用的天然免疫力
对一些商业性质的数据库销售商来说,超许可数量的软件使用是第一位的问题。而使用PostgreSQL,因为没有任何授权的费用是,也就没有任何人可以起诉您违反授权协议违规使用软件。
2、比商业服务商更好的支持
除了有一般商业公司的支持外,我们还有由PostgreSQL专业人员和热心的爱好者组成的各种社区,用户可以向他们寻求支持和帮助。
3、员工成本的显著降低
相对于市场上大型的商业私有数据库软件,我们的系统在设计和开发时已考虑仅需少量的维护和优化,同时仍保持所有功能正常、稳定和性能正常。不仅如此,我们的培训过程相对于那些商业私有数据库供应商来说,总体来说有更好的性价比、更容易管理和更接近真实的使用场景。
4、享有盛名的可靠性和稳定性
与很多商业私有数据库不一样的是,对很多公司特别常见的是,PostgreSQL在几年的运行过程中几乎未出现哪怕是一次的宕机情况,即使是一次,它就是这样稳定地工作着。
5、扩展性
所有PostgreSQL的源代码对所有人都是可以免费获得的。如果您的公司员工需要定制或是给PostgreSQL增加一些功能,他们只需做很少的改动工作,也没有额外的成本。全球PostgreSQL社区的专业人员和热心的爱好者也在积极地扩展PostgreSQL的功能。
什么数据库比较热门?
总体来说,主流数据库并不存在明确的好坏之分,每一种数据库都有各自的优缺点,最主要还是看它是否能够满足您的需求。
总的来说,选择数据库可以从以下角度考虑:
从个人角度出发的话,如果是以学习和小型业务需求为主,推荐使用MySQL,它的优势在于:
成本(免费)
自由(完全开源,适用多个场景)
性能(体积小但速度快)
这三点决定了MySQL数据库的超高性价比。并且目前有不少主流公司仍然青睐MySQL,大名鼎鼎的Fackbook就依然在延续MySQL的使用。
2. 如果是企业角度出发,主流的大型数据库如Oracle、Sql Server...以及近些年来大数据领域十分火热的非关系型数据库,例如Redis、HBse等等,都可以作为考虑的对象。
接下来具体列举一些常用数据库的优缺点,希望能为大家提供参考:
MySQL:
优势:
MySQL是开放源代码的数据库,任何人都可以获得该数据库的源代码。
MySQL能够实现跨平台操作,可以在Windows、UNIX、Linux和Mac OS等操作系统上运行。
MySQL数据库是一款自由软件,大部分应用场景下都是免费使用。
MySQL功能强大且使用方便,社区生态繁荣,有诸多学习资料。
缺点:规模小,功能有限。
SQL Server
高度可扩展:可以从单一的笔记本电脑上运行任何东西或以高倍云服务器网络运行,或在两者之间任何东西。
“虽然说是“任何东西”,但是仍然要满足相关的软件和硬件的要求“
生态链广:具有内置的商务智能工具,以及一系列的分析和报告工具,可以创建数据库、备份、复制,带来了更好的安全性。
Oracle
Oracle数据库系统是目前世界上流行的关系数据库管理系统,具有以下特点:
可移植性好(在各类大、中、小、微机环境中都适用)
使用方便、
功能强
因此,Oracle是一种高效率、可靠性好的、适应高吞吐量的数据库解决方案。
DB2
DB2是IBM开发的一种大型关系型数据库平台。它支持多用户或应用程序在同一条SQL 语句中查询不同database甚至不同DBMS中的数据。它的应用特点如下:
支持面向对象的编程:db2支持复杂的数据结构,如无结构文本对象,可以对无结构文本对象进行布尔匹配、最接近匹配和任意匹配等搜索。可以建立用户数据类型和用户自定义函数。
支持多媒体应用程序:db2支持大二分对象(blob),允许在数据库中存取二进制大对象和文本大对象。其中,二进制大对象可以用来存储多媒体对象。
具有良好的备份和恢复能力
支持存储过程和触发器,用户可以在建表时显示的定义复杂的完整性规则
支持异构分布式数据库访问,支持数据复制
PostgreSQL
PostgreSQL 是一个免费的对象-关系数据库服务器(ORDBMS),它的 Slogan 是 “世界上最先进的开源关系型数据库”。
PostgreSQL具有如下特征:
函数:通过函数,可以在数据库服务器端执行指令程序。
索引:用户可以自定义索引方法,或使用内置的 B 树,哈希表与 GiST 索引。
触发器:触发器是由SQL语句查询所触发的事件。如:一个INSERT语句可能触发一个检查数据完整性的触发器。触发器通常由INSERT或UPDATE语句触发。 多版本并发控制:PostgreSQL使用多版本并发控制(MVCC,Multiversion concurrency control)系统进行并发控制,该系统向每个用户提供了一个数据库的”快照”,用户在事务内所作的每个修改,对于其他的用户都不可见,直到该事务成功提交。
规则:规则(RULE)允许一个查询能被重写,通常用来实现对视图(VIEW)的操作,如插入(INSERT)、更新(UPDATE)、删除(DELETE)。
数据类型:包括文本、任意精度的数值数组、JSON 数据、枚举类型、XML 数据等。
全文检索:通过 Tsearch2 或 OpenFTS,8.3版本中内嵌 Tsearch2。
NoSQL:JSON,JSONB,XML,HStore 原生支持,至 NoSQL 数据库的外部数据包装器。
数据仓库:能平滑迁移至同属 PostgreSQL 生态的 GreenPlum,DeepGreen,HAWK 等,使用 FDW 进行 ETL
为什么 PostgreSQL 在国内流行度远不如 MySQL,主要是哪些方面的原因造成的?
PostgreSQL技术社区存在问题,在社区中他们很快就回答了问题,但在一些设计问题上,核心员工很顽固尤其是对当前的社区版本,即使有一个明显的错误,也不愿承认。
它的学院派味道太浓,对很多商业上的考虑比较少。例如使用神经遗传算法解决几千个表连接时的连接顺序问题;这种问题商业界可能不会有人这么干。而像商业应用必须考虑到index生成问题:一个应用不断在访问数据库时,运行 create index concurrently 居然会一直等待。而且死活不会被承认为bug。
我认为MySQL能够流行起来,一定有它的道理。而PostgreSQL出现很多年了,甚至可以说和Ingres/DBase/CA DB/Sybase SQL Server都有渊源,但是没能流行也一定有它的原因,主要还是没有贴近商业界吧。
mysql用的人多,但mysql有它的局限性,一般在mysql上碰到钉子了才会考虑postgres,但问题是mysql能适用于绝大部分互联网项目。postgres也在慢慢流行起来了,毕竟它的优势在那里——对事务的良好支持,并发良好的支持,以及复杂查询的优化能力。这对于很多对一致性要求高的复杂系统都是很有必要的。
postgresql在国外流行的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、postgresql在国外流行的信息别忘了在本站进行查找喔。