apache / pinot

Apache Pinot - A realtime distributed OLAP datastore
https://pinot.apache.org/
Apache License 2.0
5.39k stars 1.26k forks source link

Improve multitenancy documentation #3873

Open VicoWu opened 5 years ago

VicoWu commented 5 years ago

I read the document https://github.com/apache/incubator-pinot/wiki/Multitenancy about the multi-tenancy of pinot and get quite confused because most content of this document is saying that the 2.0 pinot support multi-tenancy compared with the 1.0 pinot which always composed of multi clusters and the multi-tenancy feature reduced a lot of maintenance work. But I didn't get any information about how does the multi-tenancy achieved. So, it will be quite appreciated if we could get any knowledge(even very high-level) about how is the multi-tenancy achieved.

sunithabeeram commented 5 years ago

@VicoWu we are looking to improve this documentation in the coming weeks as we move most of the docs under the documentation section of https://pinot.apache.org/. Stay tuned.

You are right that the wiki link you pointed to provides info on the high level operation aspects. Couple of aspects of Multitenancy that you might be interested in:

  1. Managing the multi-tenant cluster: i.e., from the controller point of view. For more info on this you can review code in PinotTenantRestletResource.java and PinotHelixResourceManager.java as to how the mappings are managed etc.
    1. Serving multiple tables on servers: this deals with more of the runtime isolation aspects of Multi-tenancy. We currently have CPU isolation between tables - review code in PriorityScheduler.java

Hope this helps. Feel free to reach out if you have more specific questions.