DBDB.io The Encyclopedia of Database Systems · Est. 2017
Database of Databases

Database Entry

ElevateDB


ElevateDB is a database application that can be integrated with various usages. One user or numerous users can collaborate on data. Users can also work together across a network by using the server that is part of the database.[03]

Database Entry

ElevateDB


ElevateDB is a database application that can be integrated with various usages. One user or numerous users can collaborate on data. Users can also work together across a network by using the server that is part of the database.[03]

History[04]


Elevate Software was founded in 1998 in North Tonawanda, New York. DBISAM database engine was a product that users did not have to pay licensing fees for. In 2007, ElevateDB was launched as an extension of DBISAM with multiple features.

Checkpoints[05]


Currently the locking and transaction model is not supported because of the current structure.

Compression[06][05]


DBISAM originally had ZLib compression but this compression was expanded to work for ElevatedDB. ZLib compression is used for restoring and backing up information. Duplicate key compression, more specifically conventional index key compression, is used for generic keys.

Concurrency Control[07]


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.

Data Model[08][09]


ElevateDB allows for users to access tables and reorganize data. Users can migrate, create, and specify databases.

Foreign Keys[10][05]


The Type columns can support constraints that are foreign keys.

Isolation Levels[11]


A transaction can see the changes being made, but other transactions will see the unchanged version at the time of execution. They will not be able to view the operations in the currently running transaction.

Joins[12]


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

Parallel Execution[05]


ElevateDB does not perform parallel execution as of 2019.

Query Compilation[13]


Abstract syntax trees are used for query compilation and execution.

Query Execution


Execution uses the TEDBQuery ExecSQL or Open method. The Open method is used when a result set must be returned. Other cases use the ExecSQL method.

Query Interface[03]


SQL

Storage Organization[03]


BLOBs, published updated versions, indexes, and table rows each have their own table. BLOBs table has the column's BLOBs defined and the length of the block can be set by the user. The updates holds predetermined lengths of blocks and statistics about updates. These 2 tables also can have their sizes from 64 bytes to 16 kilobytes. The table indexes holds index definitions and can have a user-defined size from 64 bytes to 16 kilobytes. The fixed qualities of the table rows mean that recovery is easier and columns link to the actual block form information of the BLOB. In addition, all of these categories have fixed length headers and hold statistics about the information they hold.

Stored Procedures[14][15]


Users can create a new procedure in a database and reuse.

System Architecture[16][17]


TEDBSession, TEDBEngine, TEDBTable, TEDBDatabase, TEDBScript, TEDBStoredProc, and TEDBQuery are all components. Users can create sessions (both local and remote), configure, and then access a path in the database to a catalog. The catalog contains tables, constraints, and functions.

Views[18]


Can use TEDBTable component to access tables and get result sets.

Citations

19 sources
  1. ElevateDB - Give your application an edge on the competition elevatesoft.com
  2. Starting and Configuring the ElevateDB Server elevatesoft.com
  3. Architecture elevatesoft.com
  4. About Elevate Software elevatesoft.com
  5. Support Forums - View Thread elevatesoft.com
  6. Compression elevatesoft.com
  7. Locking and Concurrency elevatesoft.com
  8. Starting and Configuring the ElevateDB Server elevatesoft.com
  9. Creating a Local Database elevatesoft.com
  10. Constraints Table elevatesoft.com
  11. Transactions elevatesoft.com
  12. http://elevatesoft.com/manual?action=viewtopic&id=edb2sql&topic=optimizer elevatesoft.com
  13. Executing Queries elevatesoft.com
  14. Error elevatesoft.com Dead — Check Archive
  15. CREATE PROCEDURE elevatesoft.com
  16. Component Listing By Unit elevatesoft.com
  17. Architecture elevatesoft.com
  18. ElevateDB for Delphi and C++Builder Database Developers elevatesoft.com
  19. Support Forums - View Thread elevatesoft.com
Revision #11