Jump to content

Patrick O'Neil

From Wikipedia, the free encyclopedia
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
SpouseElizabeth O'Neil[4]
  • Elizabeth O'Neil[3] (mother)
Scientific career
FieldsComputer Science
InstitutionsUniversity of Massachusetts Boston
Doctoral advisorGian-Carlo Rota

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

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.[6][7] 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.[6]

He wrote highly cited papers on replication in distributed databases,[8] page replacement strategies for databases,[1] SQL isolation,[9] and database indexing strategies.[10] 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.[11]

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,[12] 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,[13] Tarantool,[14] RocksDB, WiredTiger,[15] Apache Cassandra, InfluxDB,[16] 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, ISBN 0-89791-592-5, S2CID 207177617.
  2. ^ O'Neil, Patrick (1986), "The Escrow transactional method", ACM Transactions on Database Systems (TODS 1986), vol. 11, pp. 405–430, CiteSeerX, doi:10.1145/7239.7265, S2CID 10945351
  3. ^ "Remembering the life of Elizabeth". obituaries.alliednews.com. Retrieved 2021-10-24.
  4. ^ "Obituary:Patrick O'Neil", Boston Globe – via Legacy.com
  5. ^ "Obituary:Patrick O'Neil", Boston Globe – via Legacy.com
  6. ^ a b c Curriculum vitae, retrieved 2010-11-26.
  7. ^ Patrick Eugene O'Neil at the Mathematics Genealogy Project.
  8. ^ 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, ISBN 0-89791-794-4, S2CID 237855.
  9. ^ 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, ISBN 0-89791-731-6, S2CID 2316540.
  10. ^ 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, ISBN 0-89791-911-4, S2CID 468585.
  11. ^ 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.
  12. ^ 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. S2CID 12627452.
  13. ^ "SQLite4 with LSM Wiki". SQLite.
  14. ^ "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.
  15. ^ "LSMTrees · wiredtiger/Wiredtiger Wiki". GitHub.
  16. ^ "[New] InfluxDB Storage Engine | Time Structured Merge Tree". 7 October 2015.