I am a member of the Data Systems Group (opens in new tab) in Microsoft Research Redmond (opens in new tab). I work on various aspects database systems, mostly related to data integration and transaction processing.
I’m currently working applications of disaggregated memory as a remote database cache. From 2012-2019, I worked on a distributed systems programming framework, called Orleans (opens in new tab), which was released as open source (opens in new tab) in January, 2015 and is widely used (opens in new tab) inside and outside Microsoft. I gave a keynote about it at DISC 2014 (opens in new tab) (slides (opens in new tab)). I worked on projects to enrich Orleans to be an “actor-oriented database system”. I described the vision in a keynote at ICDE 2018 (opens in new tab) (slides (opens in new tab)). You can read about the following components: indexing (CIDR 2017 (opens in new tab)), geo-distribution (OOPSLA 2017 (opens in new tab)), and transactions (technical report (opens in new tab))—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 (opens in new tab). I then focused on building Hyder (opens in new tab), a prototype transactional indexed-record manager that scales out without partitioning. I co-authored a survey of techniques for multi-master replication (SIGMOD 2013 (opens in new tab)) and two books on transaction processing:
- Principles of Transaction Processing (opens in new tab) (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 (opens in new tab), coauthored with Vassos Hadzilacos and Nathan Goodman, is downloadable for free from here (opens in new tab).
My other main research interest is data integration. From 2000 – 2011 I led the Model Management Project (opens in new tab), 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 (opens in new tab). Over the years, this work has been done in close collaboration with Sergey Melnik (Google), James Terwilliger, Eli Cortez (Microsoft), Suad Alagic, Alon Halevy (Meta), 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 (opens in new tab).
Microsoft Research Podcast
Episode 114 | April 8, 2020 - Forty years ago, database research was an “exotic” field and, because of its business data processing reputation, was not considered intellectually interesting in academic circles. But that didn’t deter Dr. Philip Bernstein, now a Distinguished Scientist in MSR’s Data Management, Exploration and Mining group, and a pioneer in the field. Today, Dr. Bernstein talks about his pioneering work in databases over the years and tells us all about Project Orleans, a distributed systems programming framework that makes life easier for programmers who aren’t distributed systems experts. He also talks about the future of database systems in a cloud scale world, and reveals where he finds his research sweet spot along the academic industrial spectrum.