Switch to: V11V10V9V8V7V6V5

VDatabase Volumes

Databases are usually stored on disk volumes in one of two ways:

  1. a database is stored as many disc files under an operating system
  2. a database is stored as one disc file under an operating system with a complex internal structure

Multiple Disk File Databases

The first way is a very simple implementation, because it can leverage the file system of the underlying operating system. However some problems can arise based on the limitations on the number of open files allowed under the operating system.

Single Disk File Databases

Using a single disk file requires a specialized file system within the database: a file system within the file system of an operating system. This storage method is used by practically all major DBMS available.

Valentina Database File System

Valentina implements the Single Disk File system, just like all the other major DBMS. Valentina has its own file system and can store many logical files within a single disk file.

However, Valentina can create a database as one, two, three or four separate disk files. In content of Valentina, we refer to these as a Volume or Database Volume.

1. Volume of the database structure. The extension is “.vdb”
2. Volume of custom data. The extension is “.dat”
3. Volume of binary data. The extension is “.blb”
4. Volume of secondary data. The extension is “.ind”
5. Volume of temporary data. The extension is “.tmp”

dbName.vdb volume

Contains the description of the structure of the whole database: tables, fields, constraints, relations, layouts, passwords and so on. This file usually has not large size.

On MacOS the .vdb extension is optional. If you develop a cross-platform database, then specify this extension explicitly.

dbName.dat volume

Contains the custom data of this database.

dbName.blb volume

Contains binary objects such as BLOB, Text, Picture.

dbName.ind volume

Contains indexes of database.

dbName.tmp volume

Contains all temporary data and structures such as:

  • temporary tables;
  • record locks information;
  • join tables;

Valentina always creates this file opening a database and removes it after closing. In case of a system failure a new temporary file will be created on the next opening of a database. The advantage to have such separate .tmp volume is that we need zero time to erase any temporary files left from previous session (in case of failure).