This block provides data distribution (partitioning) management
services. It is responsible for maintaining data fragments and
replicas, handling of local and global checkpoints; it also
manages node and system restarts. It contains the following
files, all found in the directory
storage/ndb/src/kernel/blocks/dbdih:
Dbdih.hpp.
This file contains the definition of the
Dbdih class, as well as the
FileRecordPtr type, which is used to
keep storage information about a fragment and its
replicas. If a fragment has more than one backup
replica, then a list of the additional ones is attached
to this record. This record also stores the status of
the fragment, and is 64-byte aligned.
DbdihMain.cpp.
Contains definitions of Dbdih class
methods.
printSysfile/printSysfile.cpp.
Older version of the
printSysfile.cpp in the main
dbdih directory.
DbdihInit.cpp.
Initializes Dbdih data and records;
also contains the class destructor.
LCP.txt.
Contains developer noted about the exchange of messages
between DIH and
LQH that takes place during a local
checkpoint.
printSysfile.cpp.
This file contains the source code for
ndb_print_sys_file. For information
about using this utility, see
ndb_print_sys_file.
Sysfile.hpp.
Contains the definition of the
Sysfile structure; in other words,
the format of an NDB system file. See
Section 6.1, “MySQL Cluster File Systems”, for more
information about NDB system files.
This block often makes use of BACKUP blocks
on the data nodes to accomplish distributed tasks, such as
global checkpoints and system restarts.
This block is implemented as the Dbdih class, whose definition
may be found in the file
storage/ndb/src/kernel/blocks/dbdih/Dbdih.hpp.
