My early research was primarily on transaction processing and, after a long hiatus, I resumed working in this area in…

I am a member of the Data Management, Exploration and Mining group in Microsoft Research Redmond . I work on various aspects database systems, mostly related to data integration and transaction processing.

I am a member of the Data Management, Exploration and Mining group in Microsoft Research Redmond. I work on various aspects database systems, mostly related to data integration and transaction processing.

Currently, I’m working on a distributed systems programming framework, called Orleans, which was released as open source in January, 2015 and is widely used inside and outside Microsoft. I gave a keynote about it at DISC 2014 (slides). In the last few years, I’ve worked on projects to enrich Orleans to be an “actor-oriented database system”. I described the vision in a keynote at ICDE 2018 (slides). You can read about the following components: indexing (CIDR 2017), geo-distribution (OOPSLA 2017), and transactions (technical report)—all of which are available on GitHub.

My early research was primarily on transaction processing and, after a long hiatus, I resumed working in this area in 2006 as a co-designer of the database engine for SQL Azure. I then focused on building Hyder, a prototype transactional indexed-record manager that scales out without partitioning. I co-authored a survey of techniques for multi-master replication (SIGMOD 2013) and two books on transaction processing:

Principles of Transaction Processing (2nd edition), coauthored with Eric Newcomer, was published in June 2009 by Morgan-Kauffman Publishers, a division of Elsevier. Translated into Chinese, Japanese, and Korean.

Concurrency Control and Recovery in Database Systems, coauthored with Vassos Hadzilacos and Nathan Goodman, is downloadable for free from here.

My other main research interest is data integration. From 2000 – 2011 I led the Model Management Project, whose goal was to make database systems easier to use for model-driven applications, such as design tools, message translators, and database translators. I also worked on object-to-relational mapping, especially in support of the ADO.NET Entity Framework. Over the years, this work has been done in close collaboration with Sergey Melnik (now at Google), James Terwilliger (Microsoft), Eli Cortez (Microsoft), Suad Alagic, Alon Halevy, Jayant Madhavan (Google), René Miller (Northeastern Univ.), Peter Mork (Noblis), Rachel Pottinger (Univ. of British Columbia), Christoph Quix (Technical Univ. of Aachen), Erhard Rahm (Univ. of Leipzig), Adi Unnithan, and many great interns.

I’ve published many research papers on transaction processing, data integration, and other aspects of database management. You can find a nearly-complete list at the DBLP Computer Science Bibliography.