数据库之十二星座 ----- 天蝎座的针红

数据库之十二星座 ----- 天蝎座的针红

是的,今天经历了点事情,想想人生无常,伴随着年龄的增长,苦难的浓雾更浓重了,非悲观,仅仅是事实。 不说不高兴的事情了,写这个全凭兴趣,和金钱无关,所以才能坚持,今天说说,天蝎座,一个神秘的星座,这个星座的一直面对谣言,诽谤,和诋毁,但屹立不倒,可谓越战越勇,哪管你闲言碎语,自有自己的主张。

数据库之十二星座 ----- 天蝎座的针红

今天就来说说数据库界的--天蝎座  ----- POSTGRES QL, 对我没有写错,认为我写错的,可以好好的查查,到底这个数据库怎么念,POSTGRES QL。

耳闻此数据库的人多,但见过的,用过的,试验过的少,如同天蝎座的神秘,或许你见过他,但你恐怕不曾见过真实的他。 首先的谈谈POSTGRES QL 的历史,和众多的数据库不一样的,这个数据库在初始的创建的时候命运多喘,不经受打击的天蝎座,怎么成为“狠”角色。 POSTGRES QL 是从 美国加州大学,伯克利 UCB 的计算机科学教授 Michael 在1986年创立的,起源于一个 INGRES 的研究项目。

与其他数据库不同,这个数据库出身就有很深厚的学术味道,但这样的独到并没有让他命运顺滑,反而被在1990年,他的命运就被终止了,而这个数据库在1997年被 INFORMIX 收购, 然后命运也未停止玩弄他,2001年又被 IBM 收购。 注定前有 INFORMIX 后有 DB2 的公司,是不怎么会待见这个继子,如同大多的天蝎座,前半生的命运并不顺遂,打击一个接一个,有时怀疑人生是不是就是在和他玩 跳楼机,只下不上。终于 POSTGRES QL 的项目再次被终止了。

数据库之十二星座 ----- 天蝎座的针红

同天蝎座的不认输,隶属冥王星的主星座的他,生命的火种穿越了,在1994年 另外两个伯克利的学生并没有放弃这个 POSTGRES QL, 1996年二人发布了 POSTGRES QL 的6.0, 2005年1月 发行了 8.0,并且开始支持WINDOWS 操作系统。这在当时也是不容易的一件事, 而POSTGRES QL 就在吃百家饭的环境下,生存到了 2010年 发行9.0。这是一个纯粹的“数据库”, 毫无商业气息,而与众不同的,他并非一个纯粹的面向关系型的数据库,他身上有着天生对程序员的倾向性,这是一个混合着面向关系型和对象的数据库。

如同天蝎座折服,多少年的苦心修炼,POSTGRES QL 也具有多种数据库的优点,同时具有其他数据库没有的 “毒针”。不出招则罢,出招必要你命。

数据库之十二星座 ----- 天蝎座的针红

请接招,猩红毒针 

POSTGRES QL 数据库具有丰富的数据类型,支持多种数据的存储,并且是专有的,他有专门的 UUID 存储的类型,专有的 JSON 存储类型,专有的 KEY VALUE 存储类型,并且还能有类型继承,还能自造类型,这都是其他数据库不全具备的。这还不算完, POSTGRES QL 还有如下的数据存储类型,恐怕没有一个数据库能抗衡,在ORACLE  MYSQL SQL SERVER 都在用 VARCHAR  存储以下类型的时候, POSTGRES QL 早就优化了特定的数据存储,并让你有专项的选择。 所有数据库全部在这一回合,被扎一针。

数据库之十二星座 ----- 天蝎座的针红

当然猩红毒针一共15针,这仅仅是开胃菜,继续接招

INDEX 的种类变态的多,领略过ORACLE , SQL SERVER 的 BITMAP, BTREE, HASH 索引,以及 MYSQL的自适应HASH 索引,加上MONGO DB 索引的多种多样,这些相比 POSTGRES QL, 支持的  BTREE ,HASH,GIST , SPGIST, GIN, BRIN 等多种索引,估计是要花些力气弄明白这些索引存储的方式和适用的场合,最关键的是你建立一个索引,他可以通过你查询条件的不同,让走这个索引查询的方式也多种多样,(这点的不是INDEX SEEK ,INDEX SCAN 这样简单的变化,而是你想不到的另一种变化,ORACLE 这样的神一样存在的数据库,是否有这样的功能也有待验证)这一针其他的数据库也必然逃脱不了毒针的刺入。

