This chapter attempts to bring to light the field of one of the less popular branches of the open source software family, which is the open source database management systems branch. In view of the objective, the background of these systems will first be briefly described followed by presentation of a fair generic database model. Subsequently and in order to present these systems under all their possible features, the main system representatives of both open source and commercial origins will be compared in relation to this model, and evaluated appropriately. By adopting such an approach, the chapter’s initial concern is to ensure that the nature of database management systems in general can be apprehended. The overall orientation leads to an understanding that the gap between open and closed source database management systems has been significantly narrowed, thus demystifying the respective commercial products.
Key Terms in this Chapter
Relational Database Management System (RDBMS): It is a database management system that is based on the relational model as introduced by Edgar F. Codd. The model represents all information in the form of multiple related tables, every one consisting of rows and columns.
Database: An organized collection of data (records) that is stored in a computer in a systematic way, so that computer software might consult it to answer questions. The database model in most common use today is the relational model.
Graphical User Interface (GUI): It refers to computer software that offers direct manipulation of graphical images and widgets in addition to text.
Open Source Software (OSS): Computer software available with its source code under an open source license to study, change and improve its design. The open source philosophy further defines a boundary on the usage, modification, and redistribution of open source software. Software licenses grant rights to users, which would otherwise be prohibited by copyright. These include rights on usage, modification, and redistribution. Several open source software licenses have qualified within the boundary of the Open Source Definition.
GNU General Public License (GPL): It is the most popular free software license originally written by Richard Stallman for the GNU project. The GPL grants the recipients of computer software the following rights - Freedom to run the program, for any purpose; Freedom to study how the program works, and modify it. (Access to the source code is a precondition for this); Freedom to redistribute copies; Freedom to improve the program, and release the improvements to the public (access to the source code is a precondition for this)
Object-Relational Database Management System (ORDBMS): It is a database management system that allows developers to integrate the database with their own custom data types and methods.
Online Analytical Processing (OLAP): It is an approach to quickly provide the answer to complex analytical queries. It is part of the broader business intelligence category that also includes data mining. The typical applications of OLAP are in business reporting for sales, marketing, management reporting business performance management (BPM), budgeting and forecasting, financial reporting, and similar areas.
Structured Query Language (SQL): It is the most popular computer language used to create, modify and retrieve data from relational database management systems. The language has evolved beyond its original purpose to support object-relational database management systems. It is an ANSI/ISO standard.
Grid Computing: A computing model that provides the ability to perform higher throughput computing by taking advantage of many networked computers to model a virtual computer architecture that is able to distribute process execution across a parallel infrastructure. Grids use the resources of many separate computers connected by a network to solve large-scale computation problems.
Atomicity, Consistency, Isolation, and Durability (ACID): Considered to be the key transaction processing features/properties of a database system. Without them, the integrity of the database cannot be guaranteed.