The SimpleDB
Database System
[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.