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. If you are interested in
understanding how
(and why) the software works, your best bet is to take a look at the
text. I have also published a paper
in the 2007 SIGCSE conference describing my experience teaching a database internals course using the SimpleDB software.
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
2.9, which was uploaded on August 1, 2011. The downloaded
distribution file should unpack into a folder containing three
subfolders and one file:
- The folder simpledb,
which contains the server-side Java code.
- The
folder javadoc,
which contains the JavaDoc documentation of the above code.
- The
folder studentClient,
which contains some client-side code for an example student-course
database.
- The 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 or consult the aforementioned text.