Omnidex adds performance and flexibility to database applications. These benefits are achieved by a combination of the powerful index technology and the Omnidex SQL Engine. The indexes provide the basic speed and flexibility, while the SQL Engine analyzes statements and determines the best way to use the indexes. Omnidex is different than most SQL engines in that many indexes are used to fulfil a query. Complex queries and aggregations are usually satisfied without ever accessing the underlying data.
Typically, Omnidex is treated as a database layer, accessed through ODBC or JDBC. Omnidex in turn will index and access the underlying database layer as needed. The application can also maintain separate connections to the underlying database in scenarios where Omnidex indexing is not needed.
Omnidex supports the major relational databases, including Oracle, SQL Server and MySQL, and also supports other databases through a generic ODBC interface. Many businesses also use Omnidex as a SQL engine for raw data files. Omnidex can treat raw data files as tables, allowing complex SQL statements to be fully optimized as though the raw data files were a relational database. This approach can avoid the overhead of loading into a relational database and the expense of relational database licenses.
In brief, Omnidex Snapshots are simple copies of the database stored in flat files that can be indexed and queried as independent databases. Omnidex Snapshots are quite convenient because they can be heavily indexed and then easily distributed to different servers. Many businesses direct much of their query traffic to Omnidex Snapshots, gaining performance in their application while reducing the load on their relational database. This assures the highest performance without requiring changes to the data model.
Omnidex Grids allow large databases to be partitioned to improve performance and scalability. Databases with over 50 million rows are candidates for Omnidex Grids, and there are several strategies for distributing the nodes of the grid to achieve the greatest flexibility and performance. Omnidex Grids are also a common way to incorporate large amounts of new data. Large volumes of data can be added to a new node in the grid without having to impact the entire database.
Omnidex Index Servers are similar to Omnidex Snapshots, but they only distribute the Omnidex indexes rather than a full copy of the database. In many applications, Omnidex fulfils most queries while accessing only the Omnidex indexes. This is especially true in applications that rely heavily on obtaining counts or aggregations. Applications may direct these types of queries to Omnidex Index Servers, improving performance and easing the load on the data server.
Examples of Omnidex’s query capabilities and performance can be seen in the following demonstrations: