RadondB는 무제한 확장 성 및 성능을위한 오픈 소스의 클라우드 네이티브 MySQL 데이터베이스입니다.
RadondB는 MySQL을 기반으로 한 클라우드 네이티브 데이터베이스이며, 완전 분산 클러스터로 구조되어 무제한 확장 성 (스케일 아웃), 용량 및 성능을 가능하게합니다. 데이터 일관성이 높은 분산 트랜잭션을 지원하고 신뢰할 수있는 데이터 신뢰성을 위해 MySQL을 스토리지 엔진으로 활용했습니다. RadondB는 MySQL 프로토콜과 호환되며 자동 테이블 샤딩 및 유지 보수 및 작동 워크 플로를 단순화하기위한 자동화 기능 배치와 호환됩니다.
설치, 배포 및 관리에 대한 지침은 문서를 참조하십시오.
RadondB는 MySQL을 기반으로 한 새로운 세대의 분산 관계형 데이터베이스 (MyNewSQL)입니다. 개발자가 사용하려는 오픈 소스 데이터베이스를 만들도록 설계되었습니다. 재무 고 가용성과 같은 기능이있는 대규모 대용량 데이터베이스 、 자동 평면 분할 테이블 、 확장 가능하고 강력한 일관성이있는이 가이드는 설명의 수단으로 라돈 프로세스의 내부 작업을 자세히 설명합니다.
SQL 구문 수준에서 Radondb는 MySQL과 완전히 호환됩니다. 모든 SQL 기능을 볼 수 있습니다.
SQL 노드가 프록시를 통해 MySQL 클라이언트로부터 SQL 요청을 수신 한 후, Radondb는 명령문을 구문 분석하고 쿼리 계획을 작성한 다음 계획을 실행합니다.
+---------------+
x---------->|node1_Executor |
+--------------------+ x +---------------+
| SQL Node | x
|--------------------| x
+-------------+ | sqlparser | x +---------------+
| query |+----------->| |--x---------->|node2_Executor |
+-------------+ | Distributed Plan | x +---------------+
| | x
+--------------------+ x
x +---------------+
x---------->|node3_Executor |
+---------------+
Parsing
수신 된 쿼리는 SQLPARSER (MySQL의 지원 구문을 설명) 및 생성 된 추상 구문 트리 (AST)에 의해 구문 분석됩니다.
Planning
AST를 사용하면 RadondB는 플래노드 트리를 생성하여 쿼리의 실행을 계획하기 시작합니다. 이 단계에는 유형 확인과 같은 것들이 포함 된 예상 AST 표현식에 대한 클라이언트의 SQL 문을 분석하는 단계도 포함됩니다.
A Query 계획이 EXPLAIN 사용하여 생성되는 것을 볼 수 있습니다 (이 단계에서는 분석 테이블 분포에만 EXPLAIN 만 사용합니다).
Excuting
분산 실행 계획과 병렬로 스토리지 계층에서 집행자를 실행합니다.
SQL 노드는 상태가 없지만 트랜잭션 Snapshot Isolation 보장하기 위해 현재 쓰기 다 점점 읽기 모드입니다.
Distributed transaction
Radondb는 분산 트랜잭션 기능을 제공합니다. 다른 스토리지 노드의 분산 실행자와 노드 중 하나가 실행되지 않으면 나머지 노드의 작동이 롤백되면 노드에서 작동의 원자력이 보장되고 데이터베이스를 일관된 상태로 만듭니다.
Isolation Levels
Radondb는 일관성 수준에서 Si (스냅 샷 분리)의 수준을 달성합니다. 분산 거래가 저지르지 않는 한, 또는 일부 파티션이 커밋 된 경우 운영은 다른 거래에 보이지 않습니다.
Transaction with SQL Layer
SQL 노드는 상태가 없지만 트랜잭션 Snapshot Isolation 보장하기 위해 현재 쓰기 다 점점 읽기 모드입니다.
통합 GitHub 문제 추적기는이 프로젝트에 사용됩니다.
RadondB는 GPLV3에 따라 방출됩니다. 라이센스를 참조하십시오