Define Your Requirements
Database management systems (or DBMSs) can be divided into two categories: desktop databases and server databases. Desktop databases are oriented toward single-user applications and reside on standard personal computers (hence the term desktop). Server databases contain mechanisms to ensure the reliability and consistency of data and are geared toward multi-user applications. These databases are designed to run on high-performance servers and carry a correspondingly higher price tag. A careful needs analysis before you commit to a database solution is essential. The needs analysis process will be specific to your organization but, at a minimum, should answer the following questions:
Who will use the database and what tasks will they perform?How often will the data be modified? Who will make these modifications?Who will provide IT support for the database?What hardware is available? Is there a budget for purchasing additional hardware?Who will be responsible for maintaining the data?Will data access be offered over the Internet? If so, what level of access should be supported?
Once you’ve gathered the answers to these questions, you’ll be prepared to begin the process of evaluating specific database management systems. You may discover that a sophisticated multi-user server platform (like SQL Server or Oracle) is necessary to support your complex requirements. On the other hand, a desktop database such as Microsoft Access might be just as capable of meeting your needs (and much easier to learn, as well as gentler on your pocketbook.)
Desktop Databases
Desktop databases offer an inexpensive, simple solution to many less complex data storage and manipulation requirements. They earn their name because they are designed to run on “desktop” (or personal) computers. You’re probably familiar with a few of these products already – Microsoft Access, FileMaker and OpenOffice/Libre Office Base (free) are the major players. Let’s examine a few of the benefits gained by using a desktop database:
Desktop databases are inexpensive. Most desktop solutions are available for around $100 (compared to thousands of dollars for their server-based cousins). If you own a copy of Microsoft Office, you might already be a licensed owner of Microsoft Access.Desktop databases are user-friendly. A thorough understanding of SQL is not required when using these systems (although many do support SQL for you geeks out there). Desktop DBMSs usually offer an easy-to-navigate graphical user interface.Desktop databases offer web solutions. Many modern desktop databases provide web functionality enabling you to publish your data on the web statically or dynamically.
Server Databases
Server databases, such as Microsoft SQL Server, Oracle, the open-source PostgreSQL, and IBM DB2, offer organizations the ability to manage large amounts of data efficiently in a way that enables many users to access and update the data simultaneously. If you’re able to handle the hefty price tag, a server-based database can provide you with a comprehensive data management solution. The benefits achieved through the use of a server-based system are diverse. Let’s take a look at a few of the more prominent gains achieved:
Flexibility. Server-based databases can handle just about any data management problem you can throw at them. Developers love these systems because they have programmer-friendly application programmer interfaces (or APIs) that provide for the rapid development of database-oriented custom applications. The Oracle platform is even available for multiple operating systems, providing Linux junkies with a level playing field when paired off against the Microsoft folks.Powerful performance. Server-based databases are as powerful as you want them to be. The major players can efficiently use just about any reasonable hardware platform that you’re able to construct for them. Modern databases can manage multiple, high-speed processors, clustered servers, high bandwidth connectivity, and fault-tolerant storage technology.Scalability. This attribute goes hand-in-hand with the previous one. If you’re willing to provide the necessary hardware resources, server databases can gracefully handle a rapidly expanding amount of users and/or data.
NoSQL Database Alternatives
With the growing need for organizations to manipulate large sets of complex data — some of which have no traditional structure — “NoSQL” databases have become more widespread. A NoSQL database is not structured on the common columns/row design of traditional relational databases but rather uses a more flexible data model. The model varies, depending on the database: some organize data by key/value pair, graphs or wide columns. If your organization needs to crunch a lot of data, consider this type of database, which is typically simpler to configure than some RDBMs and more scalable. Top contenders include MongoDB, Cassandra, CouchDB, and Redis.