The following post is a run down of each of the Enterprise features of Dgraph and the open-source alternative for those. This is a living document and will be updated often as new features and releases roll in which may change the applicability of this post.
Backup / Restore
Backup/Restore is an enterprise feature that allows backing up your data and subsequently restoring it. The data is backed up in a binary format that is Dgraph specific and allows quicker restores. Backups can be full or incremental.
The open source alternative to this is the export features. Data can be exported in the
json format. While it is slower than backup/restore, the exported data is in the standard format which allows data to be imported elsewhere as well. The bulk loader or live loader may then be used to import that data back into a cluster.
Encryption at Rest
Encryption at Rest encrypts the data on disk. The encryption key is provided as an input to the Alpha process. This key is used to AES encrypt the DB data, specifically the
p and the
w directories. When this feature is enabled, exports and backups are also encrypted with the same key.
In open source, our recommendation is to use any 3rd party encryption software, particularly encrypted file systems available on Linux and other platforms. See Selective Encryption / FileSystem Encryption to encrypt a subset of the file system. Another option is Full Disk Encryption. Note that the
w directory must be decrypted prior to starting the cluster for it to be usable by Dgraph.
Access Control Lists (ACL)
ACL allows adding users/groups to the Dgraph database, authentication with passwords and fine grained access control permissions at the predicate level.
For open source users, the DB does not have any users and no login is required. A very crude alternative, A Poor Man’s ACL, is to use the
--auth_token option while starting the Alpha. It protects the DB with a token from any Alter operations that change the schema.
- While these are open source alternatives, they are never considered a full replacement of the Enterprise features.
- New installations of Dgraph clusters have all the Enterprise features enabled for a 30 day period using a trial license. Beyond that, an Enterprise license must be requested and requires an enterprise contract from https://dgraph.io/enterprise.