Triceps is an innovative embeddable Complex Event Processing (CEP) system. It can be thought of as an in-memory database driven by triggers, or a data-flow machine working on a stream of events, or a spreadsheet on steroids. The major architectural advantages of Triceps include the direct use of procedural logic (as opposed to all-SQL systems), support of both compiled and general scripting languages (C++, Perl), light weight, and easy extensibility.
The DBIx::Perlish module provides the ability to work with databases supported by the DBI module using Perl's own syntax for the four most common operations: SELECT, UPDATE, DELETE, and INSERT. By using DBIx::Perlish, you can write most of your database queries using a domain-specific language with Perl syntax. However, the module is not intended to replace all use of SQL in your program. The DBIx::Perlish module quite intentionally neither implements nor cares about database administration tasks like schema design and management.
Berkeley DB XML is a native XML database engine for use within your product. Made available as a C++ library with language bindings for Java, Perl, Python, PHP, and Tcl, it integrates directly into your application (it is not a standalone database server). It provides XQuery access into a database of document containers. XML documents are stored and indexed in their native format using Berkeley DB as the transactional database engine.
The DBI module enables your Perl applications to access multiple database types transparently. You can connect to MySQL, MSSQL, Oracle, Informix, Sybase, ODBC, and other database systems without having to know the different underlying interfaces of each. The API defined by DBI will work on all these database types and many more. You can connect to multiple databases of different types at the same time and easily move data between them.
XML::RDB is a Perl extension to convert XML files into RDB schemas and populate/unpopulate them. It works with XML schemas too. It analyzes relationships within either an XML file or an XML schema to create RDB tables to hold that document (or any XML document that conforms to the XML schema). It takes an XML file or URL as input for the XML::DOM::Parser, and extracts information to build and write DDL. An attempt is made to recognize relations within the XML structure then translate it to the DDL. That generated DDL is then loaded, parsing the DOM tree a second time to extract and load the data. At the bottom of the DDL are select statements to help get a view of those relations found, and XML data. xml_rdb also dumps the data back to XML format.