My favorites | Sign in
Project Home Downloads Wiki Issues
Search
for
Introduction  
Introduction
English
Updated Oct 23, 2009 by umekoum...@gmail.com

Index > Introduction

Introduction

ROMA is one of the data storing system 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. However, following choices are available to access to ROMA.

  • Client libraries of Ruby and Java are available.
  • ROMA protocol is compatible with memcached text-based one so that, any memcached client libraries allows users to interact with ROMA.

Key Features

  • Fault-Toralance
    • 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.
  • High Scalability
    • New nodes can be joined to ROMA dynamically.
    • The procedure to join to ROMA is just lunching new ROMA nodes (processes).
    • Joining new nodes to ROMA results in linearly-increasing its storage size and though put
  • Memcached Protocol
    • ROMA employs memcached text-based communication protocol.
    • This means any memcached client libraries and telnet client are able to interact with ROMA
  • Plug-in Architecture
    • 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

Sign in to add a comment
Powered by Google Project Hosting