The SimpleDB Database System

Edward Sciore
Computer Science Department, Boston College

[Note: The SimpleDB database system is completely unrelated to the "Amazon SimpleDB Web Service" distributed by Amazon.com.]

SimpleDB is a multi-user transactional database server written in Java, which interacts with Java client programs via JDBC.  The system is intended for pedagogical use only.  The code is clean and compact.  The APIs are straightforward.  The learning curve is relatively small.  Everything about it is geared towards improving the experience of a database system internals course.  Consequently, the system is intentionally bare-bones.  It implements only a small fraction of SQL and JDBC, and does little or no error checking.  Although it is a great teaching tool, I can't imagine that anyone would want to use it for anything else.  

The SimpleDB code is an integral part of my textbook Database Design and Implementation, published by Springer.  If you are interested in understanding how (and why) the software works, your best bet is to take a look at the text.  

I teach a course at Boston College (CSCI3357: Database Systems and Implementation), which does not require previous database knowledge. If you are thinking about teaching a course using this text, then the following two resources can help:
  • I published a paper in the 2007 SIGCSE conference describing my experience teaching the course using the SimpleDB software.
  • Here are the homework assignments that I used in my most recent offering of the course.


  • If you find bugs in the code or have suggestions for improving it, please email me.

    Feel free to download the SimpleDB distribution file, in WinZip format. The current version is 3.4, which was uploaded on March 25, 2021.  The included file README.txt contains information on how to install and use the software. The README file should provide all the assistance you need to get started.  If not, you can email me.