NewSQL

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

NewSQL은 SQL을 인터페이스로 사용하면서 NoSQL 데이터베이스의 확장성과 관계형 모델의 ACID 일관성을 지원하는 데이터베이스 관리 시스템을 지칭하는 용어이다. 2011년 451 그룹의 분석가 매튜 애슬렛이 처음 사용했으며, H-Store가 초기 NewSQL 시스템 중 하나이다. NewSQL 시스템은 새로운 아키텍처, SQL 엔진, 투명한 샤딩의 세 가지 범주로 분류되며, 온라인 트랜잭션 처리(OLTP) 애플리케이션에 주로 사용되지만, 하이브리드 트랜잭션/분석 처리(HTAP) 애플리케이션도 지원한다.

NewSQL
NewSQL
개요
유형관계형 데이터베이스 관리 시스템
특징
목표기존 SQL 시스템의 ACID 보장
NoSQL 시스템의 확장성
OLTP 워크로드 지원
구분순수한 NewSQL 시스템
하이브리드 NewSQL 시스템
투명 샤딩 NewSQL 시스템
구현체
순수한 NewSQLVoltDB
NuoDB
MemSQL
CockroachDB
TiDB
YugabyteDB
기타
하이브리드 NewSQLGoogle Spanner
H-Store
투명 샤딩 NewSQLScaleDB
샤딩Sphere
기타
📚 더 읽어볼만한 페이지
  • NewSQL - 토쿠DB
    토쿠DB는 프랙탈 트리 인덱스 기술로 데이터 처리 성능을 향상시킨 데이터베이스 엔진으로, 빅 데이터 환경에서 MySQL 성능 개선에 기여하며 네트워크 이벤트 관리, 온라인 광고 네트워크 등에 적용 가능하다.
  • NewSQL - 알티베이스
    알티베이스는 1999년 설립된 대한민국의 데이터베이스 관리 시스템 개발 및 공급 회사이며, 메모리 데이터베이스 연구를 기반으로 설립되어 하이브리드 DBMS를 개발하고 다양한 산업 분야에 솔루션을 제공한다.
  • 데이터 관리 - 데이터 센터
  • 데이터 관리 - 정보 아키텍처
    정보 아키텍처는 정보 시스템 및 정보 기술 분야에서 공유 정보 환경의 구조적 설계를 의미하며, 웹사이트, 소프트웨어 등의 구성과 레이블링을 포함하여 검색 용이성과 사용성을 지원하고, 도서관정보학에 기원을 두고 있다.
  • 데이터베이스 관리 시스템 - 트랜잭션 처리
    트랜잭션 처리는 데이터베이스 시스템에서 데이터의 일관성과 무결성을 보장하기 위한 기술이며, ACID 속성을 통해 데이터 정확성을 유지하고 롤백, 데드락 처리 등의 기술을 활용한다.
  • 데이터베이스 관리 시스템 - 저장 프로시저
    저장 프로시저는 데이터베이스 관리 시스템에서 SQL 문들을 미리 컴파일하여 저장하고, 모듈화, 보안성, 성능 향상, 유지보수 용이성과 같은 특징을 가지며, 데이터베이스 시스템마다 구현 방식과 지원하는 언어가 다를 수 있는 코드 묶음이다.

2. 역사

"NewSQL"이라는 용어는 2011년 451 그룹의 분석가 매튜 애슬렛이 차세대 데이터베이스 관리 시스템의 부상을 논의하는 연구 보고서에서 처음 사용했다. 최초의 NewSQL 시스템 중 하나는 H-Store병렬 데이터베이스 시스템이었다.

2.1. 용어의 기원

"NewSQL"이라는 용어는 2011년 451 그룹의 분석가 매튜 애슬렛(Matthew Aslett)이 차세대 데이터베이스 관리 시스템의 부상을 논의하는 연구 보고서에서 처음 사용했다. 최초의 NewSQL 시스템 중 하나는 H-Store병렬 데이터베이스 시스템이었다.

