且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

《PostgreSQL服务器编程》一一第2章 服务器程序设计环境

更新时间:2022-10-01 10:34:36

第2章 服务器程序设计环境

在此之前,你可能已经了解过使用PostgreSQL的基本概念,但是现在我们将要回答这样一个问题:为什么人们选择PostgreSQL作为他们的开发平台?我非常愿意相信对于每个人来说,选择开发平台都是一个简单的决定,但是实际上并非如此。
作为初学者,我们应该摆脱这样一种乐观的想法,那就是任何人都是出于技术原因,来选择某一种数据库平台。当然,我们都希望自己是客观的,我们是依据数据库平台在技术方面的绝对优势,对数据库平台做出我们***的选择。这种绝对优势会表明数据库平台的哪些特性是可以被利用的,并且和我们的应用程序是相关联的。然后,我们通过综合考量,确定一个最有利的平台。而对于我们所选择的平台其本身的不足之处,我们会通过权衡技术优势,建立应对措施和方案。事实上,我们在一开始往往并不会真正了解所有应用程序的要求,直到开发周期过半之后才会知晓。下面是造成这种情况的原因:
我们不知道应用程序将如何随着时间的推移而产生变化。许多创业型公司会跟随市场需求改变他们最初的想法,因为市场会告诉他们如何做出改变。
我们不知道应用程序到底会拥有多少用户,直到我们看到一些注册量,并且可以开始测量用户曲线。
我们不知道某个特定功能会有多么重要,直到我们得到用户反馈。事实是,我们真的不知道该应用程序的大部分长期用户需求,直到我们编写了第2版甚至第3版。
也就是说,除非你是个幸运儿,拥有一个能够编写出alpha版本的研发部门,并进行试推广,然后基于alpha版本的经验教训,编写下一个版本。可即使是这样,一旦应用程序被部署,你也不会知道真正的使用模式将会是什么样的。
在PostgreSQL社区里,我们通常会看到一些在提问的新用户,会发现他们其实并不是找人帮忙做解答,其实他们自己早已经有了答案。在大多数情况下,他们是在对现有的行动计划寻求技术支撑。对他们而言,决策时间点早已经过去了。本章中,我将阐述的不是一个TPC基准测试,也不是关于PostgreSQL函数与存储过程的相对优点。坦率地说,在人们做出选择并试图证明自己的选择之前,没有人会真正关心这些事情。
本章包含了指导部分。对于这些指导内容,早在1998年当我选择PostgreSQL时,我就希望有人已经为我写好。