Database Management System Vendor Comparison
In this paper we discuss the important features to look for when purchasing DBMS software. We contrast two DBMS solutions.
When making a purchasing decision for DBMS software one should not consider a solution which does not provide ACID compliance. Most of the major vendors support this, so to settle for anything less would risk data loss.
ACID is an acronym for Atomicity, Consistency, Isolation and Durability. Atomicity refers to the databases ability to guarantee that either all the elements of a transaction succeed or fail as a whole.
Consistency refers to the databases ability to be in a consistent state before and after any transaction. This means that in carrying out a transaction the database cannot break any of the integrity constraints imposed on it.
Isolation refers to the databases ability to isolate transactions from each other. This means that an observer external to a transaction never sees the data it’s operating on in an intermediate state.
Durability guarantees that once a user is notified that a transaction has succeeded, its effects are made permanent. This includes surviving system failures, ensuring that all integrity constraints are not compromised and that the transaction won’t need to be aborted by the database.
Oracle v PostgreSQL
PostgreSQL has evolved from the original POSTGRES project started by Prof. Michael Stonebreaker at UC Berkeley as a replacement for Ingres. PostgreSQL is developed under an open source license.
In comparison with Oracle it may be easier to note the differences as the list of similarities is quite long. Both Oracle and PostgreSQL support ACID compliance, triggers, views, inheritance, sequences, stored procedures, cursors and user defined data types and large objects. Both support many different platforms including Windows, Linux, FreeBSD and MacOS. ODBC and JDBC are well supported as well as native database access methods.
Where the databases differ is in the levels of support for replication. PostgreSQL allows for basic master-slave replication, while Oracle allows much higher levels of sophistication through the use of Oracle Replication Manager.
When it comes to backups, PostgreSQL comes with scripts to facilitate a simple text dump of your database and its schema. Many commercial tools and agents exist to provide online backups for commercial databases such as Oracle. There is less commercial support in this area for PostgreSQL.
Both databases have large user bases, though the uses made of these databases differ. “Oracle can scale to terabytes of data storage fairly easily. PostgreSQL is known to run well into the hundreds of gigabytes, but few companies use the database above that range.” (Conrad, 2004). When it comes to making a choice between these databases, you really need to asses what you need. If very large data stores, well supported backups and replication are important to you then Oracle is the obvious choice. If these are less of a concern then either could be seriously be considered.
A database is an important part of an information system, yet it is only a part. The database you chose for any given information system depends on the information system itself. Factors such as the type of data that is stored, how it is stored, how it is produced and consumed will all influence the database choice.
Operational factors also need to be taken into consideration. Are ease of backup and replication important to the information system? How much data must the system process every day? How much will the system cost to buy and run? These are all issues which need to be specified when developing an information system.
Conrad, T. 2004. PostgreSQL vs. MySQL vs. Commerical Databases: It’s All About What You Need. Retrieved 21 November 2006, from http://www.devx.com/dbzone/Article/20743/0/page/1.