본문 바로가기
SingleStoreDB

SingleStore DB 7.5

by 에이플랫폼 [Team SingleStore Korea] 2021. 9. 6.

오늘날의 데이터 집약적인 응용프로그램에는 데이터 관리에 대한 완전히 새로운 접근 방식이 필요합니다. 이 응용프로그램은 사용자 요구사항 및 기대치를 충족 시키는 데 필수적인 4가지 품질인 초고속 수집, 짧은 대기 시간, 높은 동시성, 빠른 분석을 요구합니다. 또한, 그 대상이 실시간 스트리밍 데이터일 때가 많습니다.


7.5 출시와 함께 SingleStore는 스토리지와 컴퓨팅의 분리, 기록 시스템(SoR; System of Record)을 단일 플랫폼으로 통합한 최초이자 유일한 데이터베이스가 되었습니다. 이러한 기능은 Universal Storage 기술과 결합되어 동일한 하이브리드 멀티 클라우드 플랫폼에서 트랜잭션 및 분석 워크로드를 모두 지원합니다. 현재 사용중인 데이터베이스에게는 꿈 같은 속도로 처리합니다.

장애 발생 시 복원력

하드웨어 오류, 응용 프로그램 버그, 인적 오류(human error; 부주의) 또는 자연 행위(act of nature; 자연재해)로 인해 장애는 발생할 수 있습니다. 하지만, 어떤 상황이 발생하더라도 데이터가 안전하게 보호되기를 원합니다. SingleStore는 항상 데이터를 백업할 수 있는 기능을 제공해 왔습니다. 그러나 마지막으로 백업을 수행한 시점으로만 복원할 수 있었습니다. 7.5에서는 PITR(Point-in-time-Recovery; 특정 시점 복구)을 도입했습니다. PITR을 통해 사용자는 마이크로초까지 정확한 복원 시점을 선택할 수 있습니다. PITR은 스토리지와 컴퓨팅의 분리를 기반으로 구축되었습니다(아래 설명 참조).

 

PITR을 사용하면 모든 데이터가 오브젝트 스토리지로 지속적으로 자동 전송됩니다. 따라서 별도의 노력 없이 지속적인 백업이 가능합니다. SingleStore 7.5는 클라우드 배포를 위해 AWS S3를 사용하고 자체 호스팅 배포를 위해 Ceph(S3 호환 오브젝트 저장소)를 사용하는 영구 스토리지를 지원합니다. 올해 후반에는 퍼블릭 클라우드 오브젝트 스토리지 지원이 더 늘어날 예정입니다. 고객은 이제 특정 시점으로 시간을 되돌리고 사용자 오류나 오류로 인해 손실된 모든 데이터를 복원할 수 있는 편안함으로 SingleStore 데이터베이스를 운영할 수 있습니다.

 

또, 많은 고객에게 있어서 온라인 상태를 유지하는 것도 중요한 기능입니다. SingleStore 7.5에서는 백업 조작이 Lock Free방식으로 되어있어 응용프로그램에 영향을 주지 않습니다. 또한 백업 및 재조정 작업에 진행률 리포팅 기능이 추가되어 클러스터 관리자에게 가시성을 제공합니다.

Universal Storage: 모든 워크로드를 위한 하나의 DB

SingleStore Universql Storage는 분석 및 트랜잭션 워크로드를 지원할 수 있는 단일 유형의 테이블입니다. 수십 년 동안 많은 사람들은 분석 워크로드와 트랜잭션 워크로드를 위한 특수 데이터베이스와 기술이 필요하다고 생각했습니다. SingleStore는 그것이 틀렸음을 증명했습니다.

SingleStore 7.5는 다중 컬럼 키를 지원하고, Columnstore를 기본 테이블 유형으로 만드는 Universal Storage 기술의 네 번째 버전입니다. 개발자는 더 이상 스키마를 설계할 때 어려운 설계 절충안을 만들 필요없이 단순히 "CREATE TABLE"을 사용하면 되어, 응용프로그램 구축에 집중할 수 있습니다.

