I need a pet opensource database to learn the principle of database design, can you suggest one for me.
I also would recommend SQLite, since you could do "EXPLAIN" on any statement and get the internal Pseudo-Code that implements the functionality.
The Pseudo-Code itself is documented and gives great example how a database could work internally. I myself learned a lot by looking at the explained statements.
Not really pet but: PostgeSQL
- Not hard to install (at least at Windows)
- Feature reach
- Not too quirky
- Bundled with documentation (including tutorial and SQL reference) and tools (at least Windows version)
SQLite, as mentioned above. All the alternatives are a PITA to install (relatively). And if you're in a corporate setting, some uptight sysadmins frown on client/server packages. SQLite is a stand-alone program, one file per database, nice command line tools, fast. And price can't be beat. Lot's of big companies use it.
Apache Derby implemented in Java
CouchDB written in Erlang. It is document-oriented rather then rational.
Cassandra by Facebook