Rick Cattell
   
Contact

 Phone and
        email address
 
Career Biography
  R. G. G. "Rick" Cattell is an independent consultant in database systems.  He previously worked as a Distinguished Engineer at Sun Microsystems, most recently on open source database systems and distributed database scaling.  Dr. Cattell served for 20+ years at Sun Microsystems in management and senior technical roles, and for 10 years in research at Xerox PARC and at Carnegie-Mellon University. Dr. Cattell is best known for his contributions in database and server software, including database scalability, enterprise Java, object/relational mapping, object-oriented databases, and database interfaces. He is the author of several dozen papers, five books, and eight U.S. patents. At Sun he instigated the Enterprise Java, Java DB, and Java Blend projects, and  was a contributor to a number of Java APIs and products.  He previously developed the Cedar DBMS at Xerox PARC, the Sun Simplify database GUI, and SunSoft's CORBA-database integration. He is a co-founder of  SQL Access (a predecessor to ODBC), the founder and chair of the Object Data Management Group (ODMG), the co-creator of JDBC, the author of the world's first book on object/relational and object databases, a recipient of the ACM Outstanding PhD Dissertation Award, and an ACM Fellow.

Selected Accomplishments
Cattell.Net
2007-
Independent consultant on database systems, focusing on scalable distributed architecture, database product selection, competitive analysis, and patent litigation.  Served as consultant to SanDisk, Infoblox, Schooner, Abrevity, IPAT,  and MK7 Solar, and numerous legal firms and startups.
Sun Microsystems 2006-7 Chief architect for Sun's Database Technology Group, working with open source database systems and internal projects.  Focus on horizontal database scaling and object/relational mapping. Started the Java DB product and a scalable distributed in-memory database project.

2003-6
Deputy to Sun's Software CTO, evaluating projects and defining strategy, particular with respect to Sun's internal and external data management requirements.

2000-3 Worked in  SunVentures group to evaluate potential investments and implement a strategy for Sun's investments in the enterprise software area.  Also served on board of directors of Clustra Systems, Pointbase, and IPAT.

1997-99 Contributed to the adoption and development of various components of J2EE (now Java EE) for use in a distributed multi-tier environment.  Chaired J2EE Steering Committee.  Contributed to Sun's strategy on Java, database systems, and server platforms.

1995-96 Joined Sun's new JavaSoft Division, and started an "enterprise" Java group for server-side Java.  Served as initial architect for the J2EE platform, which eventually evolved into Java EE.  Co-created JDBC, contributed to EJB, and recruited the key architects and management that produced Java EE. Started and led Java Blend object/relational mapping project in partnership with Baan Created expert group process for JDBC, and subsequently helped define Sun's Java Community Process

1993-94 Served as primary architect for several components of SunSoft's DOE (Distributed Object Environment) product.

1991-93 Founded the Object Database Management Group (ODMG), after ANSI, OMG, and other groups had made no progress towards object database standards. Served as chair and as editor for the group. ODMG-93 [Cattell 1993] was important because the object database industry did not have the benefit of a formal basis in research, nor one large vendor endorsing an approach, as was the case for SQL.

1989 Wrote the world's first book on object-oriented and object-relational databases, in an effort to reduce confusion in this area (earlier books were collections of papers about particular systems). Within 5 years there were over a dozen books on the topic.

1989 Cofounded the SQL/Access Group, because relational vendors had no API standard meeting the requirements of graphical database interfaces. The SQL/Access call-level interface evolved into Microsoft ODBC and Sun's JDBC.

