官术网_书友最值得收藏!

Chapter 2. Server Programming Environments

You've had a chance to get acquainted with the general idea of using PostgreSQL, but now we are going to answer the question of why anyone will choose PostgreSQL as a development platform. As much as I'd like to believe that it's an easy decision for everyone, it's not.

For starters, let's get rid of the optimistic idea that you choose a database platform for technical reasons. Sure, we all like to think that we are objective, and we base our decisions on a preponderance of the technical evidence. This preponderance of evidence then indicates which features are available and relevant to our application. We will then proceed to make a weighted choice in favor of the most advantageous platform, and use a balance of the evidences to create workarounds and alternatives where our choice falls short. The fact is that we don't really understand all the requirements of the application until we are halfway through the development cycle. Here are some reasons why:

  • We don't know how the application will evolve over time. Many start-ups pivot from their initial idea as the market tells them to change.
  • We don't know how many users there will really be until we have some registrations and can begin to measure the curve.
  • We don't realize how important a particular feature can be until we get user feedback. The truth is, that we don't really know much about the long-term needs of the application until we're writing version 2 or maybe even version 3.

That is, unless you're one of the fortunate few who has a Research and Development department that writes the alpha version, throws it out the window, and then asks you to write the next version based on the lessons learned. Even then, you really don't know what the usage patterns are going to be once the application is deployed.

What we generally see in the PostgreSQL community—when new users start asking questions—is people not looking to make a decision, but rather people who have already made a decision. In most cases, they are looking for technical justification for an existing plan of action. The decision has already been passed. What I am going to write about in this chapter is not a TPC benchmark, nor is it about the relative merits of PostgreSQL functions versus stored procedures. Frankly, nobody really cares about these things until they have already made a choice and want to justify it.

This chapter contains the guide that I wish someone had written for me when I chose to use PostgreSQL back in 1998.

主站蜘蛛池模板: 灌云县| 涟源市| 马鞍山市| 太保市| 民乐县| 磴口县| 汝阳县| 汝州市| 平泉县| 香格里拉县| 姚安县| 日土县| 临江市| 黄骅市| 昭觉县| 鄂伦春自治旗| 突泉县| 武冈市| 山丹县| 三河市| 东海县| 津市市| 加查县| 澳门| 囊谦县| 通辽市| 三河市| 眉山市| 乃东县| 玉田县| 建湖县| 诸城市| 桂林市| 德庆县| 石棉县| 营山县| 汨罗市| 东阿县| 普定县| 平昌县| 和平区|