Skip to content
Fast, Distributed Graph DB
Go HCL Shell TeX Makefile Ruby
Branch: master
Clone or download

Latest commit

jarifibrahim Alpha: Gracefully shutdown ludicrous mode (#5561)
Fixes - DGRAPH-1353

When live loader in running on an Alpha in ludicrous mode, alpha will
crash with a segmentation fault error because badger was closed before
ludicrous mode goroutines were stopped. This PR fixed that issue.

The crash can be reproduced by
```
1. dgraph zero --ludicrous_mode
2. dgraph alpha --ludicrous_mode --enable_sentry=false
3. dgraph live -f $GOPATH/src/github.com/dgraph-io/benchmarks/data/21million.rdf.gz \
-s $GOPATH/src/github.com/dgraph-io/benchmarks/data/21million.schema \
-z localhost:5080 -a localhost:9080 --ludicrous_mode

Hit <CTRL+C> while alpha is receiving data from live loader.
```
Latest commit e326b9e Jun 3, 2020

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Fix URLs like... (#5510) May 28, 2020
.travis Remove dashboard specific code from Dgraph. Also build binary for rat… Dec 18, 2017
algo Always set BlockSize in encoder. (#5255) Apr 22, 2020
chunker [Breaking]: Vault Integration with Bulk, Live, Offline/Online restore… Jun 2, 2020
codec Always set BlockSize in encoder. (#5255) Apr 22, 2020
compose Fix warnings in compose tools. (#4525) Jan 9, 2020
conn Update badger to commit cddf7c03451c (#5216) Apr 22, 2020
contrib Add script to auto-update badger (#5449) Jun 3, 2020
dgraph [Breaking]: Vault Integration with Bulk, Live, Offline/Online restore… Jun 2, 2020
edgraph Add authn for graphql and http admin endpoints (#5162) May 19, 2020
ee [Breaking]: Vault Integration with Bulk, Live, Offline/Online restore… Jun 2, 2020
gql Add support for multiple uids in uid_in function (#5292) Apr 29, 2020
graphql [Breaking]: Vault Integration with Bulk, Live, Offline/Online restore… Jun 2, 2020
lex Fix warnings about switch statements with only one case. (#4657) Jan 24, 2020
licenses Make OSS builds (#2790) Nov 29, 2018
ocagent Remove absolute paths dependent on GOPATH from docker-compose files a… Oct 26, 2019
paper Fix URLs like... (#5510) May 28, 2020
posting Use pre-allocated protobufs during backups. (#5404) May 22, 2020
present Changing DGraph to Dgraph Jun 22, 2016
protos [Breaking]: Vault Integration with Bulk, Live, Offline/Online restore… Jun 2, 2020
query [BREAKING] Introduce new facets format (#5424) May 20, 2020
raftwal Remove redundant conversions between string and []byte. (#5478) May 20, 2020
schema Stream the full set of predicates and types during a snapshot. (#5444) May 15, 2020
static Add note and gif about loader performance. Dec 23, 2016
systest [Breaking]: Vault Integration with Bulk, Live, Offline/Online restore… Jun 2, 2020
task Fix deepsource warnings. (#5225) Apr 16, 2020
telemetry Fix SEGFAULT in telemetry.go (#4814) Feb 20, 2020
testutil [Breaking]: Vault Integration with Bulk, Live, Offline/Online restore… Jun 2, 2020
tlstest Migrate to dgo/v200.03.0 (#5077) Apr 2, 2020
tok [BREAKING] Language sorting on Indexed data. (#4316) Feb 13, 2020
types Migrate to dgo/v200.03.0 (#5077) Apr 2, 2020
upgrade Fix deepsource warnings. (#5225) Apr 16, 2020
wiki docs: Add helm upgrade steps. (#5420) Jun 2, 2020
worker Alpha: Gracefully shutdown ludicrous mode (#5561) Jun 3, 2020
x Fix URLs like... (#5510) May 28, 2020
xidmap Return immediately if compareandswap updates the maxUidSeen. (#5224) Apr 16, 2020
.codeclimate.yml See what code climate can do for Dgraph Jan 3, 2017
.deepsource.toml Create .deepsource.toml (#4106) Sep 30, 2019
.dockerignore Fixing `make image` to run on OSX (#5027) Mar 27, 2020
.gitignore Get most tests working on OSX (#5055) Mar 31, 2020
.golangci.yml Fix more golangci issues. (#3729) Jul 30, 2019
.travis.yml Bump Travis versions (#2683) Oct 20, 2018
CHANGELOG.md Update release dates in the CHANGELOG. (#5563) Jun 2, 2020
CODE_OF_CONDUCT.md Add Code of Conduct file. (#2779) Nov 26, 2018
CONTRIBUTING.md Fix URLs like... (#5510) May 28, 2020
LICENSE.md Update the year in the license file. Mar 5, 2019
Makefile Fixing `make image` to run on OSX (#5027) Mar 27, 2020
README.md Fix URLs like... (#5510) May 28, 2020
go.mod Update badger to commit e7b6e76f96e8 (#5537) May 28, 2020
go.sum Update badger to commit e7b6e76f96e8 (#5537) May 28, 2020
logo.png Update README with logo, and version. Nov 18, 2017
test.sh Fixing `make image` to run on OSX (#5027) Mar 27, 2020

README.md

Fast, Transactional, Distributed Graph Database.

Wiki Build Status Coverage Status Go Report Card

Dgraph is a horizontally scalable and distributed graph database, providing ACID transactions, consistent replication and linearizable reads. It's built from ground up to perform for a rich set of queries. Being a native graph database, it tightly controls how the data is arranged on disk to optimize for query performance and throughput, reducing disk seeks and network calls in a cluster.

Dgraph's goal is to provide Google production level scale and throughput, with low enough latency to be serving real time user queries, over terabytes of structured data. Dgraph supports GraphQL-like query syntax, and responds in JSON and Protocol Buffers over GRPC and HTTP.

Status

Dgraph is at version 1.1.x and is production ready. Apart from the vast open source community, it is being used in production at multiple Fortune 500 companies, and by Intuit Katlas and VMware Purser.

Quick Install

The quickest way to install Dgraph is to run this command on Linux or Mac.

curl https://get.dgraph.io -sSf | bash

Install with Docker

If you're using Docker, you can use the official Dgraph image.

docker pull dgraph/dgraph:latest

Install from Source

If you want to install from source, install Go 1.13+ or later and the following dependencies:

Ubuntu:

sudo apt-get update
sudo apt-get install gcc make

Then clone the Dgraph repository and use make install to install the Dgraph binary to $GOPATH/bin.

git clone https://github.com/dgraph-io/dgraph.git
cd ./dgraph
make install

Get Started

To get started with Dgraph, follow:

Is Dgraph the right choice for me?

  • Do you have more than 10 SQL tables, connected to each other via foreign keys?
  • Do you have sparse data, which doesn't elegantly fit into SQL tables?
  • Do you want a simple and flexible schema, which is readable and maintainable over time?
  • Do you care about speed and performance at scale?

If the answers to the above are YES, then Dgraph would be a great fit for your application. Dgraph provides NoSQL like scalability while providing SQL like transactions and ability to select, filter and aggregate data points. It combines that with distributed joins, traversals and graph operations, which makes it easy to build applications with it.

Dgraph compared to other graph DBs

Features Dgraph Neo4j Janus Graph
Architecture Sharded and Distributed Single server (+ replicas in enterprise) Layer on top of other distributed DBs
Replication Consistent None in community edition (only available in enterprise) Via underlying DB
Data movement for shard rebalancing Automatic Not applicable (all data lies on each server) Via underlying DB
Language GraphQL inspired Cypher, Gremlin Gremlin
Protocols Grpc / HTTP + JSON / RDF Bolt + Cypher Websocket / HTTP
Transactions Distributed ACID transactions Single server ACID transactions Not typically ACID
Full Text Search Native support Native support Via External Indexing System
Regular Expressions Native support Native support Via External Indexing System
Geo Search Native support External support only Via External Indexing System
License Apache 2.0 GPL v3 Apache 2.0

Users

Developers

Client Libraries

The Dgraph team maintain a number of officially supported client libraries. There are also libraries contributed by the community unofficial client libraries.

Contact

You can’t perform that action at this time.