Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
MTBL(7) 								 MTBL(7)

NAME
     mtbl - immutable sorted string library

SYNOPSIS
     #include <mtbl.h>

     gcc [flags] files -lmtbl [libraries]

DESCRIPTION
     The  mtbl	library provides interfaces for creating, searching, and merging
     Sorted String Table (SSTable) files in the MTBL format,  which  provide  an
     immutable	mapping  of keys to values. Sorted String Tables are compact and
     provide fast random access to keys and key ranges. Keys and values are  ar-
     bitrary byte arrays, and MTBL SSTables may not contain duplicate keys.

     The six main interfaces provided by the mtbl library are:

     mtbl_iter(3)
	 Iterator  objects provide a consistent interface for iterating over the
	 key-value entries returned by other interfaces.

     mtbl_source(3)
	 Source objects provide functions for obtaining iterators from an under-
	 lying data source. The mtbl_reader and mtbl_merger  interfaces  provide
	 functions for obtaining references to a source object. The source meth-
	 ods return an mtbl_iter object.

     mtbl_reader(3)
	 Reader objects provide read-only access to MTBL files.

     mtbl_writer(3)
	 Writer  objects initialize a new MTBL file from a sequence of key-value
	 entries provided by the caller. Keys must be in sorted order  based  on
	 lexicographical byte value, and keys may not be duplicated.

     mtbl_merger(3)
	 Merger objects receive multiple sequences of key-value entries from one
	 or  more mtbl_source objects and combine them into a single, sorted se-
	 quence. The combined,	merged	output	sequence  is  provided	via  the
	 mtbl_source interface.

     mtbl_sorter(3)
	 Sorter  objects receive a sequence of key-value entries provided by the
	 caller and return them in sorted order. The caller must provide a call-
	 back function to merge values in the case  of	entries  with  duplicate
	 keys. The sorted output sequence may be retrieved via the mtbl_iter in-
	 terface or be dumped to an mtbl_writer object.

     mtbl_fileset(3)
	 Fileset  objects  automatically maintain an mtbl_source built on top of
	 the mtbl_merger and  mtbl_reader  interfaces.	The  set  of  underlying
	 mtbl_reader objects is kept synchronized with a "setfile" on disk list-
	 ing MTBL files.

     Additionally, several utility interfaces are provided:

     mtbl_crc32c(3)
	 Calculates the CRC32C checksum of a byte array.

     mtbl_fixed(3)
	 Functions  for fixed-width encoding and decoding of 32 and 64 bit inte-
	 gers.

     mtbl_varint(3)
	 Functions for varint encoding and decoding of 32 and 64 bit integers.

     mtbl_threadpool(3)
	 Provides an interface for enabling multithreading  on	mtbl_writer  and
	 mtbl_sorter objects via mtbl_threadpool objects.

				   07/16/2024				 MTBL(7)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=mtbl&sektion=7&manpath=FreeBSD+Ports+15.1.quarterly>

home | help