Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
admin:basics:updates:triggers [2011/04/12 18:02]
doc created
admin:basics:updates:triggers [2016/06/28 22:38] (current)
Line 16: Line 16:
 ==== Triggered Updates ==== ==== Triggered Updates ====
  
-Omnidex allows databases to be updated either in batch or online.  The large majority of companies choose ​to update their databases ​in batch, and this is in keeping with the design of Omnidex ​and the nature ​of large databases +Omnidex allows ​some relational ​databases to use triggers to send INSERT, DELETE and UPDATE requests to Omnidex. ​ A database trigger is a set of instructions that are executed every time the database experiences an insert, delete ​or update operation.  ​For Oracle and Microsoft SQL Server, Omnidex allows triggers to be installed on a table that copy changes to a separate transaction table. ​The [[programs:​odxaim:​home|OdxAIM program]] can generate these triggers for tables with Omnidex indexes. ​ These triggers log the changes ​to the data in a separate, intermediate transaction table, and then OdxAIM processes ​this transaction table in the background to update the Omnidex ​indexes. ​ This approach preserves transactional integrity, though there is a short delay between ​the updates ​of the database and the indexes.
  
-Omnidex specializes in very large databases that are heavily indexed.  ​This combination ​is more and more common in the industry as companies require increasing intelligence gathered from larger and larger databases. ​ The classic approach of inserting data into database simply doesn'​t scale well.  Most relational databases can support inserting hundreds of thousands of rows into a table, but not hundreds ​of millions.  ​If the database ​is heavily indexed, the classic approach of inserting data into a database falters even more.  ​Most administrators would be understandably reluctant ​to insert hundreds of thousands of rows into a table with tens or hundreds of indexes.  ​+This triggered approach ​is appropriate for low volume ​of updates.  ​Relational database triggers will require additional resources from the database, ​as will the logging and processing ​into the transaction table.  ​This is in addition to the resources required ​to update the Omnidex ​indexes, as discussed in [[admin:​basics:​updates:​online|Online Updates]].  ​This approach is not recommended for large volumes of updates.
  
-This has led to new approaches to handling large volumes ​of data.  Companies frequently process their data in larger batches, and Omnidex specializes in this approach.  In contrast ​to the relational ​database, ​Omnidex is designed to regenerate all of the indexes on a table with a single scan of the data, processing rates of 1 billion index entries an hour<​sup>,,​1,,</​sup>​.  ​[[admin:​features:​grids:​home|Omnidex Grids]] also allow new nodes to be created and indexed independently from the rest of the databaseallowing an incremental approach to updating ​the database.  While it is impractical ​to drop and recreate large indexes in a relational database, it is fast and easy to regenerate the indexes with Omnidex. +The primary advantage ​of this approach ​is that it captures all updates ​to the database, ​regardless ​of the source ​of the update.  ​Normallyall applications that update ​the database ​must be changed ​to route updates ​through ​Omnidex; however, triggers ​allow updates ​to be processed without an Omnidex connection.  ​
- +
-For applications that require online ​updatesOmnidex ​supports the INSERTDELETE and UPDATE statements and will update most kinds of Omnidex indexes in real time.  Omnidex also supports an approach that uses triggers ​on relational databases ​to automatically capture all updates. ​ Online updates have some [[admin:​basics:​updates:​online|important restrictions]] that must be considered, but they can provide important flexibility to application designers.  ​+
  
 ====  ==== ====  ====
- 
----- 
-<​sup>,,​1,,</​sup>​ ,,An "index entry" represents an indexed column in a single row.  If the column contains textual data that is indexed with QuickText or FullText indexes, then an "index entry""​ represents a single word or number in an indexed column in a single row.,, 
  
 **[[admin:​basics:​updates:​grid|Prev]]** **[[admin:​basics:​updates:​grid|Prev]]**
 
Back to top
admin/basics/updates/triggers.1302631346.txt.gz · Last modified: 2016/06/28 22:38 (external edit)