1988 Selected as Sun Microsystems Distinguished Engineer, along with 5 others at Sun in other technical areas. This position included setting Sun's overall technical direction with respect to databases, participating in various company projects involving  database technology.
  1987  First researcher to study and to empirically demonstrate advantages of object database systems that were widely misunderstood, showing for engineering applications that  programming language integration and client-side data caching give these DBMSs substantially better performance than traditional ones [Cattell 1987, 1992]. Previous work had focused on data modelling differences.
  1987  Developed and successfully sold management on a new relational database strategy for Sun based on partnerships and joint engineering with leading vendors. Instigated enhancements to Sun OS for database systems.  This strategy proved very effective: Sun database server revenue grew to a billion dollars in the subsequent 5 years.
  1986-88  Served as Sun's second-level manager for database back-end and front-end technology, building a group of 20 top-notch engineers and two first-line engineering managers. Managed engineering relationships with DBMS vendors and with major customers.
  1984-86  As Sun's database engineering manager, with the help of two engineering reports in just 1.5 years, built and released the Sun Simplify product, an innovative GUI database front-end that provided entity-relationship database browsing, editing and schema design. This product inspired subsequent products both inside and outside of Sun. Coordinated the development, documentation, testing, marketing, and support of the product, and managed a larger follow-on project.
 Xerox PARC 1978-84  As Xerox PARC research staff member, contributed to the Cedar programming environment and to the Cypress database system. Was primary architect and co-developer of an electronic mail database, a database editor/browser, and a spatial data manager [Cattell 1983]. Originated the idea of using an entity-relationship model as a powerful basis for hypertext-like browsing of an underlying database, for spatial display of relationships, for graphical schema design, and for queries; these ideas were used and cited in many successful database user interfaces in the industry. Also pioneered a database architecture and caching techniques that were utilized in later object-oriented database products. 
 CMU 1978  Member of Carnegie-Mellon University research faculty. Co-developed PQCC compiler-compiler and ZOG hypertext systems. Originated the idea of using a hypertext  interface to a database and the idea of using heuristic search for optimal code sequences based on a machine description in PQCC.
  1974-78
Won ACM Outstanding Computer Science Doctoral Dissertation Award. Completed PhD in only 3.5 years after BS, with work in applying artificial intelligence to compiler construction. At the same time, contributed to a number of other research projects and was rated best TA in the introductory computer course.
 U of Illinois 1970-74
Awarded Bronze Tablet (Top 1% of class, University of Illinois); Tau Beta Pi, Phi Beta Kappa honorary societies. 4.98 GPA. Hired as research assistant for C.S. Prof. Gillies, developed PLATO learning programs, developed new interactive O/S.

Employment and Education Summary

2007-
Independent consultant, Cattell.Net.
  1984-2007 Sun Microsystems, Engineering Manager, then Second-Level Manager, then Distinguished Engineer.
  1978-84  Xerox PARC Computer Science Lab: Member Research Staff.
  1974-78  Carnegie-Mellon University: Completed PhD in Computer Science, then served as research associate.
  1970-74  University of Illinois: Completed BS in Computer Science and Psychology.

Selected Publications

"Challenges for Brain Emulation: Why is it so Difficult?", with A. Parker, Natural Intelligence 1 (3),  International Neural Network Society, June 2012.
"Ten Rules for Scalable Performance in Simple-Operation Datastores", with M. Stonebraker, Communications of the ACM 54 (6), June 2011.  Click for PDF.
"Scalable SQL and NoSQL Data Stores", ACM SIGMOD Record 39 (4), December 2010.  Click for PDF.
J2EE Technology in Practice, editor and co-author with J. Inscore, Addison-Wesley Publishers, 2001.
JDBC API Tutorial and Reference, second edition, with S. White, M. Fisher, G. Hamilton, and M. Hapner, Addison-Wesley Publishers, 1999.
The Object Database Standard: ODMG 3.0, editor and co-author with D. Barry, Morgan Kaufmann Publishers, San Mateo, California, 1999.
"Enterprise Java Platform Data Access", with S. White and S. Finkelstein, ACM SIGMOD Conference Proceedings, 1998.
Java Database Access with JDBC, with G. Hamilton and M. Fisher, Addison-Wesley Publishers, 1997, revised 1998.
"Relating Distributed Objects," with B. E. Martin, in Proceedings Conference on Very Large Databases, September 1994.
The Object Database Standard: ODMG-93, editor and co-author, Morgan Kaufmann Publishers, San Mateo, California, 1993.
"Experience with the ODMG Standard", in ACM Standards View 3 (3), September 1995.  Click for PDF.
"Object Operations Benchmark," with J. Skeen, in ACM Transactions on Database Systems, April 1992.  Click for PDF.
Object Data Management: Object-Oriented and Extended Relational Databases, Addison-Wesley Publishers, Reading, Mass, 1991, Revised 1994.
"An Engineering Database Benchmark," in J. Gray, Editor, The Benchmark Handbook, Morgan Kaufmann, 1991.
Next-Generation Database Systems, Editor, special issue of Communications of the ACM 34 (10), October 1991.  Click for PDF.

"Combining Object-Oriented and Relational Models of Data", with T. Rogers, in Proceedings on the 1986 International Workshop on Object-oriented Database Systems, IEEE Computer Society Press, September 1986.
"Object-Oriented Database User Interfaces", with T. Rogers, in Readings in Database Systems, M. Stonebraker, Editor, Morgan-Kaufmann, 1987.  Click for PDF.
"Benchmarking Simple Database Operations", with W.B. Rubenstein and M. S. Kubicar, in Proceedings ACM SIGMOD Conference on Management of Data, San Francisco, May 1987.
    "An Object-Oriented Interface to a Relational Database", with T. Learmont, in Object-Oriented Database Systems, K. Dittrich, Ed, Springer-Verlag, 1987.
Design and Implementation of a Relationship-Entity-Datum Data Model, Xerox PARC technical report CSL-83-4, March 1983.  Click for PDF.
"A Measure of Transaction Processing Power", with many others, primarily written by J. Gray, in Datamation 31 (7), 112-118, April 1985.
"Retargetable Code Generators", with W. Wulf, J. Newcomer, B. Leverett, P. Knueven, in ACM Computing Surveys 15 (3), September 1983.
       ACM Award
     
"A Study of an Entity-based Database User Interface", with M. Mantei, in SIGCHI Bulletin 14 (1), July 1982.  Click for PDF.
"The Cedar DBMS", with M. Brown and S. Suzuki, in Proceedings ACM SIGMOD Conference on Management of Data, Ann Arbor, May 1981.
Formalization and Automatic Generation of Code Generators, Carnegie-Mellon University PhD thesis, 1978, republished by UMI Research Press, 1980.
"Automatic Derivation of Code Generators from Machine Descriptions," in ACM Transactions on Programming Systems , 173-190, April 1980.

"An Overview of the Production-Quality Compiler-Compiler Project," with Leverett, B., Hobbs, S., Newcomer, N., Reiner, A., Schatz, B., and Wulf, W., in IEEE Computer 18, 8, August 1980.

"An Entity-based Database User Interface", Proceedings of the ACM SIGMOD Conference, May 1980.
  "ISPS: A Retrospective View", with Parker, A., Crocker, S., and Thomas, D., International Symposium on Computer Hardware Description Languages and their Applications, Palo Alto, October 1979. 
  "Code Generation in a Machine-Independent Compiler," with Newcomer, J. M., and Leverett, B. W., in Proceedings ACM-SIGPLAN Symposium on Compiler Construction, Denver Colorado, August 1979.  Selected as a best paper for Twenty Years of ACM SIGPLAN and revised for SIGPLAN Notices 39 (4), April 2004.
  The ISPS Computer Description Language, with Barbacci, M., Barnes, G., Siewiorek, D., technical report (revised version CMU-CS-79-137), Computer Science, Carnegie-Mellon University, Pittsburgh, Pennsylvania, August 1977. 
  A Survey and Critique of Some Models of Code Generation, technical report, Computer Science, Carnegie-Mellon University, Pittsburgh, Pennsylvania, November 1977. 
U.S. Patents
9,009,116 Systems and methods for synchronizing data in a cache and database
8,892,509 Systems and methods for a distributed in-memory database
8,117,153
Systems and methods for a distributed cache
6,915,510
System and method for automatically modifying database access methods to insert database object handling instructions
6,243,710
Methods and apparatus for efficiently splitting query execution across client and server in an object-relational mapping
6,128,771
System and method for automatically modifying database access methods to insert database object handling instructions
5,940,827
Methods and apparatus for managing a database in a distributed operating environment
5,727,203
Methods and apparatus for managing a database in a distributed object operating environment using persistent and transient cache
In process
Patent applications for distributed database systems