PGConf.Asia PostgreSQL 如何撬动企业的大门

2020-10-20 00:00:00 数据库 支持 都是 企业 方式

以下是相关内容

今天要分享的话题是POSTGRESQL 如何撬动企业的大门,什么原因让我有这样的一个想法,我们可以看一张图

如果POSTGRESQL 在国内的知名度或影响力有一个曲线的话,我想这张图可以线性的方式表达PostgreSQL 在2020年前和2020年后在国内数据库业界的影响的曲线图,一直是在上升的状态。


同时从招聘市场上看,POSTGRESQL 在2020年有不少大企业有相关的职位的招聘,开发和运维的职位都有相关的需求。那么就有一个问题POSTGRESQL 在国内的发展十分乐观吗?对比ORACLE 以及 MYSQL 两大数据库,POSTGRESQL 到底还有多少路要走?下面就通过30分钟的时间来和大家分享一下相关的个人观点。


首先问一个问题,POSTGRESQL 到底需要推广吗,其实在提出这个问题的时候,就已经回答了这个问题,需要。

我们可以问几个问题,有多少知名的公司在大面积使用POSTGRESQL, 有多少数据库从业职了解POSTGRESQL ,有多少人对POSTGRESQL 有偏见。

首先我们要确认POSTGRESQL 在国内目前处于一个什么水平,我们还需要有多少工作需要做,到底什么客户是我们需要争取的,POSTGRESQL到底适于那些客户。


在上面的问题提过后,我们需要反思几个问题,POSTGRESQL在国内使用处于一个初始的阶段,有丰富经验的工作人员也比较少,同时让人头疼的问题是,不少架构师对于POSTGRESQL数据库本身的特点和在项目中能解决的一些问题的手段还不清楚,对于新项目中使用POSTGRESQL 还有疑虑。

所以我们需要在当前的形式下,我们的时机在哪里,实际上2020年对于POSTGRESQL是一个好的机遇和发展的时间点,总结有三点,

1 经济上的问题, 国内的经济主导不在是以及外放型出口方式拉动生产,而转变为内部驱动, 而内部驱动自然就产生了和之前大把挣钱和大把消费的日子

之间的矛盾, 各个公司开源节流将是一段时期中国大部分企业需要的坚持的,商业数据库的使用,就需要一些企业考虑,减少成本的支出.

2 国外对中国的知识科技方面的封锁,让国内的,认知到买来的思维模式的限制问题, 减少技术限制和被制裁的可能,并且技术本身需要时可靠的被验证的。

3 传统企业的需求是什么, 到底哪种数据库可以和传统企业的需求更加吻合, 在降低成本和提高技术可靠性, 上能达到契合点

符合这些特点的数据库,目前可以说,只有POSTGRESQL 满足这样的条件。


 


在认清这些问题的基础上,POSTGRESQL到底怎么满足这些需求,或者比其他数据库更好的完成这些需求。是我们需要讨论和宣传的。

一个数据库需要先给自己的一个定位, 没有定位就会迷失自我, 在定位之前首先的弄清楚POSTGRESQL本身的到底有那些优势,尤其在对比某些产品的时候只有在了解了自身的情况后,才能有一个理性的认知和明确的自我定位, 找准机会占据行业市场的优势.

如数据库本身是适合处理偏向 OLTP 的操作还是偏向OLAP 的操作, 每种数据库都有适合自己的定位和本身当初设计的初需求所决定的。

首先POSTGRESQL 和其他数据库的不同点,在哪里,POSTGRESQL 是面向对象关系型的数据库,到底ORDBMS 和 RDBMS 的区别是什么, 

举例,我们可以在POSTGRESQL中在不解开源代码的情况下,创建新的数据类型, 在不解开源代码的情况下, 我们可以通过一些常用的语言如JAVA,Ruby ,python, C,来将功能集合到Postgresql中.通过函数的上载将功能和数据库进行绑定. 同时可以将面向某些特殊功能的可扩展的object加载到数据库中,将POSTGRESQL变为专注于某一个领域的数据库产品如PGGIS,另外表继承来将表当做一个对象,来进行相关表模式下的扩展. 这里都借用了一些关于对象方式的处理的思维方法.

在理解POSTGRESQL 特殊的定位后, 到底 postgresql本身的功能特殊点,在哪里,  优势在哪里,  并且需要这些特点的客户群在哪里就非常的清晰了

不同于某些数据库, 专注于OLTP 以及并发量强调 TPS 和 QPS,  POSTGRESQL 设计初衷中是一种通用性的数据库,并不是专门为某些业务方向定制化的产品,这也就决定他在技术指标和性能方向的平衡性,而不是极端化的发展.同时POSTGRESQL 本身在功能上的完善,也让他和一般的开源数据库乃至商业数据库有所不同。

通过上表我们可以发现一些商业数据库的特质,以及POSTGRESQL的特别功能,在其他数据库上是不支持的,下面我们就需要了解这些功能的特点以及应用,如何提供优于其他数据库的数据处理和对应用提供高效的支持,及快速开发应用程序的方法。

