|
||
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. |
||
|
"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 |