[ 
https://issues.apache.org/jira/browse/ATLAS-872?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15319173#comment-15319173
 ] 

CASSIO DOS SANTOS commented on ATLAS-872:
-----------------------------------------

We have implemented multi-tenancy on top of Atlas but, if nothing else, it's 
not efficient, and as we need to implement a different design where we store a 
separate graph per tenant.


I've discussed a "non-disruptive" design for this with Neeru which would be 
based on the use of a ThreadLocal variable which could be set by intercepting 
calls to the Atlas API (from a configured servlet filter, maybe) to get the 
tenant ID passed by the calling application in the HTTP request header and 
checking for that variable and applying it accordingly when submitting requests 
to the underlying graph storage layer (via the new AAG layer or direct access 
to Titan or HBase, etc). This may also involve changes to the type cache 
provider, depending on how it loads data from the storage.

If anyone thinks this approach may not work or turn out to be problematic to 
implement for some reason, or have other ideas or need more details, please 
share your thoughts here.

> Add Multitenancy support to Atlas
> ---------------------------------
>
>                 Key: ATLAS-872
>                 URL: https://issues.apache.org/jira/browse/ATLAS-872
>             Project: Atlas
>          Issue Type: New Feature
>    Affects Versions: 0.7-incubating
>            Reporter: Neeru Gupta
>            Assignee: Neeru Gupta
>             Fix For: trunk
>
>
> Atlas currently does not support multi tenancy.  As part of this feature, 
> will add support to honor requests coming from multiple tenants. Individual 
> Tenant data should remain isolated from one another. 
> All the unique constraints should be applied per tenant and not globally. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to