ROMA란?

ROMA란?



ROMA(Ruby/Rakuten On-Memory Architecture)란, RIT(라쿠텐 기술 연구소)가 마츠모토 유키히로씨(matz)와 공동 개발한 Ruby제 분산형 KVS(NOSQL)이며, 현재는 OSS로서 공개되고 있다 있다.
htps : // 기주 b. 코 m / 로마 / 로마


특징



Pure P2P architecture


  • 통신 방식으로 Pure P2P를 채용하고 있으며, 소위 master/slave로 나뉘지 않기 때문에 내 장해성이 뛰어나다
  • 액세스가 집중할 때와 같이 언제든지 스케일 아웃하기 쉽다.


  • consistent Hashing and Virtual Nodes


  • 일관성 해시 방법과 가상 노드를 사용하여 데이터 분산을 수행합니다.


  • 데이터 복제


  • 중복성은 일반적으로 2이며 선택적으로 변경할 수 있습니다
  • 여러 서버로 구성되고 하나의 서버에 여러 노드가 시작될 때 다른 서버로의 데이터 할당이 우선합니다.
  • 클러스터의 서버가 하나 떨어진 경우에도 데이터를 읽고 쓸 수 있습니다.

    자동 복구 시스템


  • 장애시에 살아남은 서버군에서 데이터의 재복제를 자동으로 실시해 중복성을 유지하는 기능을 가진다.


  • cluster replication system(hot standby)


  • 위의 recovering system과는 별도로 cluster의 replication을 준비해 hot stanby 상태로 대기시켜 둘 수가 있다
  • 장애시 API의 액세스 대상을 전환하는 것만으로 복구가 가능하게 된다


  • 플러그인 아키텍처


  • 커멘드나 각종 기능을 plugin화하는 것으로 본체의 코어의 처리와 나누고 있기 때문에, 만일 필요없는 기능이 있으면 제외하거나, 원하는 기능이 있으면 Ruby의 소스를 조금 써 플러그인으로서 읽어들일 것 쉽게 기능을 추가 할 수 있습니다

  • memcached compatible protocol


  • 배포 및 마이그레이션 비용을 줄이기 위해 memcached 프로토콜과 호환됩니다

  • multi storage



    storage를 요구 사항에 맞게 선택할 수 있습니다.
    실제 파일에 저장하거나 memcached처럼 메모리만 선택할 수 있습니다.


    데이터 유형



    ROMA는 분류적으로 P2P형 KVS가 됩니다.

     
    마스터형
    P2P형
    인에이블러형

    온메모리 타입
    온디스크 유형

    KVS형
    히바리
    DynamoVoldemortRiakROMA

    MemcashedRedisScalaris 
    TokyoCabinet/Tyrant 

    컬럼형
    BigtableHBaseHyperTable
    카산드라
     
     

    그래프형
    Neo4j
    InfiniteGraph
     
     

    문서 유형
    MongoDBCouchDB 
     
     
     

    기타 관련 도구



    main의 Unit과는 별도로 각종 클라이언트나 GUI tool을 가지는


    관련 URL



    HP : htp://로마-kvs. rg/
    Github : htps : // 기주 b. 코m/로마

    좋은 웹페이지 즐겨찾기