ENHANCING QUERY PERFORMANCE AND PRIVACY ON RELATIONAL CLOUD DATABASE

TABLE OF CONTENTS
Title Page
Abstract
Table of Contents
Abbreviations and Acronyms

CHAPTER ONE
1.0       INTRODUCTION
1.1       Background of Study
1.2       Cloud Service Models
1.2.1    Software-as-a-Service (SaaS):
1.2.2    Platform-as-a-Service (PaaS):
1.2.3    Infrastructure-as-a-Service (IaaS):
1.2.4    Database-as-a-Service (DBaaS):
1.3       Cloud Deployment Models
1.3.1    Private Cloud:
1.3.2    Community Cloud:
1.3.3    Public Cloud:
1.3.4    Hybrid Cloud:
1.4       Research Questions
1.5       Problem Statement
1.6       Motivation
1.7       Aim and Objectives of the research
1.8       Research Method
1.9       Contribution to Knowledge
1.10     Organization of Dissertation

CHAPTER TWO
2.0       REVIEW OF LITERATURE
2.1       Introduction
2.2       Concept of Cloud Database
2.3       Types of Cloud Database
2.3.1    SQL Databases
2.3.2    NoSQL DATABASES
2.3.3    SQL vs NoSQL
2.4       Data Security
2.4.1    Confidentiality
2.4.2    Availability
2.4.3    Integrity
2.4.4    Access Control
2.5       Concept of Database Security
2.5.1    Levels of Encryption
2.6       Data Security Concerns
2.6.1    Encryption Overhead
2.6.2    Handling Encryption/Decryption Keys
2.6.3    Client Side Encryption
2.7       Terms used in Cryptography
2.8       Types of Ciphers
2.8.1    Block Ciphers
2.8.2    Stream Ciphers
2.9       Symmetric Encryption
2.9.1    Advantages of Symmetric Encryption
2.10     Advanced Encryption Standard
2.11     Choice of Encryption Granularity and Algorithm
2.12     Query Efficiency
2.13     Hash Map
2.14     Benchmarking
2.15     Review of Related Literature

CHAPTER THREE
3.0       ARCHITECTURE AND DESIGN OF SEQURE SQL
3.1       Introduction
3.2       System Model
3.3       Assumptions
3.4       System Architecture
3.4.1    Key Storage
3.4.2    Authentication
3.4.3    Encryption/Decryption Engine
3.4.4    Query Execution
3.5       System Design
3.6       Implementation Tools and Platform
3.6.1    MySQL Workbench
3.6.2    Google Cloud SQL
3.6.3    TPC-H Benchmark
3.6.4    DBGen (Database Generator)

CHAPTER FOUR
4.0       IMPLEMENTATION, RESULTS AND DISCUSSION
4.1       Introduction
4.2       Generation of test data with dbgen for the tpc-h database using visual studio
4.3       Data loading into the database from the flat .tbl files
4.4       TPCH Schema Diagram
4.5       System Implementation
4.5.1    Code Implementation
4.5.2    Client Side Application
4.5.3    Interface Tabs
4.5.4    Encryption Process
4.5.5    Columns encrypted in the TPCH database
4.5.6    Decryption Process
4.5.7    Update Process
4.5.8    Delete Process
4.6       Google Cloud SQL instance connection
4.7       Export and Import of database to google cloud SQL
4.8       Query Testing, Results and Discussion
4.9       Observation and Discussion
4.10     Comparison of Methods

CHAPTER FIVE
5.0       SUMMARY, CONCLUSION AND RECOMMENDATION
5.1       Summary
5.2       Conclusion
5.3       Recommendation for future work
REFERENCES
APPENDIX: SAMPLE PROGRAM CODEA


Abstract
Database outsourcing has become a trend in the information technology industry because it offers scalability to the enormous amount of digital content stored and generated on a daily basis by individuals and corporations. In large outsourced databases the efficiency of data retrieval, especially as it relates to privacy, remains an open challenge, because traditional query languages cannot work with encrypted data. While several architectures, techniques and tools have been proffered to ensure that privacy and performance are balanced and optimized, each of these approaches has its limitations. This research proposed a framework which focused on enhancing query performance and privacy through the use of hash map and AES 128-bit encryption algorithm. The design and implementation of secureSQL is built on the client-side without any alteration to the DBMS structure. SecureSQL model guarantees efficiency and is able to execute 20 out of the 22 Transaction Processing Performance Council (TPC-H) benchmark queries while ensuring privacy. This is proof that it is not restricted to simple query constructs but is able to handle even complex queries involving nested sub queries and joins. The execution time of queries between the client and database on the cloud is reduced, as is evident in the comparative performance analysis between secureSQL and the traditional method of querying. Also, with increasing number of records, the proposed method maintains some degree of constancy in execution time thereby supporting the O(1) time complexity assertion for the use of the hash map data structure.


CHAPTER ONE
1.0              INTRODUCTION
1.1             Background of Study
Database outsourcing has become a current trend in the Information Technology Industry due to the enormous amount of digital content stored and generated on a daily basis by individuals and corporations. According to Liu and Ting (2010), enterprises are becoming data-centric and increasingly producing huge amounts of data daily. Most importantly, is the management of the data as it transits to and from the storage servers. Database as a service (DaaS) model provides users with Internet access, the power to create, store, modify and retrieve data from anywhere in the world. This technology primarily saves cost in terms of procuring hardware, software and manpower. It also ensures elastic scaling and availability. A key problem in outsourcing the storage and processing of data is that parts of the data may be sensitive, such as business secrets, credit card numbers, health records or other personal information (Kamara and Lauter, 2010).

Generally, this work is framed in the context of relational databases, since they are by far the most common and workable solution for the management of data in most environments. Relational databases are also characterized by a clear data model and a simple query language that facilitate the design of a solution.

A larger scalability problem comes from MySQL. Relational databases are limited in capacity due to the way they represent information. When that limit is reached, database management becomes more difficult. A procedure called data partitioning can be used to manage this. Using this method, the data is split into independent sets, and indefinite scaling can be done. But if the data cannot be split, then movement to a distributed....

For more Mathematics Projects click here
================================================================
Item Type: Project Material  |  Size: 107 pages  |  Chapters: 1-5
Format: MS Word  |  Delivery: Within 30Mins.
================================================================

Share:

Search for your topic here

See full list of Project Topics under your Department Here!

Featured Post

HOW TO WRITE A RESEARCH HYPOTHESIS

A hypothesis is a description of a pattern in nature or an explanation about some real-world phenomenon that can be tested through observ...

Popular Posts