Wednesday, July 22, 2009

MySQL Clustering - Project Approach

As per the advice of Sun Team, the project has been implemented in a staggered model as outlined below with a use case that covered a Telephone Enterprise Customer Database wherein each Customer is uniquely identified by phone number (country code + phone number) -

Database Administration

This Phase covered the Hardware Setup, Operating System Setup, and Installation of MySQL. The major focus during this phase was to setup Replication features of MySQL using two different approaches - Asynchronous and Synchronous.

Both the replication approaches were implemented against two MySQL engines - InnoDB and MyISAM.

Implementation and comprehensive testing was performed at this stage which also covered failures of databases and scalability under the available hardware configuration.

Business Logic Development

This Phase covered the business logic requirement where the stress and focus was on standard database interfaces. The demo implemented Hibernate, an ORM model and JDBC to connect to MySQL database.

The connection to the database using these technologies is achieved through a Web Services layer. CRUD functionality has been implemented using Web Services.

Graphical User Interface Development

The focus of this phase is to demonstrate how an end-user application would interact with MySQL database using the Web Service Layer. The demo implemented various client-side GUIs in the form of front-end technologies like Java Swing, Visual Web Java Server Faces (JSF), Java Micro Edition and ASP.NET.

Exhaustive test cases have been written to demonstrate the functionality covering both success and failure situations.