Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Noms | 7,504 | 4 | 2 years ago | 11 | April 06, 2021 | 295 | apache-2.0 | Go | ||
The versioned, forkable, syncable database | ||||||||||
Zsh Z | 1,401 | a month ago | 12 | mit | Shell | |||||
Jump quickly to directories that you have visited "frecently." A native Zsh port of z.sh with added features. | ||||||||||
Datakit | 999 | a year ago | 34 | apache-2.0 | OCaml | |||||
Connect processes into powerful data pipelines with a simple git-like filesystem interface | ||||||||||
Sirdb | 531 | 7 months ago | 3 | agpl-3.0 | JavaScript | |||||
:man: a simple, git diffable JSON database on yer filesystem. By the power of NodeJS | ||||||||||
Dotmesh | 518 | 3 years ago | 217 | apache-2.0 | Go | |||||
dotmesh (dm) is like git for your data volumes (databases, files etc) in Docker and Kubernetes | ||||||||||
Libsqlfs | 480 | 44 | a year ago | 1 | March 24, 2015 | 3 | lgpl-2.1 | C | ||
a library that implements a POSIX style filesystem on top of an SQLite database | ||||||||||
Fastcfs | 426 | 5 days ago | 4 | agpl-3.0 | C | |||||
A high performance distributed file system which can be used as the back-end storage of databases, K8s and VM etc. | ||||||||||
Periscope | 339 | 24 days ago | 8 | December 26, 2021 | 4 | gpl-3.0 | Go | |||
Periscope gives you "duplicate vision" to help you organize and de-duplicate your files without losing data 🔭 | ||||||||||
Filebase | 252 | 3 | 4 | 2 years ago | 27 | February 24, 2019 | 21 | mit | PHP | |
A Simple but Powerful Flat File Database Storage. | ||||||||||
Lolcate Rs | 179 | 2 years ago | 8 | December 03, 2020 | 10 | gpl-3.0 | Rust | |||
Lolcate -- A comically fast way of indexing and querying your filesystem. Replaces locate / mlocate / updatedb. Written in Rust. |
Noms is not being maintained. You shouldn't use it, except maybe for fun or research.
If you are interested in something like Noms, you probably want Dolt (dolthub/dolt) which is a fork of this project and actively maintained.
Send me (aaron at aaronboodman.com) a message if you have questions.
Use Cases | Setup | Status | Documentation | Contact
Noms is a decentralized database philosophically descendant from the Git version control system.
Like Git, Noms is:
Unlike Git, Noms is a database, so it also:
A Noms database can reside within a file system or in the cloud:
ChunkStore
implementation provides two back-ends which provide persistence for Noms databases: one for storage in a file system and one for storage in an S3 bucket.Finally, because Noms is content-addressed, it yields a very pleasant programming model.
Working with Noms is declarative. You don't INSERT
new data, UPDATE
existing data, or DELETE
old data. You simply declare what the data ought to be right now. If you commit the same data twice, it will be deduplicated because of content-addressing. If you commit almost the same data, only the part that is different will be written.
Because Noms is very good at sync, it makes a decent basis for rich, collaborative, fully-decentralized applications.
Embed Noms into mobile applications, making it easier to build offline-first, fully synchronizing mobile applications.
$PATH
$ noms version
format version: 7.18
built from <developer build>
Import some data:
go install github.com/attic-labs/noms/samples/go/csv/csv-import
curl 'https://data.cityofnewyork.us/api/views/kku6-nxdu/rows.csv?accessType=DOWNLOAD' > /tmp/data.csv
csv-import /tmp/data.csv /tmp/noms::nycdemo
Explore:
noms show /tmp/noms::nycdemo
Should show:
struct Commit {
meta: struct Meta {
date: "2017-09-19T19:33:01Z",
inputFile: "/tmp/data.csv",
},
parents: set {},
value: [ // 236 items
struct Row {
countAmericanIndian: "0",
countAsianNonHispanic: "3",
countBlackNonHispanic: "21",
countCitizenStatusTotal: "44",
countCitizenStatusUnknown: "0",
countEthnicityTotal: "44",
...
Nobody is working on this right now. You shouldn't rely on it unless you're willing to take over development yourself.
These are the major things you'd probably want to fix before relying on this for most systems.
For the decentralized web: The Decentralized Database
Learn the basics: Technical Overview
Tour the CLI: Command-Line Interface Tour
Tour the Go API: Go SDK Tour
Interested in using Noms? Awesome! We would be happy to work with you to help understand whether Noms is a fit for your problem. Reach out at:
Noms is open source software, licensed by Attic Labs, Inc. under the Apache License, Version 2.0.