You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
2 years ago | |
---|---|---|
.gitignore | 2 years ago | |
README.md | 2 years ago | |
bufferedslice.go | 2 years ago | |
bufferedslice_test.go | 2 years ago | |
bufferedtable.go | 2 years ago | |
bufferedtable_test.go | 2 years ago | |
constants.go | 2 years ago | |
element.go | 2 years ago | |
errors.go | 2 years ago | |
schema.go | 2 years ago | |
schema_test.go | 2 years ago | |
table.go | 2 years ago | |
unsafe.go | 2 years ago | |
util_test.go | 2 years ago |
README.md
mmtable
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 ...