Multi-tenant support?

Hello,

I saw mentioned during the birthday video (https://www.youtube.com/watch?v=0aVCXXGNELo) that multi-tenant support would be coming.

We were wondering how far out that would be, and if there’s a way to get early access to builds for it when available?

Our team is working on a project using EventStore (https://github.com/openAgile/CommitStream.Web) and we are starting to add in our own form of multi-tenancy.

Thanks!

Josh

What form of multi-tenancy do you need (e.g. isolation levels)

We’d like to be able to host multiple customers within a single EventStore installation, ideally – but with the ability to easily relocate customer data to dedicated instances if-and-when that becomes necessary for larger customers.

Our approach so far will be to create a tenants stream that we or our main app will POST to with a uuid and name, and description to represent a distinct tenant.

We will then create streams like eventName-

And use projections via fromCategory and foreachStream with partition to query for certain “states”.

One thing we wanted to do is ensure that a name is unique so we had this:

What form of multi-tenancy do you need (e.g. isolation levels)

Sorry for necro posting, but I’ve recently come to this product and had the same question/issue.

For us, operations wants each tennant to have their own database. This is simple in SQL Server, since the DB is specified in the connection string. It would be nice to be able to have one instance (cluster?) be able to serve multiple data bases. Currently it looks like since you specify the db (path) when you start the instance I would have to have a different instance per tenant. (Perhaps that’s doable using containers, but I’m not sure what the operations overhead of that would be).

Certainly we could include a Tenant id in each aggregate id and create per-tennant projections, but once again operations wants physical data separation.

Thanks for any updates on this issue.