DBLX is configured through the file server.properties. This file is expected to be found in the same directory as the DBLX application, DLL, or JAR. The contents are self-explanatory, but let us know if you have any questions.
DBLX Databases and Tables
DBLX does not support multiple databases at this time. There is one database in DBLX that you add all your tables to.
DBLX creates one file for each database table.
DBLX will create table files in the following locations, based on the operating system:
- - Windows XP:
- Windows Server,Vista,7,8,10:
- All other O/S, Win2000, WinNT:
Table files that end in .edat and .eidat contain encrypted table data.
Table files that end in .bak were tables that were dropped.
When a table is dropped it is not deleted and is saved to a .bak file. To add the dropped table back to DBLX, just rename the file without the .bak extension and restart DBLX.
We are a small group of Old Programmers that does not make a dime on DBLX. We do not have the resources to pay a dubious and/or predatory company to certify that we are ACID compliant.
The short answer is that we believe we are ACID compliant. It was the goal from the start of the project and we have not made any intentional compromises so far.
Here are the tenants of ACID and how they apply to DBLX:
Defined: Atomicity requires that each transaction be "all or nothing": if one part of the transaction fails, the entire transaction fails, and the database state is left unchanged.
DBLX: We support transactions which work exactly as specified by Atomicity. In the case that a transaction is not used for a write query, DBLX will still ensure each SQL operation either runs without error or is not processed.
Defined: The consistency property ensures that any transaction will bring the database from one valid state to another. Any data written to the database must be valid according to all defined rules, including constraints.
DBLX: To understand our commitment to Consistency, we decided to support Atomicity for single sql requests without a transaction. The only way to achieve this is to perform as much validation as possible before the query is executed. By performing so much validation on the front-end, we should never get into a state where there is an impact on consistency. 95% of failed transactions in DLBX can be determined through validation, and before even one row of data has been changed.
Defined: The isolation property ensures that the concurrent execution of transactions results in a system state that would be obtained if transactions were executed serially.
DBLX: If you read about Isolation 10 times you are likely to be more confused than when you started. Either way, we tackled writes and transactions a certain way to get the effect of Simple Read Committed.
If a transaction is in process writing the Foo table, then no writes will happen from other clients on Foo table rows changed by that transactions. Reads on the changed rows will occur properly based on the point in time.
If a transaction is inserting rows when a read is requested on the same table, the read will be allowed, but will only see rows that existed before the transaction started writes to the same table.
If a second transaction is opened on a table which is already in a transaction from another client, the second transaction will be blocked until the first transaction has committed changes to any table(s) common to both transactions.
Defined: Durability means that once a transaction has been committed, it will remain so, even in the event of power loss, crashes, or errors.
DBLX: DBLX was designed to ensure the highest-level of data durability we could come up with. With DBLX there should be no way you can end up with a corrupted database, and the most which can be lost during a computer outage would be any INSERT or UPDATE queries that occurred within 2 milliseconds of the outage.
Most large databases have known issues where data corruption can occur, or where a database has to be 'rebuilt' after some internal error. DBLX was designed so that none of these data recovery models had to be supported.
The reality is that as more of our beloved users beat on DBLX from day to day, we will find out if our design is truly ACID compliant or not.