Files
mongo/src/docs/tune-bulk-load.dox
2014-09-10 13:55:44 +10:00

36 lines
1.7 KiB
Plaintext

/*! @page tune_bulk_load Bulk-load
When loading a large amount of data into a new object, using a cursor
with the \c bulk configuration string enabled and loading the data in
sorted order will be much faster than doing out-of-order inserts.
WiredTiger cursors can be configured for bulk-load using the \c bulk
configuration keyword to WT_SESSION::open_cursor. Bulk-load is a "fast
path" for quickly loading a large number of rows. Bulk-load may only
be used on newly created objects, and an object being bulk-loaded is not
accessible from other cursors.
Cursors configured for bulk-load only support the WT_CURSOR::insert and
WT_CURSOR::close methods. Bulk load inserts are non-transactional: they
cannot be rolled back and ignore the transactional state of the WT_SESSION
in which they are opened.
When bulk-loading row-store objects, keys must be loaded in sorted
order.
When using the \c sort utility on a Linux or other POSIX-like system to
pre-sort keys, the locale specified by the environment affects the sort
order and may not match the default sort order used by WiredTiger. Set
\c LC_ALL=C in the process' environment to configure the traditional sort
order that uses native byte values.
When bulk-loading fixed-length column store objects, the \c bulk
configuration string value \c bitmap allows chunks of a memory resident
bitmap to be loaded directly into an object by passing a WT_ITEM to
WT_CURSOR::set_value, where the size field indicates the number of
records in the bitmap (as specified by the object's \c value_format
configuration). Bulk-loaded bitmap values must end on a byte boundary
relative to the bit count (except for the last set of values loaded).
*/