Your company doesn't have to pay big bucks for a big database. If your apps are not completely chained to Microsoft, then you've got a chance to save money and get enterprise-level scalability, functionality and ease of use with open source PostgreSQL, say Robert Treat and Jason Gilmore, co-authors of Apress' Beginning PHP and PostgreSQL 8: From Novice to Professional.
In this interview, Treat and Gilmore compare PostgreSQL to commercial database systems and discuss its suitability for large- and small-scale enterprises. They also explain why administrators and users have more control with this open source DMBS than with any other.
Are there any instances in an enterprise where another DBMS would be more appropriate to use than PostgreSQL?
Jason Gilmore: I could take the easy route and say, 'No, PostgreSQL is suitable no matter the situation.' Doing so would be disingenuous. However, my reasoning has little to do with the technology, as open source databases like PostgreSQL and MySQL have repeatedly proven their ability to perform brilliantly in large-scale enterprise environments of all sorts.
I liken the array of technologies at our disposal today to the tools found in a Swiss Army knife; you should use whichever makes the most sense for your situation. For instance, if you're consulting for a client who is already heavily invested in Microsoft technologies, then attempting to wedge PostgreSQL into the environment, although it may work just fine, might not make the most use of their employees' skill sets.
In the end, technology is simply a means to the ends of doing business. As PostgreSQL's performance and feature set compares quite well to other solutions, if the environment allows for it, then by all means it should be put up for consideration. You can use the saved licensing fees for the company Christmas party.
What features and capabilities of Oracle or Microsoft SQLServer might make it worthwhile to pay a premium for them, rather than using free PostgreSQL?
Robert Treat: For the majority of business there probably is little reason to do so, but every database system has its strengths and weaknesses. Oracle tends to focus on the extremely high end of the scalability market, and Microsoft offers one of the most completely integrated tool lineups between operating system, servers and development tools, that if you need those types of features and you have the IT budget you should look at what they can offer.
On the other hand, companies like Afilias Global Registry Services and Ameritrade are have shown us that even companies with large IT budgets whose technology is paramount to their success find something accessible within PostgreSQL.
Why is PostgreSQL's standards-compliance stance so important?
Gilmore:.Standards-compliance is crucial to a technology's success on so many levels; quality, reliability and interchangeability all come to mind. Quality is ensured because a standard is reviewed, revised and agreed upon by numerous knowledgeable, yet disparate, parties who share a similar interest in establishing an ideal solution. Reliability is ensured because developers wishing to build products or extensions capable of effectively interacting with PostgreSQL have a clearly defined blueprint from which to base their efforts. Interchangeability is ensured because efforts to migrate from one standards-compliant product to another should be minimized since both adhere to a common set of implementation rules.
Whenever practical and possible, the PostgreSQL developers strive to be closely conformant to the latest SQL standard, which at this time is SQL:2003. In fact, according to the PostgreSQL manual, as of version 8.1 PostgreSQL supports 150 of the 164 major features as defined by the SQL:2003 standard.
Could you describe some situations in which PostgreSQL would be used in tandem with Microsoft SQLServer, Oracle or MySQL?
Treat: There are generally two scenarios where we find people running PostgreSQL alongside other database systems. The first is usually a case where licensing or hardware constraints make running multiple copies of a given database impractical, so instead companies will export their data via dumps or using the PostgreSQL add-on cross database connection program, dbi-link, to keep additional database copies available for off-line use, development purposes, or for experimenting on new products.
For example, if you're running e-commerce site on Oracle, and are considering setting up a data warehouse, it can often be much simpler to set up a PostgreSQL machine to begin handling the data and not have to deal with technical restrictions or licensing issues while you grow the new service. In some cases a company will convert the system back to Oracle once they have things up and running; in other cases we've seen companies will decide they could simply things further by converting the e-commerce itself to PostgreSQL, as well.
The other case where we see a lot of cross-database usage is with third party application developers. Since PostgreSQL is feature-complete, runs well in cross-platform environments and is highly standards-compliant, it provides a very good baseline for companies that want to develop products that need to make use of an RDBMS backend. Once you develop against PostgreSQL, it is very easy to make your code work against other systems.