Skip to content

Instantly share code, notes, and snippets.

@hackintoshrao
Last active August 16, 2019 17:04
Show Gist options
  • Select an option

  • Save hackintoshrao/b93a3e857cf8f9ecafe88a5a0dc2c177 to your computer and use it in GitHub Desktop.

Select an option

Save hackintoshrao/b93a3e857cf8f9ecafe88a5a0dc2c177 to your computer and use it in GitHub Desktop.
progress so far with blog

Releasing Dgraph 1.1

Dgraph is a open source, transactional, distributed, native graph database. Ever since the internet explosion, the complexity, connectedness and the size of the data has been growing unprecedently. Dgraph is built as an effort to enable and simplify development of scalable cloud applications, even when the data is highly connected and complex.

The first production ready major release v1.0.0 happened in December 2017. Since then, the feedback from the community and customers has been the driving force guiding the product. Thanks to all of you!

Also, along the way we have hit few major milestones. Raising series A funding and Reaching 10K starts tops the list.

Now, Dgraph's major release, v1.1 is here. The new release is shipped with plethora of changes. In this blog, let's take a tour through the notable features and enhancements.

New Features

Let's start with the exciting features which are introduced in the release.

Both json and RDF support for live loader and bulk loader

SQL migration tool

Type system

Starting in version 1.1, Dgraph has support for a type system. Types allows grouping of nodes into sets. All nodes with same label belong to a set. Types describe the data.

The type system follow GraphQL syntax for defining the types. The fields in the types and thier indexes has to be first added to the schema.

type Student {
  name: string
  dob: datetime
  home_address: string
  year: int
}

The nodes could be later added, queries and filtered on based on their types. Here are the docs to know about type system in Dgraph.

Upsert block

Dgraph doesn't have the concept of primary key. If you want to gurantee uniqueness of value of a predicate (like email id of an user), upserts has to be used.

Previously to this release, upserts were a two step operation. First, find query to find whether the email id of user exists, then use mutation to create one.

Now with the new upsert block feature, the developer experience of the operations has enhanced.

Here are the docs to refer to upsert block.

Encryption

Caching

Performance benifits

Bug fixes

Breaking changes

  • The expand() function can be used to expand the predicates in a node. Starting with version 1.1, the keyword predicate has been deprecated. Instead, to properly use the expand() function, the use of the type system is required. Here is the link to docs to learn more about the expand() capabilities.

Enterprise features

Backups

Backups are part of Dgraph's enterprise package. They enable to take backup of Dgraph directly to cloud storage such as Amazon S3 or any Minio storage backend. These backups can be used to restore a new Dgraph cluster to the previous state from the backup. Here is the link

ACL's

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment