主要观点总结
文章主要讨论了为什么在中国大陆,虽然PostgreSQL也很强大,但MySQL成为主流,而PostgreSQL屈居二线的原因。文章从PostgreSQL的生态、DBA的重要性以及云数据库的发展趋势等方面进行了阐述。
关键观点总结
关键观点1: PostgreSQL的生态与扩展性
文章提到PostgreSQL的生态中有很多扩展插件和子社区,如果忽略这些扩展,就错过了PG生态的精髓。同时,为了应对各种问题,需要DBA和开源零件组装为企业级服务的“最佳实践”的经验。
关键观点2: DBA的重要性与稀缺性
文章指出在国内使用PostgreSQL的公司很少,关键问题在于缺乏有经验的DBA。DBA对于PostgreSQL来说不仅是维护者,更是解决方案的设计者。而会设计解决方案的DBA比只会操作的DBA更稀缺。
关键观点3: 云数据库与自动化解决方案的趋势
文章提到为了解决这个问题,可以直接使用已经经过长期大规模实战考验的体系化攒车方案(如自动驾驶方案)。这也推动了云数据库的发展,使得数据库的使用更加便捷,甚至可能减少DBA的需求。
正文
如果你用 Linux 操作系统就很好理解,没什么人会直接去使用 Linux 裸内核的。大家使用的都是 RedHat,Debian,Ubuntu 这样的操作系统发行版。一个 Linux Kernel 才几 MB,但是一个操作系统发行版的软件包加一块儿可以塞进几张 DVD (十几GB),你还需要 systemd, 定时任务,时间同步,DNS解析,日志等各种组件才能将这个裸 Linux Kernel 包装成一个实用的操作系统
例如,PostgreSQL 生态里有着 1000+ 扩展插件。像 PostGIS 这样的扩展代码(170万行)甚至比 PostgreSQL 本身(100万行)还要多。有着好几本专著和自己的子社区。更别提最近蓬勃发展的向量/DuckDB/Tantivy扩展缝合大赛了。如果你什么 PG 扩展都没用过,那我可以肯定的判断你错过了 PG 生态的精髓。
在运维与服务搭建上也同理,如果只是 yum install postgresql systemctl start 这样安装 PG 裸内核,那属实连 门都没有入。一套生产级,企业级的 PostgreSQL 数据库服务一定是成体系的。围绕内核通过架构/扩展来解决各种裸内核的问题。例如:
-
高连接数性能下降,那么就需要 pgbouncer 链接池
-
内核本身不能高可用,但是 patroni 可以提供高可用
-