FLAIM is the underlying Data Store for eDirectory.

FLAIM is a FLexible Adaptable Information Management database engine for traditional as well as volatile and complex information.

Versions of eDirectory prior to version 8 (then called Novell Directory Services (NDS)) used a record-based database management engine called RECMAN, which relied on the Transaction Tracking System built into the NetWare operating system.

Since Novell Directory Services version 8, eDirectory (along with the GroupWise, version 5 and later, collaboration suite) uses the FLAIM (FLexible Adaptable Information Management) database engine.

FLAIM is an Open Source embeddable database engine developed by Novell INC and released under the GPL license in 2006.

This change allowed for Novell Directory Services (NDS) to properly support LDAP and to be ported to other platforms such as Windows Server, Linux, and UNIX.

FLAIM Memory Subsystem#

Server applications can perform significantly better when RAM is increased. Caching the eDirectory database in the File System or in the FLAIM Cache can lead to improved performances of search and modify operations.

However, you cannot cache the complete DIB in large deployments. Avoid page swapping even if it means reducing the FLAIM Entry Cache and FLAIM Block Cache sizes.

Use the vmstat tool to find more information on the memory subsystem.

As eDirectory uses memory, each thread from the thread pool uses 1 MB of RAM for its stack. By default, the FLAIM Cache size is set to 200 MB.

Several Loadable Modules are started when eDirectory starts, but the loadable module architecture of eDirectory allows you to reduce the memory footprint of the process by not loading the unused modules (for example, SecretStore, LDAP, or eMBox).

In addition, products like DirXML have some modules that run inside eDirectory.

The memory used by eDirectory might appear to be growing. Although memory is freed by an eDirectory process, it might not be released to the Operating System free pool because the memory manager used internally by eDirectory tries to optimize the memory allocations for future.

This is one of the reasons for not recommending FLAIM dynamic configuration.

Use the Top tool to find the approximate Virtual Memory size of the NDSD process in your deployment.

The maximum memory that can be allocated to a process is limited in several ways. A certain amount of RAM is used by the Operating System and other processes on the system. The Operating System can impose limitations on physical RAM that a process uses.

FLAIM Settings#

_ndsdb.ini file controls the settings for FLAIM

Roll-Forward Log#

FLAIM logs operations for each update transaction in a Roll-Forward Log (RFL) file. An RFL is used to recover transactions from a system failure or when restoring from a backup. The RFL file is truncated after every checkpoint is completed unless it is turned on (rflkeepfiles) by using a hot continuous backup (http://www.novell.com/documentation/edir88/edir88/data/a2n4mb7.html).



More Information#

There might be more information for this subject on one of the following:
[#1] http://en.wikipedia.org/wiki/Novell_eDirectory