볼트DB
VoltDB| 개발자 | 볼트DB Inc. |
|---|---|
| 초기 릴리즈 | 2010년 5월 25일 ( |
| 안정적 해제 | 10.1 / 2020년 10월 30일; 전 |
| 리포지토리 | |
| 기록 위치 | 자바, C++ |
| 운영 체제 | Linux, macOS |
| 플랫폼 | 자바 |
| 유형 | RDBMS |
| 면허증 | GNU Affero General Public License v3, VoltDB 독점 라이선스 |
| 웹사이트 | voltdb |
볼트DB는 마이클 스톤브레이커, 샘 매든, 다니엘 아바디가 설계한 인메모리 데이터베이스다.
공유 무(無) 공유 아키텍처를 사용하는 AIDE 호환 RDBMS로, OLTP 시스템 성능[1] 및 최적화에 관한 스톤브레이커의 작업에서 유래한다.[2]
그것은 엔터프라이즈 에디션과 커뮤니티 에디션 모두에서 이용할 수 있다.커뮤니티 에디션은 GNU 아페로 일반 공중 라이선스 하에 라이선스된다.
건축
VoltDB는 사전 컴파일된 Java 저장 프로시저 내에서 SQL 액세스를 지원하는 NewSQL OLTP[3] 관계형 데이터베이스다.
직접 SQL 액세스가 지원되지만,[4] 가장 효율적인 상호작용 형태는 저장 프로시저 호출을 사용하는 것인데,[5] 이는 네트워크 트립이 적기 때문이다.저장 프로시저는 VoltProcedure라는 클래스를 확장하고 SQL 문과 Java 논리를 모두 포함하는 'run()' 방법을 구현하여 자바어로 작성된다.내부 데이터는 C++ 코어에 의해 관리되어 가비지 수집 문제를 방지한다.[6]
VoltDB는 개별 하드웨어 스레드로 수평 파티셔닝하여 확장하고, k-safety(동기식 복제)를 통해 고가용성을 제공하며, 내구성(충돌 복구)을 위해 연속 스냅샷과 명령 로깅의 조합에 의존한다.
VoltDB는 H-Store를 기반으로 한다.확장하기 위해 공유 없음 아키텍처를 사용한다.데이터 및 이와 관련된 프로세싱은 단일 VoltDB 클러스터를 구성하는 서버 내의 CPU 코어에 분산된다.공유 없음 기반을 코어당 수준으로 확장함으로써 VoltDB는 멀티 코어 서버에서 CPU당 코어 수가 증가함에 따라 확장된다.
저장 프로시저를 트랜잭션의 단위로 만들고 필요한 데이터를 포함하는 파티션에서 실행함으로써 SQL 문 사이의 라운드 트립 메시징을 없앨 수 있다.저장 프로시저는 LMAX 아키텍처와 유사하게 잠금이나 걸쇠 없이 단일 스레드에서 연속적으로 실행되어 완성된다.[7]데이터가 메모리에 있고 파티션의 로컬이기 때문에 저장 프로시저가 마이크로초 단위로 실행될 수 있다.VoltDB의 저장 프로시저 개시 체계는 모든 노드가 저장 프로시저를 개시하는 동시에 단일 직렬화 가능한 글로벌 순서를 피할 수 있도록 한다.[8]
VoltDB는 산성을 준수함.데이터는 내구성이 뛰어난 스토리지에 기록된다.연속 스냅샷, 스냅샷 간 트랜잭션 로그를 모두 생성하는 비동기 명령 로깅, 트랜잭션 완료 후와 데이터베이스에 커밋되기 전에 트랜잭션을 기록하는 동기 명령 로깅 등이 내구성을 보장한다.이를 통해 기록되지 않은 트랜잭션이 커밋되지 않고 손실되는 트랜잭션이 없도록 한다.
역사
VoltDB v5.0은 데이터베이스 모니터링 및 관리 도구인 VoltDB Management Center(단축용 VMC)를 도입했다.VMC는 현재 서버의 CPU 및 메모리 사용량뿐만 아니라 클러스터 처리량 및 지연 시간에 대한 그래프를 포함하여 VoltDB 데이터베이스에 대한 브라우저 기반 모니터링 및 구성 관리 기능을 제공한다.
2015년 3월 출시된 VoltDB 버전 5.1은 단일 장애 지점을 제거하면서 데이터베이스 복제(DR) 기능을 도입했다.DR은 다중 파티션과 트랜잭션 결과의 이진 로그를 동시에 병렬로 복제하여 복제본이 트랜잭션을 재생할 필요가 없도록 한다.
참고 항목
참조
- ^ "OLTP Through the Looking Glass, and What We Found There" (PDF). nms.csail.mit.edu.
- ^ "The End of an Architectural Era (It's Time for a Complete Rewrite)" (PDF). nms.csail.mit.edu.
- ^ "High Performance RDBMS for Fast Data Applications Requiring Smart Streaming with Transactions" (PDF). voltdb.com.
- ^ "JDBC Interface". voltdb.com.
- ^ "Designing Stored Procedures to Access the Database". voltdb.com.
- ^ "Debunking Myths About the VoltDB In-Memory Database - DZone Java". dzone.com. Retrieved 2020-11-13.
- ^ "The LMAX Architecture". martinfowler.com. Retrieved 2019-04-07.
- ^ "DB Developer Central". VoltDB. Retrieved 2019-04-07.
외부 링크
- 공식 웹사이트

- 오픈 허브의 볼트DB
- Curt Monash (25 May 2010). "VoltDB finally launches". DBMS 2. Retrieved 2011-07-09.
- "VoltDB Announces Version 5.0". VoltDB, Inc. 28 January 2015. Retrieved 2015-03-29.
- "Michael Stonebraker, VoltDB Co-Founder and Real-time Data Pioneer, Wins ACM 2014 A.M. Turing Award". VoltDB, Inc. 26 March 2015. Retrieved 2015-03-29.
- "VoltDB Aims for Fast Big Data Development". ADTmag. 29 January 2015. Retrieved 2015-03-29.