Just came here to share my thoughts on this matter.
I agree with most of the above, than other OSS databases come with multi-namespace/schema support out of the box and that this is something which DGraph IMHO should support too.
Some others have also mentioned, and I would agree with this point, that ACLs is an acceptable feature to maintain as enterprise-only. I would prefer it not be, but I understand why you would want to make it so.
From my use-case perspective, we have data which is owned by different accounts, and when querying DGraph we only want to return the data owned by them. Our users don’t get raw access to the DGraph instances, they go through our application services which apply authentication/authorisation rules, as well as handling other non-graph data. As such we don’t require ACLs, just a way to only query data belonging to that user. Our current approach is to add a predicate to every node with their account ID, however this is starting to slow down our queries when we have 1M+ nodes, even if the account only has a few hundred themselves.
We’re about to start a new project and would have preferred to use DGraph. We’ve been putting off the project in priority to wait for multi-tenancy to come, but now we’re most likely going to go down a different approach.
We’re still a startup, <20 staff including a few developers, so the opportunity for enterprise licenses is a possibility for the future, but not now. The only way smaller companies are ever going to invest in an enterprise license is if they can use it in anger for 12-18 months and have success using it; this issue is preventing our company from doing so.