Project Zizzy

Project Zizzy Logo

Aims

Zizzy aims to provide direct low-level access to the DBMS's logging system. Such an interface is essential for database monitoring and replication but is absent in several database products. Our initial focus is on Oracle, but the intention is also to support other DBMS's such as SQL Server.

The logging system of an DBMS is a set of files which provide a journal of all the changes which are applied to a database. This is used during recovery to ensure committed changes are applied and uncommitted changes are undone. As such it provides a complete journal of all dml which is applied to the database, making it ideal for replication as changes are present in the log files when committed. This is how many replicators work. However for efficiency reasons this format is binary, database-specific and might change between versions (usually major revisions) of the database.

Design

A C/C++ API allows logging records to be read sequentially from a live DBMS and then to be parsed into meaningful database operations. The API uses a "pull" model and is split into reading and parsing halves to maximize its flexibility. Command line utilities are provided on top of this API. These provide data type formatting and can be used for tracing a live system (like 'tail -f'). They also illustrate how the API should be called.

How you can help

Corporate Contributors

The Zizzy project already has both corporate and individual contributors. For a company, cooperation in this area allows scaleable change-capture from Oracle and SQL Server's logging with reduced long-term effort and risk. It also legitimizes a solution. Even for companies who have done the reverse engineering to capture from a DBMS's logging, the long term cost, risk and legitimacy benefit should be worth the perceived loss of short-term competitive advantage. Let us know if your direct use of Zizzy is hindered by legal problems (LGPL license), technical problems (e.g. Java) or migration costs (existing stable code). Such problems can be addressed by other forms of cooperation (such as a technology partnership with participating companies) to ensure that insights and effort can still be pooled.

Worked needed

Valid XHTML 1.0 Strict