The FAQ has some background information. If you have a current need for a small SQL database, then you should look at DBD::SQLite or Jeff Zucker's SQL::Statement, since Genezzo is fairly primitive at this point. It has some nice features already: basic constraint support, btree indexing, multi-file tablespaces (so you can split a table, or even a row or column across multiple datafiles), and user-defined functions, but the parsing and query planning needs work. In the (hopefully) near future, the advantages that Genezzo has are its clustered database support, and its overall extensibility. Genezzo lets you define extensions as perl packages and loads them at runtime. The extension information is stored in the dictionary tables, so you can run SQL scripts to enable or disable different extension features. The clustered database support that we are working on is itself a separate package, so you can run your Genezzo database as a small, single-user instance, or update the dictionary with the cluster support, which adds your database to a cluster.