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.
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.
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.
Data Engineering Bulletin
Professional Activities
Recent conference involvement includes a variety of roles in conferences.
Recent Publications
Short Vita
One Microsoft Way
Redmond, WA 98052 USA
Email lomet_DELETE_THIS_@microsoft.com
Telephone 425-703-1853
Fax 425-708-3356