作者
digoal
日期
2021-06-26
标签
PostgreSQL , 选择
背景
摆在你面前的有两类数据库:
1、商业型数据库开源或闭源项目
2、商业型数据库上游的社区型开源项目
数据库行业发展得火热, 看起来都是数据库, 应该怎么选呢?
每个人的精力都是有限的, 我们花精力去学的东西一定要尽量考虑未来是否可以被复用. 如果学习的东西都是阶段性, 未来用不上的, 那么一定要谨记, 不要被眼前的利益所诱惑.
可以从几个方面进行分析:
1 哪个市场空间大?
以漏斗模型为例, 当然是上游产品的市场空间更大.
数据、案例有哪些?
1、以PG社区版本为例, dbengine机构显示pg在全球数据库行业中排名第四, 开源类目全球排名第二. 而且增速最快(近4年拿了3个增长冠军, 1个亚军).
2、以云服务为例, 在全球最大的云厂商中, PG在关系数据库中的使用率占比排行第二.
2 哪个活的时间更长?
显然也是上游的社区型开源项目. PG已经存快30年了.
根据王东岳的递弱代偿原理, 也能解释. 普遍来看越基础的东西越长久, 因为它更加被需要, 存在感更强, 别人依赖它, 它不依赖别人.
3 哪个的变数更小?
当然也是上游的社区型开源项目, 因为社区开源项目不以项目本身的盈利为目的, 例如PG超过30%的贡献来自用户自己, 用户的盈利业务与数据库无关, PG只是作为数据库承载了他们企业的数据, 所以最终用户会更加纯粹的给PG贡献代码, 而不需要考虑用数据库来盈利, 他们的贡献也更加贴近实际的业务需求.
反观商业化的数据库开源项目, 以盈利为最终目的, 受制于企业战略方向的引导, 随时可能变换方向甚至放弃开源项目的投入.
4 哪个技术栈普适性更广?
你学一个东西, 当然是希望能更加广泛的被使用, 就算是想换工作, 也能更容易的找到工作.
还是上游的社区型开源项目, 原因也很简单, 下游需要fork上游的代码, 当然需要依赖上游的技术栈再做下游的特色功能. 例如基于PG生态的下游商业数据库公司招聘时一定会优选曾经在PG开源数据库方面有内核研发或大型应用经验的专家.
5 应该选择 社区型 还是 商业型的开源项目?
1、社区型的开源项目, 存在时间更长, 用户也更多, 市场空间更广, 前面已经分析了.
2、可以与社区型开源项目兼容的通用性开源项目, 也是不错的选择, 同样因为它的市场空间更广. 例如PG周边的 citus . (注意通用性, 2、如果是垂直类的功能项目比较容易被其他赛道的产品替换较难发力)
3、商业型的开源项目, 市场空间取决于这个开源项目背后的商业公司的策略, 变数较大.
总结, 对于数据库行业的小伙伴, 给一个选择指导思路:
1.1、首先考虑PG这种社区型的开源数据库, 它处在上游, 市场空间、存在度、复用度都很高, 更加值得投入去学习和钻研. 学到的技术也更具备普适性.
1.2、其次选择完全拥抱PG社区型开源数据库的通用型衍生插件或产品(无所谓是否商业公司的产品), 而非独立分支. 学到的技术也更具备普适性.
1.3、最次选择产业链上下游生态较好的商业型开源数据库.
2、另一方面, 你也可以从赛道方面来选择, 选择有足够市场空间, 处于产业链上游, 新赛道, 且公司已经在市场中处于TOP1、在用户数、技术领先性、人才、融资方面都和TOP2拉开1个数量级的公司.
每个人的精力都是有限的, 我们花精力去学的东西一定要尽量考虑未来是否可以被复用. 如果学习的东西都是阶段性, 未来用不上的, 那么一定要谨记, 不要被眼前的利益所诱惑.
这个观点和《开慧社》第一期, 已经财富自由的于哥不谋而合. 《《开慧社》一期《我朋友的创业故事》- 智赢跨境 - 老于 (如何实现财富自由)》
参考
PostgreSQL 许愿链接
您的愿望将传达给PG kernel hacker、数据库厂商等, 帮助提高数据库产品质量和功能, 说不定下一个PG版本就有您提出的功能点. 针对非常好的提议,奖励限量版PG文化衫、纪念品、贴纸、PG热门书籍等,奖品丰富,快来许愿。开不开森.