Aaron Boodman 05da222bc4 Merge pull request #1734 from aboodman/restruct
Fix build break in tools/
2016-06-05 02:47:20 -07:00
2016-06-05 02:37:28 -07:00
2016-06-05 02:37:28 -07:00
2016-06-05 02:23:09 -07:00
2016-06-05 02:37:28 -07:00
2016-06-05 02:46:02 -07:00
2016-06-05 02:37:28 -07:00

#Store All the Things

Noms is a content-addressed, immutable, decentralized, strongly-typed database.

In other words, Noms is Git for data.

Setup

  1. Install Go 1.6+
  2. Ensure your $GOPATH is configured
  3. Type type type:
git clone https://github.com/attic-labs/noms $GOPATH/src/github.com/attic-labs/noms
go install github.com/attic-labs/noms/cmd/...
noms log http://demo.noms.io/cli-tour:film-locations

Samples  |  Command-Line Tour  |  JavaScript SDK Tour  |  Intro to Noms

Features

Versioning
Each commit is retained and can be viewed or reverted
Type inference
Each dataset has a precise schema that is automatically inferred
Atomic commits
Immutability enables atomic commits of any size
Diff
Compare structured datasets of any size efficiently
Schema versioning
Narrow or widen schemas instantly, without rewriting data
Sorted indexes
Fast range queries, on a single or a combination of attributes
Fork
Create your own isolated branch of a dataset to work in
Schema validation (soon)
Optionally constrain commit types on a per-dataset basis
Insanely easy import
Continuous import from anywhere with automatic deduplication
Sync
Sync disconnected database instances efficiently and correctly
Structural typing
Index, search, and match data by structure shape
Awesome export
Continuously and efficiently export from Noms to anywhere

Use Cases

We're just getting started, but here are a few places we think Noms is especially well-suited:

  • Data collaboration—Work on data together. Track changes, fork, merge, sync, etc. The entire Git workflow, but on large-scale, structured data.
  • ETL—ETL based on Noms is inherently incremental, undoable, idempotent, and auditable.
  • Data integration and enrichment—A content-addressed database should be a really nice place to do data integration. Enrichments can be modeled as extensions to source data which are trivially undoable.
  • Decentralized database—Noms is a natural fit to move structured data around certain kinds of widely decentralized applications.

Get Involved

Noms is developed completely in the open. Come say hi.

Description
Dolt – Git for Data
Readme Apache-2.0 427 MiB
Latest
2026-02-09 20:09:01 -06:00
Languages
Go 84.1%
Shell 15%
JavaScript 0.3%
Java 0.1%
Python 0.1%