Building a database abstraction framework in PHP 5.3: Evaluating the implications on performance and benefits on workflow
2012 (English)Independent thesis Basic level (university diploma), 10 credits / 15 HE credits
Student thesis
Abstract [en]
This study analyzes the possibilities of creating a general-purpose PHP framework, that can handle the abstraction and mapping to both RDBMS and NoSQL databases. Although there are some different Object-Relational Mappers (ORM) out there, there’s a lack of implementations supporting different types of databases and that’s what the framework, called Squid, aims to cure.
To understand the difficulties involved in building a framework like Squid the study takes a closer look at Database Abstraction Layers, some architectural patterns, Object- Relational Mapping and Object Document Mapping as well as RDBMS and NoSQL databases.
To establish the quality of the framework, tests were carried out to examine how much development time as well as lines of code that could be saved by using Squid instead of writing native queries. Additionally, performance tests were executed as speed in ORM's, or lack thereof, is a common issue.
Even though separate Database Abstraction Layers had to be created for the RDBMS and the NoSQL database, the results clearly demonstrate the benefits of the framework; shorter development time and less code. Performance wise the framework failed though.
Nevertheless, with the right commitment and resources, further development could make the Squid framework a useful asset.
Place, publisher, year, edition, pages
2012. , p. 36
National Category
Computer Sciences
Identifiers
URN: urn:nbn:se:lnu:diva-20608OAI: oai:DiVA.org:lnu-20608DiVA, id: diva2:538537
Subject / course
Computer Science
Educational program
Web Development Programme, 120 credits
Uppsok
Technology
Supervisors
Examiners
2012-08-152012-06-292018-01-12Bibliographically approved