Master’s Thesis
Optimization of Derived Table Creation Framework for Online Non-blocking Online Relational Schema Changes
Every Information System is subject to change over time due to changing
requirements, the need to improve performance, or the fixing of bugs. Database
systems should be able to evolve over time to accommodate these changes in the
system requirements. In legacy systems, such an evolution is supported by blocking
user transactions during complex schema transformations; therefore database schema
evolution entails significant downtime. An approach to transform the data from one
scheme to another without significant downtime was proposed by Dr. Loland and Dr. Hvasshovd.
To support the online migration of schema, they proposed a framework that is based on
copying data without checking for inconsistency and reconciling inconsistencies using
data from the database log.
The main contribution of this research is reducing the time taken for the execution
of the log reconciliation phase of their proposed framework by reducing the number of
page faults. The log records are independent of each other. Hence, in this work, these log
records are rearranged in main memory in a way that will optimize the reconciliation.
The improved performance of the proposed algorithm is validated through simulation.
Simulation results show an increase in performance by approximately 224%.
Academic Projects
Qrss:
Data
Stream Manager : This is a RSS Stream manager
that parses RSS feeds from various online stores when a user enters a
query. The aim of this project is to demonstrate Stream processing
capabilities. Hence the streams are parsed for every query instead of
parsing once and indexing the results. The unique feature of this
project is that, this
product gives the users the power to view results from multiple stores,
and the user can choose the stores before the query is run. This means
smaller execution times when compared to other stream processing models
of similar kind. Another unique feature is that, the results are
updated dynamically, i.e. the RSS streams are processed continuously
and as new matching products are found, the result set is updated. This
working prototype is highly scalable.
Developed in C#, the system has a user-firendly interface. The
layout of the interface is carefully designed in such that it
resembles an SQL query for a programmer, and for a
non-programmer, the layout looks different and interesting from the
traditional search screens. The interface is carefully designed to
reflect as much symmetry as possible, as "symmetry is beauty".
When a user selects a product catagory, it lists all
the
stores that sell these products and all the parameters that can be
searched for. These meta information is got from prior scans of the RSS
streams. The user is also given the option to enter search criteria not
listed in the options.
When a query is entered and executed, the input conditions are
checked for syntactic and semantic correctness. Once found correct, A
query tree is constructed and the RSS feeds from the stores chosen by
the user are retrieved. These are then parsed in parallel, in
multiple threads. The RSS feeds from different online stores are in
different format. Hence, to process them in the same processing engine,
the parsed data stored in custom data-type (as objects). These objects
are then enqueued in a custom-build data structure, which is a
restricted version of a linked-list. The insertion is allowed only at
the tail of the linked-list where as deletion of any desired node is
allowed. When data is populated in this data structue in memory, the
query engine starts processing the data. As long as the incoming data
arrival rate is smaller than the processing capacity and the memory
limitations of the system, every tuple is processed for all the
conditions. If the incoming data rate exceeds, then the load shedder is
called into action. The load shedder reads objects at random from the
data structure and checks for just one conditon in the query and it
leaves the object in the data structure if the condition satisfies,
else removes object. If the system is still not able to effective
handle the incoming data, then some data is shed without any evaluation.
PharmaWare: a Pharmacy Database : PharmaWare is a custom-built database system for a Pharmacy client. Acknowledged as the most detailed project with the largest schema in a class of 40 students, this inter-disciplinary project is aimed at designing and developing a database in SQL Server 2005, with ASP .NET front end. The phase 1 of the project was to identify the needs of the client and develop a normalized schema and a database in MS Access. The second and the third phases where aimed at migrating this database to SQL Server 2005 and developing the front-end in ASP .NET. This project comprehensively covers the many different constraints and requirements of the client. The database was designed to maintains a record of patients, doctors consulted, ailments, medical conditions, drugs prescribed by the doctor, effectiveness of the drug, side effects, allergies and special notes by doctors. Report were generated to help the pharmacist study the requirements and update the inventory, even alert the medical authorities if any potential outbreak is identified. Reports to identify the patterns of distribution of the various patients, the drugs purchased by people from different geographic areas, drugs prescribed by different doctors, side effects and allergies of people from different geographic areas are few of the many reports generated.
Academic interests
I have loved programming from the time I had my first course in BASIC, in 8th grade. To me, nothing is more fun than programming. I write code for whatever reason - to learn, to play or to kill time. I have programmed in a variety of languages, and I have never hesitated to learn a new language or new tool. In Computer Science, data structures and algorithms have always excited me the most.
Physics has always fascinated me. Physics taught me to think and be curious. The joy of understanding how and why things around me worked the way they did excited me and still excites me.
Recently I rediscovered my love for mathematics. I want to read and understand matrices, vectors and geometry better.
Other interests
I play a variety of games including Cricket, Badminton, Volley Ball, Basketball, Racquetball, but among all these, I enjoy playing Cricket and Badminton the most.
Photography is one of my favorite hobbies. I love shooting in the wild. I have been to two wild life santuaries in India and enjoyed filming some of the animals unique to India. I have not posted them in my album though, I have to find the pictures in the college of all my pictures. But, it will be there pretty soon.
Pencil sketching is another hobby. My interest in art started with painting, but soon realised I loved pencil sketching and pencil shading more. Animals and landscape have been my favorites.