MatrixStore uses it’s own protocol to give access to the storage, which allows more operations than a normal File System protocol, e.g. search, metadata operations, etc.
MatrixStore performs load balancing in a transparent way, as part of the protocol. In every operation on the storage, MatrixStore API’s asks the storage which node(s) the operation should be performed on and then it performs the operation. If a node is no longer available, it’s never returned as a target for the operation. The status of the nodes is also controlled through the internal network.
MatrixStore has 2 profiles for load balancing:
- Based on performance: use the least loaded node.
- Based on data distribution: use the nodes with less used storage
MatrixStore also has a File System interface (MXFS) and Samba access but both use MatrixStore API underneath which includes load balancing.
Other products in the market use standard network protocols to access the storage which allows easy access but it limits the kind of operations to perform.
The way they perform load balancing depends on the type of protocol they use. A typical way to do it is DNS delegation.
In that case, the corporate DNS points to the DNS delegate which resolves names to ip’s according to policies. This requires modifications on the corporate DNS server which is not always easy.