뛰어난 분산 및 경량 관계형 DBMS 인 rqlite

Si 분산 DBMS를 찾고 있습니다. SQLite를 스토리지 엔진으로 사용하는 경우 rqlite는 당신을위한 것입니다, 서로 동기화 된 스토리지에서 클러스터 작업을 구성 할 수 있기 때문입니다.

rqlite 기능에서 간편한 설치, 구현 및 유지 관리가 강조됩니다. 분산 스토리지 etcd 및 Consul과 다소 유사한 내결함성, 그러나 키 / 값 형식 대신 관계형 데이터 모델을 사용합니다.

rqlite 정보

Raft 합의 알고리즘은 모든 노드를 동기화 상태로 유지하는 데 사용됩니다. Rqlite 원본 SQLite 라이브러리 및 go-sqlite3 드라이버 사용, 또한 클라이언트 요청을 처리하는 계층을 실행하고 다른 노드에서 자신을 복제하며 기본 노드 선택에 도달 한 합의를 모니터링합니다.

데이터베이스 변경은 리더로 선택된 노드에서만 가능합니다.그러나 쓰기 작업이있는 연결은 클러스터의 다른 노드로 전달 될 수 있으며, 이는 요청을 반복하기 위해 리더의 주소를 반환합니다 (다음 버전에서는 리더에게 호출의 자동 전달을 추가 할 것을 약속합니다).

주요 초점은 내결함성에 있습니다. 그래서 DBMS 읽기 작업에서만 확장, 쓰기 작업이 병목 현상입니다. 단일 노드에서 rqlite 클러스터를 실행할 수 있으며 이러한 솔루션을 사용하여 내결함성을 제공하지 않고 HTTP를 통해 SQLite에 대한 액세스를 제공 할 수 있습니다.

SQLite 데이터 각 노드에서는 파일에 저장되지 않고 메모리에 저장됩니다.. Raft 프로토콜을 구현하는 계층 수준에서는 데이터베이스 변경으로 이어지는 모든 SQLite 명령에 대한 기록이 유지됩니다.

이 레코드는 복제 (쿼리 재생 수준에서 다른 노드로 복제), 새 노드를 시작할 때 또는 연결 손실에서 복구하는 데 사용됩니다.

레코드의 크기를 줄이기 위해 자동 패키징이 사용됩니다.이 패키징은 지정된 수의 변경 후에 시작되고 새 레코드가 시작되는 스냅 샷 확인으로 이어집니다 (메모리의 데이터베이스 상태는 스냅 샷 + 누적 된 변경 로그).

rqlite 기능에서 :

  • 별도의 SQLite 설치가 필요없는 손쉬운 클러스터 배포.
  • 복제 된 SQL 스토리지를 빠르게 확보 할 수있는 기능.
  • 프로덕션 프로젝트에서 사용할 준비가되었습니다.
  • 일괄 모드에서 데이터를 업데이트하고 클러스터의 리더 노드를 결정할 수있는 HTTP (S) API의 가용성. 다양한 프로그래밍 언어에 대한 명령 줄 인터페이스 및 클라이언트 라이브러리도 제공됩니다.
  • 클러스터를 동적으로 생성 할 수있는 다른 노드를 정의하는 서비스가 있습니다.
  • 노드 간 데이터 교환 암호화 지원.
  • 읽을 때 데이터의 관련성과 일관성을 확인하는 수준을 사용자 정의하는 기능.
  • 합의 결정에 참여하지 않고 읽기 작업을위한 클러스터의 확장 성을 높이는 데 사용되는 읽기 전용 노드를 연결하는 선택적 기능입니다.
  • 단일 요청에서 명령 결합을 기반으로하는 트랜잭션의 네이티브 형식 지원 (BEGIN, COMMIT, ROLLBACK, SAVEPOINT 및 RELEASE 기반 트랜잭션은 지원되지 않음)

rqlite 6.0 정보

새로운 버전 클러스터 안정성 향상을 목표로하는 중요한 아키텍처 변경 사항 도입 읽기 및 쓰기 요청을 올바른 클러스터 노드로 보내는 프로세스를 개선합니다.

이제 Rqlite 노드 여러 논리적 연결을 다중화 할 수 있음 Raft 프로토콜에 의해 노드간에 설정된 TCP 연결을 사용하여 이들간에. 요청에 리더 노드의 권한이 필요하지만 보조 노드로 전송되면 보조 노드는 Raft 합의 계산을 수행하지 않고 리더의 주소를 결정하여 클라이언트에 전송할 수 있습니다.

또한이 변경 사항은 메타 데이터 동기화를위한 별도의 구성 요소를 제거하고 Raft의 상태 및 메타 데이터 처리를 개별적으로 제거했습니다.

보조 노드는 이제 리드 노드의 주소를 찾아야 할 때 필요한 경우에만 리드 노드로 요청을 보냅니다. API는 클러스터에있는 다른 노드의 상태에 대한 정보를 얻을 수있는 기능을 제공합니다. CLI에 Sysdump 명령이 추가되었습니다.

최종적으로 그것에 대해 더 많이 알고 싶다면 또는 설치 지침 및 사용자 설명서를 참조하십시오. 아래 링크에서.


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.