본 문서에서는 분산데이터베이스 시스템에서의 트랜잭션 구현체의 리스트에 대해 정리한다.
프로젝트 리스트
아래 표에는 분산데이터베이스 시스템에서의 트랜잭션 구현 프로젝트를 출현 시키 순서대로 정렬하여 정리한 것이다.
| Name | Year | Isolation | Description |
|---|---|---|---|
| Themis | 2014 | Snapshot | Xaomi에서 만들었으며, HBase의 Coprocessor를 이용하여 Percolator를 알고리즘을 HBase에 구현함. |
| Haeinsa | 2013 | Serializable | VCNC에서 만들었으며, HBase상에서 트랜잭션을 제공하는 클라이언트 라이브러리. 특정 유형의 트랜잭션의 경우 HBase 연산보다 좋은 성능을 낼 수 있음. |
| Spanner | 2012 | Serializable | 구글에서 만든 데이터센터간 트랜잭션 구현. 간단한 관계형 모델과 단순한 SQL 질의 제공. |
| HAcid | 2012 | Snapshot | HBase상에서 트랜잭션을 제공하는 클라이언트. 설계상 성능 확장성이 없는 문제가 있음. |
| Troups | 2012 | Serializable | HBase의 리전서버 내에서 트랜잭션의 상태를 저장하는 Transaction Manager를 만들어서 트랜잭션을 제공함. |
| Megastore | 2011 | Serializable | 구글에서 만든 데이터센터간 트랜잭션 구현. BigTable위에 구현되어 있으며 다양한 곳에 적용되어 사용되고 있음. |
| Omid (ReTSO) | 2011 | Snapshot | Yahoo에서 만든 트랜젝션 라이브러리. 트랜잭션 상태를 관리하는 독립적인 모듈을 Bookkeeper를 이용하여 구현함. |
| HBaseSI | 2011 | Snapshot | HBase에서 큐 매커니즘을 이용하여 트랜잭션을 구현한 클라이언트 라이브러리. 설계상 성능 확장성이 없는 문제가 있음. |
| Percolator | 2010 | Snapshot | 구글에서 만든 BigTable상에서 트랜잭션을 구현한 클라이언트. 검색 인덱스의 점진적인 업데이트를 위해 만들었다고 함. |
| G-Store | 2010 | Serializable | 그룹 프로토콜을 통해 변경사항이 겹치는 트랜잭션을 동일한 서버에서 관리하도록 동적으로 할당하여 트랜잭션을 구현함. |
| CloudTPS | 2010 | Serializable | Local Transaction Manager로 이루어진 중간 레이어를 통해 트랜잭션을 제공. |
| HBase-trx | 2010 | Snapshot | HBase의 리전서버가 각각 자신의 리전에 대한 트랜잭션 상태를 관리하는 방식으로 트랜잭션을 구현. 구현에 문제가 있어 제대로 동작하지 않는다고 함. |
| HBaseSI (Initial) | 2010 | Snapshot | HBaseSI의 초기 구현으로, 논문으로 발표되었지만, 알고리즘에 문제가 있어서 제대로된 트랜잭션 구현이라고 볼 수 없음. |
| Dungbee | 2010 | Snapshot | Percolator를 HBase상에서 구현하는 프로젝트. 완성하지는 못하고 개발 중의 소스코드가 있으며 현재 관리되고 있지 않음. |
| ElasTras | 2009 | Serializable | Transaction Manager 등의 모듈을 이용하여 트랜잭션 구현. 완벽한 Transaction Semantics 제공은 안된다고 함. |
바깥 고리
- Themis GitHub Repository: Themis에 대한 구현체
- Haeinsa GitHub Repository: 해인사를 호스팅하고 있는 GitHub 리포지터리
- Spanner: Google’s Globally-Distributed Database: Spanner에 대해 소개된 구글 리서치 페이지
- HAcid Bitbucket Repository: HAcid를 호스팅하고 있는 Bitbucket 리포지터리
- Troups: Scalable Transactions for BigTable datastores: Troups에 대해 설명되어 있는 페이퍼
- Megastore: Providing Scalable, Highly Available Storage for Interactive Services: Megastore에 대해 소개된 구글 리서치 페이지
- Omid GitHub Repository: Omid를 호스팅하고 있는 GitHub 리포지터리
- Large-scale Incremental Processing Using Distributed Transactions and Notifications : Percolator에 대해 소개된 구글 리서치 페이지
- G-Store: A Scalable Data Store for Transactional Multi key Access in the Cloud: G-Store에 대해 설명한 페이퍼
- CloudTPS: Scalable Transactions for Web Applications in the Cloud: CloudTPS에 대해 소개된 웹사이트
- HBase-trx GitHub Repository: HBase-trx를 호스팅하고 있는 GitHub 리포지터리
- Dungbee: a Google Percolator implementation based on HBase: Dungbee를 호스팅하고 있는 구글 코드 사이트
- ElasTraS: An Elastic Transactional Data Store in the Cloud: ElasTraS에 대해 설명하는 페이퍼