Patrick Eugene O'Neil | |
Birth Date: | 1942 |
Birth Place: | Mineola, New York |
Death Place: | Cambridge, Massachusetts |
Fields: | Computer Science |
Workplaces: | University of Massachusetts Boston |
Doctoral Advisor: | Gian-Carlo Rota |
Known For: | Distributed Database, SQL Isolation, LRU-K, Log-Structured Merge Tree, Escrow Transaction, C-Store |
Mother: | Elizabeth O'Neil[1] |
Spouse: | Elizabeth O'Neil |
Patrick Eugene O'Neil (1942 – September 20, 2019) was an American computer scientist, an expert on databases, and a professor of computer science at the University of Massachusetts Boston.[2] 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.[2] [3] 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.[2]
He wrote highly cited papers on replication in distributed databases,[4] page replacement strategies for databases,[5] SQL isolation,[6] and database indexing strategies.[7] 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.[8]
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,[9] 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,[10] Tarantool,[11] RocksDB, WiredTiger,[12] Apache Cassandra, InfluxDB,[13] and ScyllaDB.