mirror of
https://github.com/dolthub/dolt.git
synced 2026-02-11 02:59:34 -06:00
7db243745b8999bb56c70776c87f66d4c97ff9d8
A novel chunk may contain references to any other novel chunk, as long as there are no cycles. This means that breaking up the stream of novel chunks being written to the server into batches risks creating races -- chunks in one batch might reference chunks in another, meaning that the server would somehow need to be able to cross-reference batches. This seems super hard, so we've just forced the code to write in one massive batch upon Commit(). We'll evaluate the performance of this solution and see what we need to change. Also, there's a terrible hack in HandleWriteValue to make it so that pulls can work by back-channeling all their chunks via postRefs/ and then writing the final Commit object via writeValue/ This can be fixed once we fix issue 822
Noms
Noms is a content-addressable, append-only, peer-to-peer, structured data store.
In other words, noms is git for data.
This repository contains two reference implementations of the noms protocol - one in Go, and one in JavaScript. It also includes a number of tools and sample applications.
Prerequisites
- Go 1.4+
- Python 2.7+ (Note: Python 2.x only, not Python 3.x)
- Node.js 5.3+
Set environment variables
- Ensure
$GOPATHis set correctly - Set
GO15VENDOREXPERIMENT=1in your environment - all our code requires this
Get the code
mkdir -p $GOPATH/src/github.com/attic-labs
cd $GOPATH/src/github.com/attic-labs
git clone https://github.com/attic-labs/noms
Build
go install `go list ./... | grep -v /vendor/`
go test `go list ./... | grep -v /vendor/`
Run
cd "$GOPATH/src/github.com/attic-labs/noms/clients/counter"
go build
./counter -ldb=/tmp/foo -ds=foo
./counter -ldb=/tmp/foo -ds=foo
./counter -ldb=/tmp/foo -ds=foo
What next?
- Learn the core tools:
server,splore,shove,csv import/export,json_importer,xml_importer - Run sample apps:
sfcrime - NomDL reference (TODO)
- Go SDK reference (TODO)
- JavaScript SDK reference (TODO)
Recommended Chrome extensions
- Hides generated (Go) files from GitHub pull requests: GitHub PR gen hider.
Description
Releases
128
Languages
Go
84.1%
Shell
15%
JavaScript
0.3%
Java
0.1%
Python
0.1%