Integration: Relational Databases

Generic ODBC


Omnidex can be deployed directly against any database that provides a standard ODBC driver. Omnidex retrieves and indexes the data by issuing standard ODBC calls, and queries read directly from the database as needed. This approach allows Omnidex to work alongside a wide variety of databases, providing a high-performance query environment for applications.

An Omnidex Environment File controls how Omnidex connects to the database through ODBC and identifies the tables and columns that Omnidex will have access to. Omnidex accesses the data directly using standard SQL statements issued to the underlying database's ODBC driver. During indexing and query processing, Omnidex maintains a connection to the database using their ODBC driver and accesses the data as needed. Typically, queries are first routed to the Omnidex indexes where specific rowids or primary keys are identified that meet the criteria. Omnidex then fetches the appropriate rows using these values with standard SQL statements.

Omnidex does not migrate the data out of the underlying database, but instead directly references the data through the underlying database's ODBC driver. This is not a requirement, however. Migration of the data into raw data files is an option if that is preferable. In fact, many companies use Omnidex Snapshots for this very purpose. Omnidex Snapshots are high-performing, highly-portable, heavily-indexed copies of data that can be easily accessed using standard ODBC and JDBC interfaces.

Omnidex is usually deployed on read-only tables. Most applications require tens to hundreds of Omnidex indexes on a table, making real-time updates impractical. Applications usually set aside certain tables that are refreshed on a regular basis and Omnidex indexes are completely refreshed. Omnidex does support real-time updates for those situations where there are fewer indexes and lower volume.

Two ODBC Drivers: Omnidex's ODBC Driver and the Database's ODBC Driver

An Omnidex application can end up with two different ODBC drivers that are active at the same time. This can be confusing and is important to understand.

  • Applications can connect to Omnidex's ODBC Driver. This driver allows the application to treat Omnidex as the database.
  • Omnidex can issue SQL calls to the underlying database's ODBC Driver. This driver allows Omnidex to access the underlying database.

In this scenario, Omnidex winds up being a middle layer between two ODBC drivers that processes and optimizes queries.

This Integration Guide discusses how Omnidex can access any database that has an ODBC Driver.

Additional Resources

See also:

Back to top
integration/rdbms/odbc/home.txt ยท Last modified: 2016/06/28 22:38 (external edit)