David Lomet

I manage the Database Group at Microsoft Research, part of the Microsoft Corp. My research is in the area of databases, and particularly in the technology of database kernels. This includes concurrency control, recovery, and access methods. My present interest is in extending the robustness properties of databases (concurrency control and recovery) to the application domain.

Projects

Phoenix: Robust Applications

The long term goal is to develop and apply recovery techniques to making application programs survive system crashes and to help application programmers deal effectively with application errors, including via various forms of compensation as in multi-level transactions. The effort relies on exploiting database recovery techniques. The target is database applications that are "wrapped" so as to persist across system crashes.

The initial focus of the Phoenix effort was to provide recoverable server sessions for ODBC clients.  That resulted in a working prototype system that was demonstrated at SIGMOD'99 and described in a demo paper. A more complete description of this work was in an EDBT'2000 paper, and measuring and optimizing performance is described in an ICDE'2001 paper.

The current focus is on recoverable middle-tier applications. The conceptual framework for this new work was published at ICDE'2002. Overviews of Phoenix prototypes have been published. A recent paper includes a more complete description of our prototype, including optimizations for logging and recovery. This Phoenix system is built on Microsoft's .NET framework

Most recently, I have begun exploring how to provide persistent middle tier components witout requiring any logging in the middle tier. Such components provide scalability and availability very easily because it is possible to redeploy on other middle tier servers without having to ship the recovery log to the new server.

Immortal DB: Transaction Time Database

The Immortal DB project began in the fall of 2002. The project aims to provide transaction time database support built into SQL Server, not layered on top. Transaction-time databases provide the infrastructure for saving and indexing all prior states of a database. Our intent is to demonstrate that we can support transaction time functionality in addition to snapshot functionality, and that we can do this with performance that is very close to that achieved with a database that does not support multiple versions. Foundational work in this area describing the indexing of versions[see 1989 and 1990 SIGMOD papers on the time-split B-tree], and on choosing timestamps[see 12. below], has already been done.

Our Immortal DB prototype currently supports “as of” transactions and snapshot transactions against both persistent versioned tables and snapshot enabled tables and mixes of the two.  The prototype provides time and key splitting so that the number of records and historical versions can grow.   The prototype does lazy, post commit timestamping.  It garbage collects the snapshot versions that are too old.  Database concurrency control and recovery are fully integrated with and use the Sql Server mechanisms. A demo paper describing our prototype is presented at SIGMOD'05. A paper providing more details about the system was published in ICDE'06. Since then, we have finished the implementation of the TSB-tree for providing logarithmic time access to versions. Further, we have implemented a compression technique that increases the density of records that can be stored on pages.

Data Engineering Bulletin

I am the Editor-in-Chief of the Bulletin of the Technical Committee on Data Engineering. One of my functions is to make the Bulletin available electronically. If you are interested in electronic copy of issues or wish to find out more about the Bulletin, then click here on Data Engineering Bulletin.

Professional Activities

Professional responsibilities in addition to the Data Engineering Bulletin include:

Recent conference involvement includes a variety of roles in conferences.

Recent Publications

Some recent publications are given below. Those in red are Phoenix project related. Those in green are ImmortalDB project related. Click here for the Annotated Publications. Publications are also recorded by Michael Ley at the University of Trier. Patents are recorded at the US Patent Office.

  1. Alonso, G., Lomet, D., Dayal, U. Guest Editors' message. VLDB Journal 17(2)(2008) 171-172 postscript, .26MB
  2. Wang, R., Salzberg, B., Lomet, D. Log-based recovery for middleware servers. SIGMOD Conference, Beijing, China (June 2007) 425-436
  3. pdf, .270MB
  4. Lomet, D. Dedication to Jim Gray. J. UCS 13(8) (2007) 1044-1046
  5. Weikum, G., Jones, C., Lomet, D., Romanovsky, A. 06121 Executive Summary -- Atomicity: A Unifying Concept in Computer Science. Schloss Dagstuhl, Germany(2006) 149
  6. Lomet, D., Vagena, Z., and Barga, R. Recovery from "Bad" User Transactions. SIGMOD Conference, Chicago, IL (June 2006) 337-346. pdf, .150MB
  7. Lomet, D., Barga, R., Mokbel, M., Shegalov, G., Wang, R., and Zhu, Y. Transaction Time Support Inside a Database Engine. ICDE Conference, Atlanta, GA (April 2006) 35 PDF, .30MB
  8. Jones, C., Lomet, D., Romanovsky, A., Weikum, G., Fekete, A., Gaudel, M-C., Korth, H., de Lemos, R., Moss, J. E. B., Rajwar, R., Ramamritham, K., Randell, B., Rodrigues, L. The atomic manifesto: a story in four quarks. in J. UCS 11(5) (2005) 636-651; Operating Systems Review 39(2) (2005) 41-46; and SIGMOD Record 34(1) (2005) 63-69. PDF, .09MB
  9. Lomet, D. Persistent Middle Tier Components without Logging. IDEAS Conference, Montreal, Canada (July 2005) 37-46. PDF, .09MB
  10. Lomet, D., Snodgrass, R., and Jensen, C. Using the Lock Manager to Choose Timestamps. IDEAS Conference, Montreal, Canada (July 2005) 357-368. PDF, .27MB
  11. Lomet, D., Barga, R., Mokbel, M., Shegalov, G., Wang, R., and Zhu, Y. Immortal DB: Transaction Time Support for Sql Server. SIGMOD Conference, Baltimore, MD (June 2005) 939-941. pdf, .283MB
  12. Lomet, D. Robust Web Services via Interaction Contracts. TES'04 Workshop (2004) 1-14. pdf, .09MB
  13. Barga, R.,Lomet, D., Shegalov, G., and Weikum, G. Recovery Guarantees for Internet Applications. ACM Trans. on Internet Technology (August 2004) 289-328. pdf, .36MB
  14. Salzberg, B., Jiang, L., Lomet, D., Barrena, M., Shan, J., and Kanoulas, E. A Framework for Access Methods for Versioned Data. EDBT Conference, Heraklion, Greece (March 2004) 730-747 pdf, .237MB
  15. Lomet, D. Simple, Robust and Highly Concurrent B-trees with Node Deletion. ICDE Conference, Boston, MA (March 2004) 18-28 Word, .15MB
  16. Barga, R., Chen, S. and Lomet, D. Improving Logging and Recovery Performance in Phoenix/App. ICDE Conference, Boston, MA (March 2004) 486-497 Word, .23MB

Short Vita

David Lomet has done research and product development in architecture, programming languages, and distributed systems. He is best known for his work in database systems. He is one of the inventors of the transaction concept. His work has focused on access methods, concurrency control, and recovery. He has published over 80 papers, and holds more than 25 patents. He has twice been author of SIGMOD "best papers".

Dr. Lomet has served on many program committees, including SIGMOD, PODS, VLDB, ICDE, and EDBT. He was FODO'93 program chair, ICDE'2000 program co-chair, and ICDE'2001 conference co-chair, and is currently VLDB'06 Core Track PC Chair. He is editor-in-chief of the IEEE Data Engineering Bulletin, editor of the Journal of Distributed and Parallel Databases, and a past editor of ACM TODS and the VLDB Journal,. He is a Fellow of the ACM and of the IEEE, and has received IEEE Golden Core, Outstanding Contribution, and Meritorious Service Awards.


Microsoft Research
One Microsoft Way
Redmond, WA 98052 USA

Contact information (please, no soliciting):
Email lomet_DELETE_THIS_@microsoft.com
Telephone 425-703-1853
Fax 425-708-3356