例如pg不仅仅支持 json 同时也支持 hstore  类型的数据形式, 同时POSTGRESQL又着更全面的数据类型的表达放方式,支持多种的索引组成方式(GIN GIST BRIN), 对索引的功能支持和使用的方式有着其他数据库不具有的特性 对于模糊查找可以提供更优良的数据查找方式, 同时例如多表联合查询中,商业数据库支持的特殊的 hash join , bitmap join , merge join 等都进行了支持, 避免了单一的NESTLOOP 方式对多表查询中产生的一些性能上的问题.

另外支持在查询中使用多线程对数据进行查找计算, 提供更快速的数据的查找的方式,通过扩展的方式支持将特殊功能的进行加载,

另外技术人员很容易忽视的法律问题,在每个公司尤其是大公司都是需要被重视的问题,虽然都是开源数据库,但对开源协议的理解不同,都会造成不必要的麻烦.

如同你不能说一辆车的速度快就是一定是一辆比其他车都好的车,这里需要提到一句,并不是TPS  和 QPS 这样的数据指标支持量大,就一定是一个好的数据库, 这是一个误区,适合当前业务数据量的,降低开发COST 的数据库才是一个更好的数据库,不应该以这个单一的方式来决定一个数据库的好坏。


不少客户在从ORACLE 转入到MYSQL数据库后,对比 ORACLE数据库, 从数据的承接的数量和数据处理的速度,SQL 语句的复杂度,对数据库架构的难易程度有一些企业在目前的水平上无法接受, 经常听到一句话,MYSQL太差,某某企业的技术水平太差,实际上既不是某某企业太差, 也不是MYSQL数据库太差, 而是没有研究出和企业当前吻合的数据库产品. 这就是之前不做数据库调研的恶果。

在对需求了解后, 则是我们定位中的第二步

如  MYSQL不适合进行OLAP 的操作,  PG 是可以进行类似ORACLE 的复杂的SQL 的计算和数据处理,并行计算,  同时 PG 可以对模糊查询有自己超强的手段进行处理,并且在索引的建立和处理,以及类型上,也有其他数据库不能比拟的优势,这些都应该有所认知并加以利用, 让PG 在传统企业使用数据库面前占据制高点.

同时我们也应该对自身的一些问题,有所认知, 例如多连接的情况下,性能上的问题, 如果存在我们怎么化解, 有什么方式, 或者由于参数调整的问题,导致系统的性能出现状况, 调整那些参数来提高性能 降低问题发生的可能始终让 postgresql处于优良的性能下


推广一种新的数据库在一个多种数据库已经霸占的市场, 一定不是一件容易的事情, 天时地利人和缺一不可

宣传的力度上, 社区 , 分会 等等已经做出了很多的努力,  下一步精准定位客户,定向推送一些postgresql 的声音, 同时一些传统的固化的思维在推进POSTGRESQL的道路上也是我们需要注意的, 例如他们提出的一些问题,如POSTGRESQL没有过多的使用的案例POSTGRESQL 的人才资源少 POSTGRESQL在技术支持方面的问题,  或者拿一些本身数据库设计方面的短板来说事,从内部看POSTGRESQL 要更全面的发展,面对的是更多的非专业人士, 必然要降低POSTGRESQL的安装, 操作的复杂性, 初级客户面对的难点.

固化的思维模式,导致了POSTGRESQL  在互联网企业推广并不太被欢迎,  固有的MYSQL 以及其变种的各种数据库成型的模式已经霸占了互联网中的数据存储的架构设计, 并且一直在演进, 导致POSTGRESQL想要展现自己的优势并不明显。当如这也与互联网企业的业务有关。


举例 POSTGRESQL 本身的安装方式 以及操作的方式也是一些传统企业 比较难于适应的,例如大部分POSTGRESQL 是编译安装, 这对习惯使用ORACLE 和  SQLSERVER 安装数据库的一些人员,提出了更多的难度图形化和定制脚本方式的安装应该被更多的普及,另POSTGRESQL 本身的日志支持很多种类的信息,打印的比较完整, 一个日志文件接受的信息量有一些大, 将日志更分散化的处理, 方便后期的日志的去读,分析和储存. 这都是可以改进的便于用户使用的点.

实际上我们有一些已经在做,如第二点,分会有相关的网站一直在进行相关的工作.同时也可以找到一些在项目中不使用PG的人员,询问主要的原因是什么,这样可以让整个社区听到更多的声音并且可以提高我们的应对这样人的方式方法。


后POSTGRESQL 能改变什么,一种新技术的产生都必然带来人员的缺乏和薪资的涨幅,供需不平衡的问题.所以先入住的,先受益.这个道理大家都是明白的,并且相关的衍生的行业,例如专门服务POSTGRESQL的企业和周边产品的企业都带来机会.


所以说一千到一万, POSTGRESQL 需要被推广,符合当前的形式,找准传统企业,让POSTGRESQL 服务于传统企业,改变当前数据库行业的格局。对大部分从业者都是一个好的消息和努力的方向。



相关文章