Multi-version Concurrency Control (MVCC)
ElevateDB has multiple ways to manage processes and locking independent of the user. Row locks and table locks have different protocols. When getting a row for updating, the set protocol is pessimistic and locks that row. Optimistic locking protocol can be used when the row changes are sent back to the table and thus the row needs to be locked.
Row locks are not used until the row is inserted if the transaction takes the action. Updating or deleting the row will only be allowed if the row targeted is not in use.
ElevateDB calculates the estimated cost of operations in a certain order to execute queries as quickly as possible. By using input and output costs, a query can be reworked so it has a smaller number of operations than the original query. Using nested loop joins in addition to executing operations in parallel also ensures better performance. Certain expressions are not yet optimized, but rewriting them can exploit other optimization techniques in ElevateDB
https://www.elevatesoft.com/products?category=edb
https://www.elevatesoft.com/manual?action=viewtopic&id=edb2sql&topic=starting_configuring_server
Elevate Software, Inc.
2006