Patrick O'Neil

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Patrick Eugene O'Neil
DiedSeptember 20, 2019(2019-09-20) (aged 77)
Known forDistributed Database, SQL Isolation, LRU-K,[1] Log-Structured Merge Tree, Escrow Transaction,[2] C-Store
Scientific career
FieldsComputer Science
InstitutionsUniversity of Massachusetts Boston
Doctoral advisorGian-Carlo Rota

Patrick Eugene O'Neil (1942 – September 20, 2019)[3] was an American computer scientist, an expert on databases, and a professor of computer science at the University of Massachusetts Boston.[4]

O'Neil did his undergraduate studies at the Massachusetts Institute of Technology, receiving a B.S. in mathematics in 1963. After earning a master's degree at the University of Chicago, he moved to Rockefeller University, where he earned a Ph.D. in combinatorial mathematics in 1969 under the supervision of Gian-Carlo Rota.[4][5] He was an assistant professor at MIT from 1970 to 1972, but then left academia for industry, returning in 1988 as a member of the UMass/Boston faculty. He became a full professor in 1996.[4]

He wrote highly cited papers on replication in distributed databases,[6] page replacement strategies for databases,[1] SQL isolation,[7] and database indexing strategies.[8] With Elizabeth O'Neil, he is the author of the database textbook Database Principles, Programming, and Performance (Morgan Kaufmann, 2nd ed., 2000).

O'Neil published the algorithms of the bitmap indices he found working in the CCA Model 204 DBMS in the mid-1980s, and implemented B-tree for that database. This work was first published in 1987.[9]

O’Neil invented the Log-Structured Merge Tree (LSM Tree) along with Dieter Gawlick and Edward Cheng in 1991 while spending the summer at Gawlick's database research group at Digital Equipment Corporation in California. The resulting paper,[10] published in 1996, also included a performance analysis by Elizabeth O'Neil. This access method supports very fast inserts without hobbling lookup times, and now underlies many NoSQL data stores, such as Bigtable, HBase, LevelDB, SQLite4,[11] Tarantool,[12] RocksDB, WiredTiger,[13] Apache Cassandra, InfluxDB,[14] and ScyllaDB.


  1. ^ a b O'Neil, Elizabeth J.; O'Neil, Patrick E.; Weikum, Gerhard (1993), "The LRU-K page replacement algorithm for database disk buffering", Proceedings of the 1993 ACM SIGMOD International Conference on Management of Data (SIGMOD '93), pp. 297–306, doi:10.1145/170035.170081.
  2. ^ O'Neil, Patrick (1986), "The Escrow transactional method", ACM Transactions on Database Systems (TODS 1986), CiteSeerX, doi:10.1145/7239.7265
  3. ^ "Obituary:Patrick O'Neil", Boston Globe – via
  4. ^ a b c Curriculum vitae, retrieved 2010-11-26.
  5. ^ Patrick Eugene O'Neil at the Mathematics Genealogy Project.
  6. ^ Gray, Jim; Helland, Pat; O'Neil, Patrick; Shasha, Dennis (1996), "The dangers of replication and a solution", Proceedings of the 1996 ACM SIGMOD International Conference on Management of Data (SIGMOD '96), pp. 173–182, doi:10.1145/233269.233330.
  7. ^ Berenson, Hal; Bernstein, Phil; Gray, Jim; Melton, Jim; O'Neil, Elizabeth; O'Neil, Patrick (1995), "A critique of ANSI SQL isolation levels", Proceedings of the 1995 ACM SIGMOD International Conference on Management of Data (SIGMOD '95), pp. 1–10, arXiv:cs/0701157, doi:10.1145/223784.223785.
  8. ^ O'Neil, Patrick; Quass, Dallan (1997), "Improved query performance with variant indexes", Proceedings of the 1997 ACM SIGMOD International Conference on Management of Data (SIGMOD '97) (PDF), pp. 38–49, doi:10.1145/253260.253268.
  9. ^ O'Neil, Patrick (1987). "Model 204 Architecture and Performance". In Dieter Gawlick; Mark N. Haynie; Andreas Reuter (eds.). Proceedings of the 2nd International Workshop on High Performance Transaction Systems. London, UK: Springer-Verlag. pp. 40–59.
  10. ^ O'Neil, Patrick E.; Cheng, Edward; Gawlick, Dieter; O'Neil, Elizabeth (June 1996). "The log-structured merge-tree (LSM-tree)". Acta Informatica. 33 (4): 351–385. CiteSeerX doi:10.1007/s002360050048.
  11. ^ "SQLite4 with LSM Wiki". SQLite.
  12. ^ "An application server together with a database manager". Retrieved April 3, 2018. Tarantool’s disk-based storage engine is a fusion of ideas from modern filesystems, log-structured merge trees and classical B-trees.
  13. ^
  14. ^