2.2. 초기 시스템

"NewSQL"이라는 용어는 2011년 451 그룹의 분석가 매튜 애슬렛이 차세대 데이터베이스 관리 시스템의 부상을 논의하는 연구 보고서에서 처음 사용했다. 최초의 NewSQL 시스템 중 하나는 H-Store 병렬 데이터베이스 시스템이었다.

3. 특징

NewSQL 데이터베이스 솔루션의 두 가지 일반적인 특징은 SQL을 주요 인터페이스로 사용하여 NoSQL 데이터베이스의 온라인 확장성과 관계형 모델(ACID 일관성 포함)을 지원한다는 점이다.

NewSQL 시스템은 크게 세 가지 범주로 나눌 수 있다.

4. 분류

NewSQL 시스템은 크게 세 가지 범주로 나눌 수 있다.

* 새로운 아키텍처
* SQL 엔진
* 투명한 샤딩

4.1. 새로운 아키텍처

NewSQL 데이터베이스 솔루션은 SQL을 주요 인터페이스로 사용하면서 NoSQL 데이터베이스의 온라인 확장성과 관계형 모델(ACID 일관성 포함)을 지원하는 두 가지 일반적인 특징을 가지고 있다.

NewSQL 시스템은 다양한 내부 아키텍처를 채택하고 있다. 일부 시스템은 각 노드가 데이터의 하위 집합을 관리하는 셰어 나싱 아키텍처 노드의 클러스터를 사용한다. 여기에는 분산 동시성 제어, 흐름 제어 및 분산 쿼리 처리와 같은 구성 요소가 포함된다.

4.2. SQL 엔진

NewSQL 데이터베이스 솔루션은 SQL을 주요 인터페이스로 사용하며, NoSQL 데이터베이스의 온라인 확장성과 관계형 모델(ACID 일관성 포함)을 지원하는 두 가지 일반적인 특징을 가진다.

NewSQL 시스템은 크게 세 가지 범주로 나눌 수 있는데, 그 중 하나는 SQL에 최적화된 저장 엔진이다. 이러한 시스템은 SQL과 동일한 프로그래밍 인터페이스를 제공하지만, 내장 엔진보다 더 뛰어난 확장성을 제공한다.

4.3. 투명한 샤딩

NewSQL 시스템은 Raft 또는 Paxos 합의 알고리즘을 사용하여 여러 노드에 데이터베이스를 자동으로 분할한다.

5. 애플리케이션

일반적인 애플리케이션은 많은 양의 OLTP 트랜잭션을 특징으로 한다. OLTP 트랜잭션은 다음과 같다.

* 짧은 기간 동안 실행된다(즉, 사용자 지연 없음).
* 트랜잭션당 소량의 데이터에 접근한다.
* 인덱스 조회 방식을 사용한다(테이블 스캔 없음).
* 소수의 폼(다양한 인수를 가진 소수의 쿼리)을 사용한다.

그러나 일부는 하이브리드 트랜잭션/분석 처리 애플리케이션을 지원한다. 이러한 시스템은 과도한 복구 또는 동시성 제어를 생략하여 성능과 확장성을 향상시킨다.

6. NewSQL 데이터베이스 목록

👆
좌우로 밀어서 보기
데이터베이스 이름설명
카우치베이스
구글 스패너
토쿠DB
아파치 트라포디온
클러스트릭스
콕로치DB
크레이트DB
MySQL 클러스터
누오DB
피보탈 젬파이어 XD
싱글스토어이전에는 멤SQL(MemSQL)로 알려졌다.
TIBCO 액티브 스페이스
티DB
트랜스래티스 탄력적 데이터베이스
볼트DB
유가바이트DB
세쿼이아DB
서리얼DB
아마존 오로라

7. 관련 항목

* 트랜잭션 처리
* 파티션 (데이터베이스)
* 분산 관계형 데이터베이스 아키텍처
* 분산 SQL