Application with In-Memory TFS

The Transactional File Server Interface with In-memory Database Library version of the TFS library provides basic TFS functionality provided by the TFS module (in-memory storage management, locking and transaction management). This TFS functionality is typically embedded in the application process and does not provide any permanent data storage.

The memory segment used to store the database image(s) can either be volatile memory allocated by the operating system or a pointer to a memory location or buffer can be provided in the TFS initialization.

The diagram below shows demonstrates a typical configuration for an application process with multiple internal threads or clients accessing the same in-memory database image.

The above diagram shows the user executable as a single process that can have one or more threads running with the TFS embedded in the application process. The benefits of this configuration if the application design specification allows is:

  • Simple application installation
  • High performance as remote procedure calls are eliminated.
  • Only one application process will have access to the database image(s)
  • DB application can be embedded on devices without storage capabilities.
  • No permanent data storage (data disappears when the TFS shuts down).

Link Library Reference

The TFS library used for applications that will ONLY have in-memory database capability will be the Transactional File Server Interface with In-memory Database Library. The referenced section will list the dependency RaimaDB libraries that will also need to be included when linking your application.