Omnidex Grids are a feature of the Omnidex product line that allow large databases to be distributed across multiple processors or servers. This improves performance by allowing a query to be processed on the fewest nodes possible using multiple concurrent processors. This approach allows great scalability and provides convenient mechanisms for adding new data to the database.
An Omnidex Grid consists of one or more computers used in combination to satisfy Omnidex queries. Some Omnidex Grids are placed on one or more large, multi-processor computers. Other Omnidex Grids are placed on an array of inexpensive, commodity, desktop PCs. Both types of grids perform well, and each has distinct advantages.
An Omnidex Grid will always have a grid controller and a collection of grid nodes. The grid controller coordinates all activity on the grid and communicates between the user and the underlying grid nodes. The grid nodes perform all of the work of housing and indexing the data, and fulfilling the queries. The grid controller and the grid nodes may all be on the same computer, or they may be distributed between multiple grid servers as needed for performance and scalability.
Many Omnidex Grids are created as an Omnidex Snapshot, meaning that the underlying data is distributed into flat files across multiple directories or servers. These become very high-performing databases that can satisfy a wide variety of queries very quickly. Omnidex Grids can also be created against the underlying database, though the nodes then remain tethered to the servers hosting the database.
The primary considerations for designing an Omnidex Grid are the partitioning scheme and the distribution plan. The partitioning scheme determines how a large database will be split into different nodes. The distribution plan affects how the nodes will be distributed across multiple servers or multiple drives. Both of these design decisions have a substantial effect on performance.
Omnidex Grids are straightforward to create. Each grid node is a separate Omnidex environment, with an environment file, indexes and data. For convenience, there are methods to share a single Omnidex environment file across multiple nodes. There are also methods to share data files across multiple nodes.
The following steps must be completed to create an Omnidex Grid.
See also: