Table of Contents
UnityJDBC is a Type 4 JDBC driver capable of querying multiple databases in a single SQL query. The driver can be used similar to other JDBC drivers including with query, reporting, and business intelligence tools, application and web servers, or stand-alone Java programs. Internally, UnityJDBC contains a database engine and optimizer allowing it to efficiently join data from source databases to produce a single ResultSet. UnityJDBC supports updating data using results produced from cross-database queries and performs automatic dialect translation to convert queries into the proper dialect. A brief list of the major supported features is below:
supports cross-database joins of any number or type of JDBC-accessible sources (Microsoft SQL Server, Oracle, DB2, Postgres, MySQL, Sybase, MongoDB, Cassandra, etc.)
allows SQL-based comparison of data across databases to detect data inconsistencies, errors, or for synchronization of data between databases
performs SQL dialect translation and automatically executes functions and features internally in the driver if the data source does not support them
contains an advanced optimizer and query processor that performs efficient query processing by having each source process as much of the query as possible (e.g. "push-down filters")
cross-database queries can be used to insert records into tables (INSERT INTO ... SELECT)
supports cross-database PreparedStatements
has a driver by-pass feature to allow direct access to individual sources
supports connection pools and connection properties
supports user-defined functions
works with any data source that has a JDBC driver and will run on any Java supported platform
works with all SQL query software including SQuirreL SQL, Aqua Data Studio, Toad, and RazorSQL
works will business intelligence and reporting software including Tableau, JasperReports, Pentaho, and Splunk