I am new to Couchbase. My query is do we need all nodes(whether it is data , index or query) of similar configuration (same RAM and Memory) in a cluster and if so then what is the use of heterogeneous distribution of nodes type since I need same specifications for all nodes for eg. If I want to add a high RAM node to the cluster I need to make each and every node of high RAM else I will not be able to use that RAM space.
Thanks for choosing Couchbase !
Starting in Couchbase Server 4.0, we introduced MDS (Multi dimensional Scaling), which isolates your workload based on your hardware configurations. So in this deployment model, you don’t need to have high end machines across the cluster.
For more information, please take a look here:
If you are interested in sizing guidelines for different services, please see here:
To your specific question about memory, there is not (currently) any weighting for distribution across nodes, so for core data storage it is expected that all nodes have the same memory and disk space. That simplifies deployment as well.
With query and 2i, there are more options, but in effect you need to then carefully manage/monitor resource usage.