mirror of
https://github.com/dolthub/dolt.git
synced 2026-01-28 18:59:00 -06:00
b8be6908f88a4b553a125706bd995d6c229ce3da
This is done by creating a cursor for each set. This is a cursor for the actual values in the sets. We then pick the "smallest" value from the cursors and advance that cursor. This continues until we have exhausted all the cursors. setA.Union(set0, ... setN) The time complexity is O(len(setA) + len(set0)) + ... len(setN))
Noms
Noms is a content-addressable, immutable, peer-to-peer datastore for structured data.
In other words, noms is git for data.
This repository will contain the reference implementation of the noms protocol, and will eventually be open sourced.
This includes:
- Go wrappers for all the core noms types
- Support for generating Go types from schema definitions (aka 'nomdl')
- Chunking and dechunking
- Serialization and deserialization
- Chunkstore interface as well as several sample implementations
- Search support
- Sample applications
Prerequisites
Get
go get -u -t github.com/attic-labs/noms/...
Build
go build ./...
go test ./...
Run
cd <noms>/clients/counter
go build
./counter -ldb=/tmp/foo -ds=foo
./counter -ldb=/tmp/foo -ds=foo
./counter -ldb=/tmp/foo -ds=foo
Rejoice!
You can see the raw data:
ls /tmp/foo
cat /tmp/foo/*.log | strings
You can also explore the data visually. Follow the instructions in clients/splore.
There are lots of other sample programs in clients/ and they usually have READMEs. Have fun...
TODO: There needs to be more of a big-picture introduction.
Description
Releases
123
Languages
Go
84%
Shell
15.1%
JavaScript
0.3%
Java
0.1%