Author: jstephens
Date: 2007-04-27 02:35:14 +0200 (Fri, 27 Apr 2007)
New Revision: 6235
Log:
Added skeleton Kernel Blocks section to NDB Internals chapter file.
Modified:
trunk/ndbapi/ndb-internals.xml
Modified: trunk/ndbapi/ndb-internals.xml
===================================================================
--- trunk/ndbapi/ndb-internals.xml 2007-04-26 22:41:43 UTC (rev 6234)
+++ trunk/ndbapi/ndb-internals.xml 2007-04-27 00:35:14 UTC (rev 6235)
Changed blocks: 1, Lines Added: 667, Lines Deleted: 1; 23807 bytes
@@ -1552,7 +1552,673 @@
</section>
-</section>
+ </section>
+
+ <section id="ndb-internals-kernel-blocks">
+ <title><literal>NDB</literal> Kernel Blocks</title>
+
+ <para>
+ This section lists and describes the major kernel blocks found in
+ the <literal>NDB</literal> source code, under the directory
+ <filename>storage/ndb/src/kernel/blocks/</filename>.
+ </para>
+
+ <remark role="note">
+ [js] Using an itemizedlist for now, may want to promote list items
+ to (sub)sections as more information is added?
+ </remark>
+
+ <remark role="note">
+ [js] I've omitted makefiles and SCCS subdirectories from the
+ kernel block file listings.
+ </remark>
+
+ <remark role="todo">
+ [js] Possibly remove .txt files from listings and incorporate
+ their content directly into this doc?
+ </remark>
+
+ <remark role="todo">
+ Alphabatise file listings within each block; add descriptions of
+ the code in each one and what it does.
+ </remark>
+
+ <itemizedlist>
+ <listitem>
+ <formalpara>
+ <title><literal>BACKUP</literal></title>
+ <para>
+ This block is responsible for handling online backups. It
+ it is found in
+ <filename>storage/ndb/src/kernel/blocks/backup/</filename>,
+ and contains the following files:
+
+ <itemizedlist>
+ <listitem>
+ <para><filename>Backup.cpp</filename></para>
+ </listitem><listitem>
+ <para><filename>BackupFormat.hpp</filename></para>
+ </listitem><listitem>
+ <para><filename>Backup.hpp</filename></para>
+ </listitem><listitem>
+ <para><filename>BackupInit.cpp</filename></para>
+ </listitem><listitem>
+ <para><filename>Backup.txt</filename></para>
+ </listitem><listitem>
+ <para><filename>FsBuffer.hpp</filename></para>
+ </listitem><listitem>
+ <para><filename>read.cpp</filename></para>
+
+ </listitem>
+ </itemizedlist>
+
+ </para>
+ </formalpara>
+
+ </listitem>
+ <listitem>
+ <formalpara>
+ <title><literal>CMVMI</literal></title>
+ <para>
+ This block is responsible for configuration management
+ between the kernel blocks and the <literal>NDB</literal>
+ virtual machine. It is found in <filename>storage/ndb/src/kernel/blocks/cmvmi</filename>, and
+ contains these files:
+ <itemizedlist>
+ <listitem>
+ <para><filename>Cmvmi.cpp</filename></para>
+ </listitem>
+ <listitem>
+ <para><filename>Cmvmi.hpp</filename></para>
+ </listitem>
+ </itemizedlist>
+
+ </para>
+ </formalpara>
+
+ </listitem>
+ <listitem>
+ <formalpara>
+ <title><literal>DBACC</literal></title>
+ <para>
+ This is the access control and lock management module, found
+ in <filename>storage/ndb/src/kernel/blocks/dbacc</filename>.
+ It contains the following files:
+ <itemizedlist>
+ <listitem>
+ <para><filename>Dbacc.hpp</filename></para>
+ </listitem><listitem>
+ <para><filename>DbaccInit.cpp</filename></para>
+ </listitem><listitem>
+ <para><filename>DbaccMain.cpp</filename></para>
+ </listitem>
+ </itemizedlist>
+
+ </para>
+ </formalpara>
+
+ </listitem>
+ <listitem>
+ <formalpara>
+ <title><literal>DBDICT</literal></title>
+ <para>
+ This block, found in
+ <filename>storage/ndb/src/kernel/blocks/dbdict</filename>,
+ manages metadata such as table and index definitions. This
+ block contains these files:
+ <itemizedlist>
+ <listitem>
+ <para><filename>CreateIndex.txt</filename></para>
+ </listitem><listitem>
+ <para><filename>Dbdict.cpp</filename></para>
+ </listitem><listitem>
+ <para><filename>DictLock.txt</filename></para>
+ </listitem><listitem>
+ <para><filename>printSchemaFile.cpp</filename></para>
+ </listitem><listitem>
+ <para><filename>Slave_AddTable.sfl</filename></para>
+ </listitem><listitem>
+ <para><filename>CreateTable.new.txt</filename></para>
+ </listitem><listitem>
+ <para><filename>Dbdict.hpp</filename></para>
+ </listitem><listitem>
+ <para><filename>DropTable.txt</filename></para>
+ </listitem><listitem>
+ <para><filename>CreateTable.txt</filename></para>
+ </listitem><listitem>
+ <para><filename>Dbdict.txt</filename></para>
+ </listitem><listitem>
+ <para><filename>Event.txt</filename></para>
+ </listitem><listitem>
+ <para><filename>Master_AddTable.sfl</filename></para>
+ </listitem><listitem>
+ <para><filename>SchemaFile.hpp</filename></para>
+ </listitem>
+ </itemizedlist>
+
+ </para>
+ </formalpara>
+
+ </listitem>
+ <listitem>
+ <formalpara>
+ <title><literal>DBLIH</literal></title>
+ <para>
+ This block provides data distribution management services.
+ It is responsible for maintaining data fragments and
+ replicas, handling of local and global checkpoints, and
+ manages system restarts. It contains the following files,
+ all found in the directory
+ <filename>storage/ndb/src/kernel/blocks/dbdih</filename>:
+ <itemizedlist>
+ <listitem>
+ <para><filename>Dbdih.hpp</filename></para>
+ </listitem>
+ <listitem>
+ <para><filename>DbdihMain.cpp</filename></para>
+ </listitem>
+ <listitem>
+ <para><filename>printSysfile/printSysfile.cpp</filename></para>
+ </listitem>
+ <listitem>
+ <para><filename>DbdihInit.cpp</filename></para>
+ </listitem>
+ <listitem>
+ <para><filename>LCP.txt</filename></para>
+ </listitem>
+ <listitem>
+ <para><filename>printSysfile.cpp</filename></para>
+ </listitem>
+ <listitem>
+ <para><filename>Sysfile.hpp</filename></para>
+ </listitem>
+ </itemizedlist>
+
+ </para>
+ </formalpara>
+
+ </listitem>
+ <listitem>
+ <formalpara>
+ <title><literal>DBLQH</literal></title>
+ <para>
+ This is the local query handler block, which manages data
+ and transactions local to the cluster's data nodes. It
+ ismade up of the following files, found in
+ <filename>storage/ndb/src/kernel/blocks/dblqh</filename>:
+
+ <itemizedlist>
+ <listitem>
+ <para><filename>Dblqh.hpp</filename></para>
+ </listitem>
+ <listitem>
+ <para><filename>DblqhInit.cpp</filename></para>
+ </listitem>
+ <listitem>
+ <para><filename>DblqhMain.cpp</filename></para>
+ </listitem>
+ <listitem>
+ <para><filename>redoLogReader/records.cpp</filename></para>
+ </listitem>
+ <listitem>
+ <para><filename>redoLogReader/records.hpp</filename></para>
+ </listitem>
+ <listitem>
+ <para><filename>redoLogReader/redoLogFileReader.cpp</filename></para>
+ </listitem>
+ </itemizedlist>
+
+ </para>
+ </formalpara>
+
+ </listitem>
+ <listitem>
+ <formalpara>
+ <title><literal>DBTC</literal></title>
+ <para>
+ This is the transaction coordinator block, which handles
+ distributed transactions and other data operations on a
+ global level. In the source code, it is located in the
+ directory
+ <filename>storage/ndb/src/kernel/blocks/dbtc</filename>, which contains these files:
+ <itemizedlist>
+ <listitem>
+ <para><filename>Dbtc.hpp</filename></para>
+ </listitem>
+ <listitem>
+ <para><filename>DbtcInit.cpp</filename></para>
+ </listitem>
+ <listitem>
+ <para><filename>DbtcMain.cpp</filename></para>
+ </listitem>
+ </itemizedlist>
+
+ </para>
+ </formalpara>
+
+ </listitem>
+ <listitem>
+ <formalpara>
+ <title><literal>DBTUP</literal></title>
+ <para>
+ This is the tuple manager, which manages the physical
+ storage of cluster data. It consists of the the following
+ files found in the directory
+ <filename>storage/ndb/src/kernel/blocks/dbtup</filename>:
+ <itemizedlist>
+ <listitem>
+ <para><filename>AttributeOffset.hpp</filename></para>
+ </listitem>
+ <listitem><para><filename>DbtupDiskAlloc.cpp</filename></para>
+ </listitem>
+ <listitem><para><filename>DbtupIndex.cpp</filename></para>
+ </listitem>
+ <listitem><para><filename>DbtupScan.cpp</filename></para>
+ </listitem>
+ <listitem><para><filename>tuppage.cpp</filename></para>
+ </listitem>
+ <listitem><para><filename>DbtupAbort.cpp</filename></para>
+ </listitem>
+ <listitem><para><filename>DbtupExecQuery.cpp</filename></para>
+ </listitem>
+ <listitem><para><filename>DbtupMeta.cpp</filename></para>
+ </listitem>
+ <listitem><para><filename>DbtupStoredProcDef.cpp</filename></para>
+ </listitem>
+ <listitem><para><filename>tuppage.hpp</filename></para>
+ </listitem>
+ <listitem><para><filename>DbtupBuffer.cpp</filename></para>
+ </listitem>
+ <listitem><para><filename>DbtupFixAlloc.cpp</filename></para>
+ </listitem>
+ <listitem><para><filename>DbtupPageMap.cpp</filename></para>
+ </listitem>
+ <listitem><para><filename>DbtupTabDesMan.cpp</filename></para>
+ </listitem>
+ <listitem><para><filename>Notes.txt</filename></para>
+ </listitem>
+ <listitem><para><filename>Undo_buffer.cpp</filename></para>
+ </listitem>
+ <listitem><para><filename>DbtupCommit.cpp</filename></para>
+ </listitem>
+ <listitem><para><filename>DbtupGen.cpp</filename></para>
+ </listitem>
+ <listitem><para><filename>DbtupPagMan.cpp</filename></para>
+ </listitem>
+ <listitem><para><filename>DbtupTrigger.cpp</filename></para>
+ </listitem>
+ <listitem><para><filename>Undo_buffer.hpp</filename></para>
+ </listitem>
+ <listitem><para><filename>DbtupDebug.cpp</filename></para>
+ </listitem>
+ <listitem><para><filename>Dbtup.hpp</filename></para>
+ </listitem>
+ <listitem><para><filename>DbtupRoutines.cpp</filename></para>
+ </listitem>
+ <listitem><para><filename>DbtupVarAlloc.cpp</filename></para>
+ </listitem>
+ <listitem><para><filename>test_varpage.cpp</filename></para>
+ </listitem>
+ </itemizedlist>
+
+ </para>
+ </formalpara>
+
+ </listitem>
+ <listitem>
+ <formalpara>
+ <title><literal>DBTUX</literal></title>
+ <para>
+ This kernel block handles the local management of ordered
+ indexes. It consists of the the following files found in the
+ <filename>storage/ndb/src/kernel/blocks/dbtux</filename>
+ directory:
+ <itemizedlist>
+ <listitem>
+ <para><filename>DbtuxCmp.cpp</filename></para>
+ </listitem>
+ <listitem>
+ <para><filename>DbtuxGen.cpp</filename></para>
+ </listitem>
+ <listitem>
+ <para><filename>DbtuxMaint.cpp</filename></para>
+ </listitem>
+ <listitem>
+ <para><filename>DbtuxNode.cpp</filename></para>
+ </listitem>
+ <listitem>
+ <para><filename>DbtuxSearch.cpp</filename></para>
+ </listitem>
+ <listitem>
+ <para><filename>DbtuxTree.cpp</filename></para>
+ </listitem>
+ <listitem>
+ <para><filename>Times.txt</filename></para>
+ </listitem>
+ <listitem>
+ <para><filename>DbtuxDebug.cpp</filename></para>
+ </listitem>
+ <listitem>
+ <para><filename>Dbtux.hpp</filename></para>
+ </listitem>
+ <listitem>
+ <para><filename>DbtuxMeta.cpp</filename></para>
+ </listitem>
+ <listitem>
+ <para><filename>DbtuxScan.cpp</filename></para>
+ </listitem>
+ <listitem>
+ <para><filename>DbtuxStat.cpp</filename></para>
+ </listitem>
+ <listitem>
+ <para><filename>tuxstatus.html</filename></para>
+ </listitem>
+ </itemizedlist>
+
+ </para>
+ </formalpara>
+
+ </listitem>
+ <listitem>
+ <formalpara>
+ <title><literal>DBUTIL</literal></title>
+ <para>
+ This block provides internal interfaces to transaction and
+ data operations. It is found in
+ <filename>storage/ndb/src/kernel/blocks/dbutil</filename>,
+ and includes these files:
+ <itemizedlist>
+ <listitem>
+ <para><filename>DbUtil.cpp</filename></para>
+ </listitem>
+ <listitem>
+ <para><filename>DbUtil.hpp</filename></para>
+ </listitem>
+ <listitem>
+ <para><filename>DbUtil.txt</filename></para>
+ </listitem>
+ </itemizedlist>
+
+ </para>
+ </formalpara>
+
+ </listitem>
+ <listitem>
+ <formalpara>
+ <title><literal>NDBCNTR</literal></title>
+ <para>
+ This is a cluster management block that handles block
+ initialisation and configuration. It is located in
+ <filename>storage/ndb/src/kernel/blocks/ndbcntr</filename>,
+ and contains these files:
+ <itemizedlist>
+ <listitem>
+ <para><filename>Ndbcntr.hpp</filename></para>
+ </listitem>
+ <listitem>
+ <para><filename>NdbcntrInit.cpp</filename></para>
+ </listitem>
+ <listitem>
+ <para><filename>NdbcntrMain.cpp</filename></para>
+ </listitem>
+ <listitem>
+ <para><filename>NdbcntrSysTable.cpp</filename></para>
+ </listitem>
+ </itemizedlist>
+
+ </para>
+ </formalpara>
+
+ </listitem>
+ <listitem>
+ <formalpara>
+ <title><literal>NDBFS</literal></title>
+ <para>
+ This block provides the <literal>NDB</literal> filesystem
+ abstraction layer, and is located in the directory
+ <filename>storage/ndb/src/kernel/blocks/ndbfs</filename>,
+ which contains the following files:
+ <itemizedlist>
+ <listitem>
+ <para><filename>AsyncFile.cpp</filename></para>
+ </listitem>
+ <listitem>
+ <para><filename>CircularIndex.cpp</filename></para>
+ </listitem>
+ <listitem>
+ <para><filename>Filename.hpp</filename></para>
+ </listitem>
+ <listitem>
+ <para><filename>MemoryChannelTest/MemoryChannelTest.cpp</filename></para>
+ </listitem>
+ <listitem>
+ <para><filename>OpenFiles.hpp</filename></para>
+ </listitem>
+ <listitem>
+ <para><filename>VoidFs.cpp</filename></para>
+ </listitem>
+ <listitem>
+ <para><filename>AsyncFile.hpp</filename></para>
+ </listitem>
+ <listitem>
+ <para><filename>CircularIndex.hpp</filename></para>
+ </listitem>
+ <listitem>
+ <para><filename>MemoryChannel.cpp</filename></para>
+ </listitem>
+ <listitem>
+ <para><filename>Ndbfs.cpp</filename></para>
+ </listitem>
+ <listitem>
+ <para><filename>Pool.hpp</filename></para>
+ </listitem>
+ <listitem>
+ <para><filename>AsyncFileTest/AsyncFileTest.cpp</filename></para>
+ </listitem>
+ <listitem>
+ <para><filename>Filename.cpp</filename></para>
+ </listitem>
+ <listitem>
+ <para><filename>MemoryChannel.hpp</filename></para>
+ </listitem>
+ <listitem>
+ <para><filename>Ndbfs.hpp</filename></para>
+ </listitem>
+ </itemizedlist>
+
+ </para>
+ </formalpara>
+
+ </listitem>
+ <listitem>
+ <formalpara>
+ <title><literal>QMGR</literal></title>
+ <para>
+ This is the logical cluster management block, and handles
+ node membership in the cluster. It contains the following
+ files, found in
+ <filename>storage/ndb/src/kernel/blocks/qmgr</filename>;
+ <itemizedlist>
+ <listitem>
+ <para><filename>Qmgr.hpp</filename></para>
+ </listitem>
+ <listitem>
+ <para><filename>QmgrInit.cpp</filename></para>
+ </listitem>
+ <listitem>
+ <para><filename>QmgrMain.cpp</filename></para>
+ </listitem>
+ <listitem>
+ <para><filename>timer.hpp</filename></para>
+ </listitem>
+ </itemizedlist>
+
+ </para>
+ </formalpara>
+
+ </listitem>
+ <listitem>
+ <formalpara>
+ <title><literal>SUMA</literal></title>
+ <para>
+ The cluster subscription manager, which handles event
+ logging and reporting functions. It consists of the
+ following files, found in the directory
+ <filename>storage/ndb/src/kernel/blocks/suma/</filename>:
+ <itemizedlist>
+ <listitem>
+ <para><filename>Suma.cpp</filename></para>
+ </listitem>
+ <listitem>
+ <para><filename>Suma.hpp</filename></para>
+ </listitem>
+ <listitem>
+ <para><filename>SumaInit.cpp</filename></para>
+ </listitem>
+ <listitem>
+ <para><filename>Suma.txt</filename></para>
+ </listitem>
+ </itemizedlist>
+
+ </para>
+ </formalpara>
+
+ </listitem>
+ <listitem>
+ <formalpara>
+ <title><literal>TRIX</literal></title>
+ <para>
+ This kernel block is responsible for the building of unique
+ indexes. It is found in the directory
+ <filename>storage/ndb/src/kernel/blocks/trix</filename>, and
+ includes these files:
+ <itemizedlist>
+ <listitem>
+ <para><filename>Trix.cpp</filename></para>
+ </listitem>
+ <listitem>
+ <para><filename>Trix.hpp</filename></para>
+ </listitem>
+ </itemizedlist>
+
+ </para>
+ </formalpara>
+
+ </listitem>
+ </itemizedlist>
+
+ <para>
+ In addition, the following files are found in the
+ <filename>storage/ndb/src/kernel/blocks</filename> directory:
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ <filename>diskpage.cpp</filename>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <filename>pgman.cpp</filename>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <filename>restore.cpp</filename>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <filename>SystemRestart.new.txt</filename>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <filename>diskpage.hpp</filename>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <filename>pgman.hpp</filename>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <filename>restore.hpp</filename>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <filename>SystemRestart.txt</filename>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <filename>ERROR_codes.txt</filename>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <filename>NodeRestart.new.txt</filename>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <filename>print_file.cpp</filename>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <filename>lgman.cpp</filename>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <filename>mutexes.hpp</filename>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <filename>NodeRestart.txt</filename>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <filename>Start.txt</filename>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <filename>tsman.cpp</filename>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <filename>lgman.hpp</filename>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <filename>OptNR.txt</filename>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <filename>record_types.hpp</filename>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <filename>tsman.hpp</filename>
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ </para>
+
+ </section>
+
+
<section id="ndb-internals-glossary">
<title><literal>NDB</literal> Internals Glossary</title>
| Thread |
|---|
| • svn commit - mysqldoc@docsrva: r6235 - trunk/ndbapi | jon | 27 Apr |