POSTGRESQL AS A MULTI-MODEL DATABASE
URI
Date
2019-07-26
Access
Authors
Khanal, Rabindra
Journal Title
Journal ISSN
Volume Title
Publisher
East Carolina University
Abstract
Data is being generated at unprecedented volume and speed, which is popularly known as Big Data. Most of this data is unstructured and requires natural language processing and information retrieval techniques to extract actionable information. Furthermore, storing and retrieving such data requires extensible data models, flexible query mechanisms, and tunable consistency models for transaction support. The traditional Relational Database Management Systems (RDBMS) are not clearly suitable for meeting these needs. A plethora of data management systems have been introduced during the last ten years under the umbrella term NoSQL to meet this need. There are several classes of NoSQL data management systems including key-value, document-oriented, column-oriented, column-family, native XML, and graph-model based. Each class is geared towards meeting the needs of a class of applications. This necessitates an organization to install and operate multiple NoSQL systems, which is not cost-effective. In this thesis, we investigate performance of PostgreSQL database management system as a multi-model NoSQL system. More specifically, we evaluate PostgreSQL as a multi-model database with support for the following data models: row-oriented, column-oriented, key-value, and document-oriented. We describe cluster setup, datasets, data loading procedures, and query performance evaluation. During our investigation of features of PostgreSQL as a multi-model NoSQL system, we were able to achieve the scalability and high availability feature of PostgreSQL by using it as a row-oriented database. Our results showed that PostgreSQL for row-oriented is better for Online Transaction Processing (OLTP) when the records are frequently accessed whereas PostgreSQL as a column-oriented database is more suitable for the Online Analytical Processing (OLAP) of queries. The feature of PostgreSQL as a document-oriented database was exhibited as PostgreSQL supports Json/Jsonb (JavaScript Object Notation) data-types it is efficient to store the unstructured data efficiently. We were able to demonstrate the features of PostgreSQL as a key-value database from our implementation using the h-store extension.