Does CLDB stores only name container location ? If its storing data container location as well, what is the content of the name container?
Each volume has one name container and multiple data containers. The name container stores the volume's namespace information, file chunk locations, and the first 64 Kbytes of each file in the volume. The data containers hold the actual file chunks.
The CLDB is a management service that maintains the location of the containers.
Thanks for your explanation. I have the below follow up question on your answer.
When the name container already stores the file chunk locations, what is the necessity for the CLDB to store the data container location?
The CLDB also has some other functions. For example, it creates containers as new ones are needed. It also manages replication chains. When data is written to the cluster, it's written into a data container. The first container it writes to is referred to as the "master" container. Data in that container is replicated to one or more "intermediate" containers, and finally a "tail" container. That replication chain is always the same (any chunks written to the same master container will replicate to the same intermediate and tail containers). The CLDB knows where all the data containers are, and which other data containers are part of the replication chain.
The CLDB doesn't keep track where all the data blocks are (that's stored in the name containers), but it manages the container IDs, and knows which nodes the containers are stored on.
CLDB manages the location of all containers in the cluster, whereas name container manage chunks stored in the data container with in that volume. In other word, each volume has one name container and multiple data containers, name container track all data containers in that volume.
Retrieving data ...