SingleStore 7.5에는 다음과 같은 주요 기능이 추가되었습니다.

  • 다중 컬럼 해시 인덱스와 다중 컬럼 고유 제약 조건 지원 (7.3에서는 단일 컬럼에만 적용) 
  • INSERT ON DUP KEY UPDATE+IGNORE에 대한 다중 컬럼 키 지원 추가

스토리지와 컴퓨팅의 분리

 

SingleStore는 스토리지와 컴퓨팅을 분리하여, 사용자가 스토리지 요구를 완전히 독립적으로 관리하면서 모든 워크로드의 요구사항을 충족하기 위해 컴퓨팅을 쉽게 확장할 수 있습니다. 많은 데이터 웨어하우스가 스토리지와 컴퓨팅을 분리했지만, 이 때문에 성능과 쿼리 대기 시간이 저하되었습니다. 이런 데이터 웨어하우스와 달리 SingleStore는 트랜잭션 및 분석 워크로드를 모두 실행할 수 있으며, 고유한 아키텍처로 스토리지와 컴퓨팅을 분리하여 대기 시간을 늘리거나, 거의 무제한에 가까운 양의 데이터를 저장할 수 있습니다.

 

데이터를 오브젝트 스토리지에 수집한 다음 클러스터로 가져오는 다른 기술과 달리, SingleStore는 데이터를 클러스터에 직접 수집하므로 데이터에 즉시 액세스할 수 있습니다. 따라서 모든 작업에서 짧은 대기 시간이 필요한 트랜잭션 워크로드에 SingleStore를 사용할 수 있습니다. 이를 통해 SingleStore 사용자는 최고의 탄력성과 확장성을 경험할 수 있으며 동시에 최신 응용프로그램과 복잡한 분석 워크로드를 최고의 성능과 짧은 대기 시간으로 계속 실행할 수 있습니다.

사용성 및 성능

이모지(Emoji): UTF8 4바이트 문자(utf8mb4)에 대한 새로운 지원을 통해 광범위한 데이터를 데이터베이스에 쉽게 저장할 수 있습니다. 이 기능은 개발자 커뮤니티에서 가장 많이 요청되었던 기능으로 이모지를 텍스트 필드의 일부로 쉽게 저장할 수 있도록 하는 것이었습니다. 이제 utf8mb4로 확장 아시아 캐릭터셋을 완벽하게 지원할 수 있습니다.

임시 스토어드 프로시저: SingleStore는 이제 데이터베이스에 연결하고 쿼리를 실행할 수 있는 모든 사용자가 만들 수 있는 임시 스토어드 프로시저를 지원합니다. SQL과 혼합된 절차있는 로직을 스크립팅하는 데 매우 유용하며, 세션이 종료되면 사라집니다.

JSON 함수: JSON 객체를 쉽게 구축할 수 있도록 JSON_BUILD_OBJECT, JSON_PRETTY 함수가 추가되었습니다.

인터프리터 속도 향상: SingleStore는 SQL 쿼리를 "적시(just in time)"에 컴파일할 수 있는 기능이 독특합니다. 기본적으로 쿼리 인터프리팅을 시작하고 쿼리 연산자를 백그라운드에서 기계어로 컴파일한 다음 즉시 컴파일된 코드로 변환합니다. 이제 7.5에서는 interpreter_mode변수를 COMPILE_LITE로 설정하면, 인터프리터 속도가 훨씬 빨라집니다. 신생 쿼리의 최초 런타임이 주요 관심사라면 설정을 변경하면 됩니다.

요약

SingleStore DB 7.5에서는 스토리지와 컴퓨팅의 분리, PITR, Universal Storage의 정점, 수많은 가용성 및 성능 향상을 포함하여, 데이터 집약적인 응용프로그램을 지원하는 기능이 대폭 향상되었습니다.

www.a-platform.biz | info@a-platform.biz