WIP: Initial commit.
parent
13c931e4ff
commit
e726588b83
@ -1,3 +1,48 @@
|
||||
# mmtable
|
||||
|
||||
Memory mapped column oriented tables for Go.
|
||||
Memory mapped columnar table library.
|
||||
|
||||
Goals:
|
||||
|
||||
* On-disk memory mapped table
|
||||
* Table consists of columns of various primitive types
|
||||
* Columns have fixed-size elements
|
||||
* Lock for single writer
|
||||
* Allow multiple readers
|
||||
* Commands:
|
||||
* Add column
|
||||
* Remove column
|
||||
* SetCapacity (offline)
|
||||
* Append one table to another
|
||||
|
||||
Types of columns:
|
||||
|
||||
* byte
|
||||
* bool
|
||||
* int8
|
||||
* int16
|
||||
* int32
|
||||
* int64
|
||||
* uint8
|
||||
* uint16
|
||||
* uint32
|
||||
* uint64
|
||||
* float32
|
||||
* float64
|
||||
* array of any primitive type
|
||||
|
||||
Layout:
|
||||
|
||||
dir/
|
||||
lock
|
||||
length (written atomically)
|
||||
data
|
||||
|
||||
Table data layout:
|
||||
|
||||
0000-0008 Version
|
||||
0008-0016 Capacity (uint64)
|
||||
0016-XXXX Serialized Schema
|
||||
XXXX-YYYY Data for column 1
|
||||
YYYY-ZZZZ Data for column 2
|
||||
...
|
||||
|
Loading…
Reference in New Issue