NewSQL
1. 개요
NewSQL은 SQL을 인터페이스로 사용하면서 NoSQL 데이터베이스의 확장성과 관계형 모델의 ACID 일관성을 지원하는 데이터베이스 관리 시스템을 지칭하는 용어이다. 2011년 451 그룹의 분석가 매튜 애슬렛이 처음 사용했으며, H-Store가 초기 NewSQL 시스템 중 하나이다. NewSQL 시스템은 새로운 아키텍처, SQL 엔진, 투명한 샤딩의 세 가지 범주로 분류되며, 온라인 트랜잭션 처리(OLTP) 애플리케이션에 주로 사용되지만, 하이브리드 트랜잭션/분석 처리(HTAP) 애플리케이션도 지원한다.
| 유형 | 관계형 데이터베이스 관리 시스템 |
|---|
| 목표 | 기존 SQL 시스템의 ACID 보장 NoSQL 시스템의 확장성 OLTP 워크로드 지원 |
|---|---|
| 구분 | 순수한 NewSQL 시스템 하이브리드 NewSQL 시스템 투명 샤딩 NewSQL 시스템 |
| 순수한 NewSQL | VoltDB NuoDB MemSQL CockroachDB TiDB YugabyteDB 기타 |
|---|---|
| 하이브리드 NewSQL | Google Spanner H-Store |
| 투명 샤딩 NewSQL | ScaleDB 샤딩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.1. 새로운 아키텍처
NewSQL 데이터베이스 솔루션은 SQL을 주요 인터페이스로 사용하면서 NoSQL 데이터베이스의 온라인 확장성과 관계형 모델(ACID 일관성 포함)을 지원하는 두 가지 일반적인 특징을 가지고 있다.
NewSQL 시스템은 다양한 내부 아키텍처를 채택하고 있다. 일부 시스템은 각 노드가 데이터의 하위 집합을 관리하는 셰어 나싱 아키텍처 노드의 클러스터를 사용한다. 여기에는 분산 동시성 제어, 흐름 제어 및 분산 쿼리 처리와 같은 구성 요소가 포함된다.
4.2. SQL 엔진
NewSQL 데이터베이스 솔루션은 SQL을 주요 인터페이스로 사용하며, NoSQL 데이터베이스의 온라인 확장성과 관계형 모델(ACID 일관성 포함)을 지원하는 두 가지 일반적인 특징을 가진다.
NewSQL 시스템은 크게 세 가지 범주로 나눌 수 있는데, 그 중 하나는 SQL에 최적화된 저장 엔진이다. 이러한 시스템은 SQL과 동일한 프로그래밍 인터페이스를 제공하지만, 내장 엔진보다 더 뛰어난 확장성을 제공한다.
5. 애플리케이션
일반적인 애플리케이션은 많은 양의 OLTP 트랜잭션을 특징으로 한다. OLTP 트랜잭션은 다음과 같다.
* 짧은 기간 동안 실행된다(즉, 사용자 지연 없음).
* 트랜잭션당 소량의 데이터에 접근한다.
* 인덱스 조회 방식을 사용한다(테이블 스캔 없음).
* 소수의 폼(다양한 인수를 가진 소수의 쿼리)을 사용한다.
그러나 일부는 하이브리드 트랜잭션/분석 처리 애플리케이션을 지원한다. 이러한 시스템은 과도한 복구 또는 동시성 제어를 생략하여 성능과 확장성을 향상시킨다.
6. NewSQL 데이터베이스 목록
7. 관련 항목
* 트랜잭션 처리
* 파티션 (데이터베이스)
* 분산 관계형 데이터베이스 아키텍처
* 분산 SQL