This is a course in database internals design and programming. Students are expected to have already mastered a basic DBA-level understanding of database systems. The course is intended for students who want to program at the system level at a database vendor or go for a Ph.D. in database systems with a practical orientation. Topics covered include implementation techniques for disk buffering, indexing and transactional concurrency. Scalable architectures delivering a sustained performance are desirable in both sequential and parallel computers.
Parallel architecture has a higher potential to deliver scalable performance.
Both hardware and software issues need to be studied in building scalable computer systems. The issues are examined in the light of both research and commercial parallel systems. Topics include interpreters and their performance, definitional interpreters, storage management and garbage collection. We study implementations of specific languages, for example Java, Smalltalk, Scheme, CLOS, Self or Prolog. This course will introduce the issues involved in parallel programming systems.