When was the last time you checked your backup (Part 3)

Posted on 27.06.2011 by Callum

Print Article

How can changing the location of your database journal files improve performance?

Any serious databases will allow you to store the database journal files in a separate location. It is good practice to store the database transaction journals on a different physical disk to where the database itself is stored. The theory being that if one disk/raid array fails, you still have the other to fall back on. And doing this also has the added benefit of improving performance.

In a transaction based system such as Abel, one of the performance considerations should be how fast the data is written to disk. As described in Part 2 (What are journal files?), every single time a record is added, modified or deleted, two write operations need to occur;

  • Information about the operation is written to the database journal file.
  • The appropriate database files are updated.

Putting the database files on one disk and the journal files on a different disk means the disk controller effectively writes to the journal disk independently of writing to (and reading from) the database disk, which in a system with high transaction throughput will help avoid latency / seek overheads. This performance benefit can easily be demonstrated by benchmarking.

It may be of interest to know that Jade adheres to the Write Ahead Logging (WAL) protocol when writing journal data. In a nutshell, this means the database engine cannot write updated data to database files until the journal records that describe those updates have been permanently written to disk. Jade does this to maintain Atomicity, Consistency, Isolation and Durability (ACID) properties of the database and to ensure data integrity.

Changing the location of your database journal files is fairly simple. Here are the steps;

  • Close the Abel server application.
  • Move the contents of the current Journals folder to the desired new folder. (Tip – The System Backup Maintenance screen displays where the current Journal files are stored – see the Journals Root Folder field).
  • Locate the JournalRootDirectory setting in Abel server ini file (usually abelserv.ini) and point it to the new journal folder.
    Eg. JournalRootDirectory=E:\Abel-Journals
  • Launch the Abel server application.
  • Check that the Journals Root Folder field on System Backup Maintenance displays the new folder location.

So if you haven’t already, you should seriously consider storing your database journal files on a separate physical disk.

( For detailed information on Jade storage media requirements please read this white paper Environmental Considerations for Deploying JADE )