具体解释,下面的链接

http://www.postgresqltutorial.com/postgresql-indexes/postgresql-multicolumn-indexes/

数据库之十二星座 ----- 天蝎座的针红

来来来,继续看看存储结构,POSTGRES QL ,数据库在底层数据设计,就和ORACLE 的设计有着类似的设计,堆表的存储,自动多文件存储数据,更有意思的,在设计之初,还具有SQL SERVER  MYSQL 这样数据库自增列的设计,有兴趣可以看看 POSTGRESQL 的存储设计,和ORACLE 基本上有同样的设计想法,ORACLE 7 是 1992 年推出,但到底为何和 ORACLE的底层设计类似,或者换句话,ORACLE 和 POSTGRESQL的底层设计如出一辙,WHY。

数据库之十二星座 ----- 天蝎座的针红

POSTGRESQL 将这样的优良的存储结构,继续发扬,基于POSTGRESQL 的变种 大数据 数据库,应运而生,这也说明POSTGRESQL 在大数据方面的在发掘,与他的存储方式有必然的联系。怀疑POSTGRESQL 的能力的DBAER 们,看下面

数据库之十二星座 ----- 天蝎座的针红

这一针,必然是将所有数据库都挨个的扎了一针。

数据库之十二星座 ----- 天蝎座的针红

其他的例如,物化视图,递归视图,基本上ORACLE 有的窗口函数,POSTGRESQL 也都有,只有你没有想到他会有的,没有他没有的。独特的支持经纬度的存储,将MONGO DB 对经纬度特殊存储的优势,也在他毒针的包围圈,可谓是生冷不忌。

针扎的再多,也无法从根本上替代其他数据库,那天蝎座就祭出大招

念动波

数据库之十二星座 ----- 天蝎座的针红

任何从一个数据库迁移数据到另一个数据平台都是一个困难的选择,而另一个艰难的选择要比数据的迁移更困难,就是SQL, 要知道,每个数据库都有自己独特的SQL 写法,这里ORACLE 的SQL 写法最独特,把ORACLE 的SQL 代码迁移到其他数据库上,是一个艰难的事情,但ORACLE TO POSTGRESQL 将不再是一件痛苦的事情, POSGRESQL 兼容  PL/SQL,虽然还是有少许的不同,大部分代码,你可以在POSGRESQL 上无障碍的迁移你的PL/SQL,降低从ORALCE 数据平台 迁移的成本。

ORACLE 显然是没有躲过,这一招,SQL SERVER 也不要笑,第三方的插件将可以快速的将SQL SERVER 数据导入 POSTGRESQL。 MYSQL 则由于优化器,和数据容量的问题被诟病,POSTGRES QL 早就在互联网战场上,将MYSQL 虐的不行。

数据库之十二星座 ----- 天蝎座的针红

这个能干翻一切数据库的 POSTGRESQL ,弱点也显而易见,和天蝎的孤傲和不合群一样,掌握 POSTGRESQL 的 DBA 少而又少,比在二线城市找一个MONGO DB 的工程师还要难,所以二线城市使用POSTGRESQL的公司少而又少,这才是POSTGRESQL 最致命的问题。不过随着知道POSTGRESQL 强大的数据处理和“免费”,免费, 免费, 重要的事情说三遍,在经济下行,IT部门不给公司添加财务压力的今天,POSTGRESQL在此经济环境下,力推是最有好处的,尤其将ORACLE 替换成POSTGRESQL 已经是有些 金融公司立项的事情(某外资银行)。此项目做成,IT领导自然面子有光,又给公司省了上百万,乃至 上千万的 ORACLE 费用,这自然是头功一件。

另外POSTGRESQL 在前年发力,加速推广,今年已经在某 国内最大的车企“召开了 POSTGRESQL 数据库大会”  相信,凭着打不败的意志力,天蝎座POSTGRESQL 未来的光明不会太远。

数据库之十二星座 ----- 天蝎座的针红