Reference for ROMA
Welcome to ROMA docs page. These pages contain the ROMA reference for ROMA each Versions.
ROMA is one of the data storing systems for distributed key-value stores. It is a completely
decentralized distributed system that consists of multiple processes, called nodes,
on several machines. It is based on pure P2P architecture like a distributed hash table,
thus it provides high availability and scalability. ROMA is written in Ruby.
- There is no single point of failure in ROMA.
- The data stored in ROMA is replicated automatically. The number of replicas is configured by the users.
- ROMA automatically detects disable nodes (process) and then separates the node from the ROMA ring.
- New nodes can be joined to ROMA dynamically.
- The procedure to join to ROMA is just launching new ROMA nodes (processes).
- Joining new nodes to ROMA results in linearly-increasing its storage size and though put
- ROMA employs memcached text-based communication protocol.
- This means any memcached client libraries and telnet client are able to interact with ROMA
- ROMA has plug-in architecture to be extended its function.
- It is possible to extend ROMA without changing its source code by preparing plug-ins