Advanced Database Systems, G22.2434.

Course Goals

Internals, Tuning with a touch of Decision Support.

The study of internals will touch on the intersection of database system, operating system, and distributed computing research and development. Specific to databases is the support of the notion of transaction: a multi-step atomic unit of work that must appear to execute in isolation and in an all-or-nothing manner. The theory and practice of transaction processing is the problem of making this happen efficiently and reliably.

Tuning is the activity of making your database system run faster. The capable tuner must understand the internals and externals of a database system well enough to understand what could be affecting the performance of a database application. We will see that interactions between different levels of the system, e.g., index design and concurrency control, are extremely important, so will require a new optic on database management design as well as introduce new research issues. Our discussion of tuning will range from the hardware to conceptual design, touching on operating systems, transactional subcomponents, index selection, query reformulation, normalization decisions, and the comparative advantage of object-oriented database systems. I will present examples from my own tuning experience on Wall Street, in biotech, and in telecommunications.

We will also discuss (because I am doing research in these areas) query processing and data structures for decision support queries (e.g. How many red Mustangs were sold in New England in the last two months?) as well as data mining.

The formal prerequisite of this course is database I, but some knowledge of SQL and the definition of third normal forms are in fact sufficient. You must like systems and be interested in that area where theory meets practice.

Lecture notes will be available at Unique Copy 252A Greene Street.

Finding References in the DB Literature

There is a web page with pointers into the database literature. This is a good place to start for database research.


About the Instructor

Dennis Shasha is a professor of computer science at New York University's Courant Institute of Mathematical Sciences. He holds a B.S. from Yale, an M.S. from Syracuse and a Ph.D. from Harvard. He has written four books: Database Tuning: A Principled Approach and two mathematical detective stories, The Puzzling Adventures of Dr. Ecco and Codes, Puzzles, and Conspiracy and Out of Their Minds: the lives and discoveries of 15 great computer scientists. His three main research projects combine databases with parallel processing (the Persistent Linda project), databases with pattern recognition (Combinatorial Pattern Discovery project) and databases with expert systems and information retrieval (Thinksheet project).

Questions are welcome. Please send them to shasha@cs.nyu.edu. Office hours are Monday after class and Wednesday afternoon from 4:15 to 5:30.