개발자 / 데이터ㆍ분석 / 애플리케이션

"NoSQL을 넘어" 분산 SQL의 당위성

Andrew C. Oliver | InfoWorld 2020.07.22


다음으로ODBC, 이후 JDBC가 있다. 하나의 RDBMS에 연결 가능한 거의 모든 툴은(해당 RDBMS를 관리하도록 특정해 만들어지지 않은 한) 다른 모든 RDBMS에 연결이 가능했다. 많은 사람들이 RDBMS에 매일 연결해서 엑셀로 데이터를 가져와 분석했다. 태블로(Tableau)나 다른 수백 가지 툴을 이야기하는 것이 아니라 “모함”에 해당하는 엑셀 이야기다.

NoSQL은 표준을 버렸다. 몽고DB는 SQL을 주 언어로 사용하지 않는다. 몽고DB의 가장 근접한 경쟁 상대인 카우치베이스가 자바 기반 맵리듀스 프레임워크를 대체할 쿼리 언어를 찾는 동안 NoSQL은 자체 SQL 변형 언어를 만들었다.

툴 생태계 지원 측면에서도, 데이터베이스를 쿼리하는 많은 사람들이 개발자가 아니라는 측면에서도 표준은 중요하다. 이들은 SQL을 안다.

그래프QL과 상태 관리의 부상

앱의 상태를 데이터베이스에 넣기만 하면 되고 그 외에는 관심이 없는 사람이 누구인지 아는가? 알고 보니 모든 개발자가 그렇다. 그래프QL(그래프 데이터베이스와는 아무런 관계도 없음)은 객체 그래프를 기반 데이터 저장소에 저장한다. 개발자는 이 문제에 대해 걱정할 필요가 없다.

이전에 이 문제를 해결하려 시도한 것은 하이버네이트(Hibernate)와 같은 객체 관계형 매핑 툴, 즉 ORM이다. 이러한 툴은 객체를 취한 다음 객체-테이블 매핑 설정을 기반으로 SQL로 변환했다. 초기 세대의 툴 상당수는 구성하기가 어려웠고, 익히는 데도 오랜 시간이 걸렸다.

대부분 그래프QL 구현은 시퀄라이즈(Sequelize)나 타입ORM(TypeORM)과 같은 객체-관계형 매핑 툴과 함께 작동한다. 코드 전반에서 상태 관리를 우려하는 대신 잘 구조화된 그래프QL 구현과 API를 사용하면 객체 그래프의 변화에 따라 관련 데이터를 쓰고 반환할 수 있다. 애플리케이션 수준에서 데이터가 어떻게 저장되는지에 대해 신경 쓸 사람이 있는가?

객체 지향 및 NoSQL 데이터베이스의 토대 중 하나는 애플리케이션 개발자가 데이터베이스에 데이터가어떻게 저장되는지 세부적인 내용을 알아야 한다는 것이다. 이는 새로운 기술에 직면한 개발자가 마스터하기 어려운 부분이었지만, 더 이상은 어렵지 않다. 그래프QL이 이와 관련된 우려를 아예 없애기 때문이다.
 

NewSQL 또는 분산 SQL의 등장

구글은 데이터베이스 문제를 겪다가 논문을 하나 썼고, 이 논문이 이후 “스패너(Spanner)”라는 구현으로 이어졌다. 스패너는 전 세계적으로 분산된 관계형 데이터베이스의 작동 방식을 기술했다. 스패너는 관계형 데이터베이스 기술에서 새로운 혁신의 물결을 촉발했다. 관계형 데이터베이스를 사용하면서 단순히 샤드만이 아니라 필요한 경우 전 세계에 걸쳐 데이터베이스를 확장할 수 있게 됐다. 여기서 말하는 확장은 실망스럽고 복잡한 RAC/스트림/골든게이트 방식이 아닌, 현대적 의미의 확장이다.

결국 관계형 시스템에 “객체를 저장”한다는 전제는 틀렸다. 관계형 데이터베이스의 가장 큰 문제는 프론트엔드가 아니라 백엔드였다면? 이것이 이른바 “NewSQL”, 또는 더 적합한 표현으로 “분산 SQL” 데이터베이스의 기반이 되는 아이디어다. NoSQL 스토리지의 교훈과 구글의 스패너 개념을 포스트그레SQL이나 마이SQL/마리아DB 등의 성숙한 오픈 소스 RDBMS 프론트 엔드와 결합하는 개념이다.

이것은 무엇을 의미할까? 두 마리 토끼를 잡을 수 있다는 뜻이다. 복수의 노드를 두고 수평으로(여러 클라우드 가용성 영역 포함) 확장할 수 있음을 의미한다. 하나의 데이터베이스에서 여러 데이터센터 또는 클라우드 지역을 둘 수 있음을 의미한다. 진정한 안정성, 사용자 관점에서 절대 다운되지 않는 데이터베이스 클러스터를 의미한다.

또한 SQL 생태계 전체가 여전히 동작한다! 따라서 IT 인프라 전체를 다시 구축하지 않아도 된다. 전통의 RDBMS를 “들어내고 교체할” 생각은 없을지 몰라도, 대부분 기업은 오라클 사용을 더 늘리려고 노력하진 않는다. 가장 좋은 점은 클라우드와 전 세계 모든 곳에서 SQL과 모든 툴을 계속 사용할 수 있다는 것이다. editor@itworld.co.kr

회사명 : 한국IDG | 제호: ITWorld | 주소 : 서울시 중구 세종대로 23, 4층 우)04512
| 등록번호 : 서울 아00743 등록발행일자 : 2009년 01월 19일

발행인 : 박형미 | 편집인 : 박재곤 | 청소년보호책임자 : 한정규
| 사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.