TableAgent

TableAgent is a query optimizer for transparent use of aggregate tables. It works as a proxy database-server for catching incoming queries and transforms them to support using aggregate tables in a client-transparent way.

Modules

TableAgent is (going to be) comprised of several reusable modules:

  • A query model
  • A query parser (using ANTLR)
  • An aggregate table model
  • A query optimizer
  • A database proxy

Using TableAgent

A short overview of how to use TableAgent (requires some development skills, but this is why it's not released yet):

  • Edit the file src/main/resources/beans.xml, specifically have a look at the beans mysqlProxy and postgresProxy. These set up which ports to act as proxy for.
  • Start the application using the class: dk.eobjects.tableagent.Main.
  • Hook up to your database with your proxy's port, for example port 3307 (proxy for mysql's standard port 3306).
  • Watch as the incoming queries are catched and reported in the console.
  • (We still need to apply the actual transformation of the queries.)

People

  • Kasper Sørensen (founder, admin,  website)

License

TableAgent is Open Source, licensed under the company-friendly Apache License, Version 2.0. The license basicly gives anyone the right to use the software for any purpose, to distribute it, to modify it, and to distribute modified versions of the software. The license requires however to be credited in any derived works. Please refer to the address below for details regarding the license: