Download resume in .doc | .pdf format

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.