2009.07.06

"SQL 반대?" 부상하는 반 데이터베이스 운동

Eric Lai | Computerworld

날로 세력이 커지고 있는 NoSQL 커뮤니티의 출범 회의가 150여 명이 참여한 가운데 CBS 인터랙티브의 회의실에서 열렸다. NoSQL 지지자들은 느리고 비용이 많이 들며, 전제적인 영향력을 가진 관계형 데이터베이스를 버리고, 더 효율적이고 적은 비용으로 데이터를 관리하는 방법에 대한 정보를 나눴다.

 

자바 툴 개발업체인 스프링소스(SpringSource)의 대표 엔지니어 존 트래비스는 “관계형 데이터베이스는 너무 많은 것을 준다. 관계형 데이터베이스 관리 시스템(relational database management system)에 맞추려면 오브젝트 데이터를 억지로 구겨 넣을 수밖에 없다”며, NoSQL 기반의 대안은 “필요한 것만 주는 것”이라고 강조했다.

 

다시 스포트라이트를 받는 오픈소스

이런 SQL 반대 운동의 선두에는 웹과 자바 개발자들이 있다. 이들은 대부분 재정이 빈약한 신생 업체에서 오라클 없이 구글과 아마존을 따라잡으려고 노력하면서 고유의 데이터 스토리지 솔루션을 구축하는 방법을 터득했고, 이런 방법을 오픈소스로 공개했다.

 

이들의 오픈소스 데이터 스토어는 번성하는 웹 2.0과 클라우드 컴퓨팅 업체들의 수백 테라바이트에서 페타바이트에 이르는 데이터를 관리하고 있기 때문에, 다시 과거로 돌아가는 것은 기술적, 경제적, 심지어 관념적으로도 불가능하다.

 

SQL 반대 모임의 주최자이자, 대부분의 다른 참석자들과 마찬가지로 웹 개발자인 조한 오스카르슨은 “웹 2.0 업체들은 기회를 잡을 수 있으며 확장성이 필요하다. 이 2가지를 잘 조화시키면 NoSQL은 매력적인 것이 된다”고 설명했다. 오스카르슨은 음악 스트리밍 사이트인 Last.fm에서 일하고 있다.

 

오스카르슨은 많은 회사들이 오랫동안 웹 2.0 개발자들이 애용해 온 오픈소스 MySQL을 버리고 NoSQL을 대안으로 선택했는데, NoSQL의 장점은 그냥 지나치기에는 매우 우수하기 때문이라고 말했다.

 

예를 들어, 페이스북은 기존 데이터베이스인 MySQL이 아니라 카산드라(Cassandra) 데이터 스토어를 개발해 새로운 검색 기능을 추가했다. 페이스북 엔지니어인 아비나시 락시먼의 프리젠테이션에 따르면, 카산드라는 0.12ms 만에 50GB에 이르는 데이터 스토어를 디스크에 기록할 수 있는데, 이는 MySQL보다 2,500배 빠른 것이다.

 

NoSQL이란 무엇인가?

이들 프로젝트들에는 하둡(Hadoop), 볼드모트(Voldemort), 다이너마이트(Dynomite) 등 다양하고 특이한 이름이 붙어 있다. 그리고 이들 프로젝트에는 다음과 같은 공통점이 있다.

 

- 데이터베이스라고 부르지 말 것

아마존의 CTO 워너 보겔스는 회사에서 큰 역할을 하고 있는 다이나모(Dynamo) 시스템을 ‘매우 유용한 핵심 가치 스토어’라고 말했다. 구글에서는 많은 NoSQL 지지자들에게 하나의 역할 모델이 된 자사의 빅테이블(BigTable)을 ‘구조적 데이터 관리를 위한 분산 스토리지 시스템’이라고 부른다.

 

- 막대한 양의 데이터 처리

지벤츠(Zvents)의 엔지니어 더그 쥬드의 보고서에 의하면, 빅테이블을 모델로 하며, 오픈소스 칼럼을 기반으로 하는 데이터베이스인 하이퍼테이블(Hypertable)은 지역 검색 엔진인 지벤츠에서 사용되어 하루에 10억 셀을 쓸 수 있다. 한편 빅테이블은 자매 기술인 맵리듀스(MapReduce)와 함께 하루에 20페타바이트의 데이터를 처리한다.

 

스프링소스의 트래비스는 “분명히 데이터의 양은 갈수록 커지고 있고, 사람들은 다른 기술을 찾고 있다”고 강조했다. 트래비스의 ‘VPork’ 기술은 NoSQL 이용자들이 그들의 데이터베이스 대체재의 성능을 벤치마킹할 수 있다.

 

- 저렴한 PC 서버로 운영

PC들은 큰 클러스터나 그리드에서의 구동을 위해 다양한 테이블로 데이터베이스를 나눠야 하는 복잡한 작업과 ‘샤딩(sharding)’ 없이 손쉽고 저렴하게 확장될 수 있다. 구글 빅테이블의 큰 클러스터 중 하나는 수 천대의 서버를 통해 6페타바이트를 관리한다고 밝힌 바 잇다.

 

스프링소스의 CTO 자비에르 솔테로는 “오라클은 적합한 하드웨어와 오라클 리얼 애플리케이션 클러스터에 관련 소프트웨어를 갖추면 동일한 확장성을 얻게 된다고 한다. 하지만 비용 문제는 어떻게 할 것인가?”라고 반문했다.

 

- 병목 현상 해결

NoSQL 지지자들은 웹이나 자바 애플리케이션과 데이터를 SQL 친화적인 포맷으로 변환하는 데 드는 시간을 절약하기 때무넹 NoSQL 구조가 훨씬 빠른 성능을 보여준다고 주장한다.

 

독립적 데이터베이스 분석가인 커트 모나시는 “SQL은 절차적 코드에 부적합한데, 거의 모든 코드는 절차적이다. 이용자들이 무겁고 반복적인 조작을 하려는 데이터에 대해 데이터를 SQL에 매핑하는 비용은 그만한 가치가 있으나, 이용자의 데이터베이스 구조가 매우 단순할 때, SQL은 그다지 유익하지 않을 것”이라고 설명했다.

 

어도비 시스템의 수석 컴퓨터 과학자인 라파엘 세나는 어도비에서 1년 반 전에 커넥트나우(ConnectNow)라는 웹 기반 협업 서비스를 재개했으나, 모나시가 언급한 이유로 인해 관계형 데이터베이스 사용을 중지하게 되었다고 말했다.

 

세나는 어도비가 자바 포맷 데이터 관리를 위해 테라코타(Terracotta Inc.)의 자바 클러스터링 소프트웨어를 사용하고 있으며, 이로 인해 커넥트나우의 성능이 이전보다 두세배 좋아졌다고 밝혔다. 세나는 “관계형 데이터베이스를 사용했다면, 시스템 개발이 보다 복잡하고 어려웠을 것”이라고 덧붙였다.

 

또 다른 프로젝트인 몽고DB(MongoDB)는 오브젝트 스타일 데이터의 원시적 스토리지 방식 때문에 ‘문서 지향’ 데이터베이스로도 불린다.

 

- 필요한 만큼만

NoSQL 지지자들은 관계형 데이터베이스가 비할 데 없이 우수한 기능을 제공하고 데이터 무결성으로 명성이 높은 것은 인정하지만, 이것은 필요 이상의 과잉이라고 주장하고 있다.

 

세나는 어도비의 커넥트나우는 데이터베이스 없이도 이용자가 온라인 상에 있을 때는 3개의 세션 데이터 카피를 만들지만, 로그오프한 뒤에는 대부분의 데이터가 삭제된다고 지적했다. 세나는 “우리는 데이터베이스가 필요 없다. 메모리 상에 데이터가 이미 매우 잘 나타나기 때문”이라고 강조했다.

 

스스로의 힘으로 발전

NoSQL의 대안들은 오픈소스이기 때문에 이를 공식적으로 지원하는 업체가 없다. 하지만 실리콘 밸리의 중심 커뮤니티에 위치하기 때문에 스스로의 힘으로 해나가는 대부분의 지지자들에게는 이러한 상황이 그다지 문제가 되지 않는다.

 

그러나 몇몇 지지자들은 공식적인 지지 업체 없이 작업하다가 좋지 않은 상황을 맞이하는 것은 적어도 경영진들에게는 두려운 일이라고 인정했다.

 

어도비의 세나는 “우리는 판매에 신경을 써야 했다. 그러나 기본적으로 우리의 프로토타입이 구동되는 것을 본 후에는 이 방식이 옳다는 확신을 가질 수 있었다”고 말했다.

 

NoSQL이 제시하는 바는 크지만, 아직 기업들이 이런 기회를 놓치는 것이 아닐까 하고 우려할 필요는 없다.

 

모나시는 “아마도 대기업들은 대부분 RDBMS를 통해 온라인 트랜잭션을 처리하는 시스템을 이미 구축했을 것이다. 이를 바꿀 이유가 있겠는가? 맵리듀스와 이와 유사한 BI 기반 프로젝트들은 대기업에게 유요할 것이다. 하지만 아마도 이를 분석적 데이터베이스 관리 시스템에 통합해야만 할 것”이라고 설명했다.

 

NoSQL의 조직자인 오스카르슨도 Last.fm이 아직 생산을 위한 NoSQL 대안으로 옮겨가지 못하고, 오픈소프 데이터베이스에 의존하고 있다고 인정했다. 하지만 오스카르슨은 “아직까지는 NoSQL이 주류 기업에 적합하지 않은 것이 사실이다. 그러나 1~2년 사이에 상황은 완전히 바뀔 것”이라고 강조했다.  editor@idg.co.kr



2009.07.06

"SQL 반대?" 부상하는 반 데이터베이스 운동

Eric Lai | Computerworld

날로 세력이 커지고 있는 NoSQL 커뮤니티의 출범 회의가 150여 명이 참여한 가운데 CBS 인터랙티브의 회의실에서 열렸다. NoSQL 지지자들은 느리고 비용이 많이 들며, 전제적인 영향력을 가진 관계형 데이터베이스를 버리고, 더 효율적이고 적은 비용으로 데이터를 관리하는 방법에 대한 정보를 나눴다.

 

자바 툴 개발업체인 스프링소스(SpringSource)의 대표 엔지니어 존 트래비스는 “관계형 데이터베이스는 너무 많은 것을 준다. 관계형 데이터베이스 관리 시스템(relational database management system)에 맞추려면 오브젝트 데이터를 억지로 구겨 넣을 수밖에 없다”며, NoSQL 기반의 대안은 “필요한 것만 주는 것”이라고 강조했다.

 

다시 스포트라이트를 받는 오픈소스

이런 SQL 반대 운동의 선두에는 웹과 자바 개발자들이 있다. 이들은 대부분 재정이 빈약한 신생 업체에서 오라클 없이 구글과 아마존을 따라잡으려고 노력하면서 고유의 데이터 스토리지 솔루션을 구축하는 방법을 터득했고, 이런 방법을 오픈소스로 공개했다.

 

이들의 오픈소스 데이터 스토어는 번성하는 웹 2.0과 클라우드 컴퓨팅 업체들의 수백 테라바이트에서 페타바이트에 이르는 데이터를 관리하고 있기 때문에, 다시 과거로 돌아가는 것은 기술적, 경제적, 심지어 관념적으로도 불가능하다.

 

SQL 반대 모임의 주최자이자, 대부분의 다른 참석자들과 마찬가지로 웹 개발자인 조한 오스카르슨은 “웹 2.0 업체들은 기회를 잡을 수 있으며 확장성이 필요하다. 이 2가지를 잘 조화시키면 NoSQL은 매력적인 것이 된다”고 설명했다. 오스카르슨은 음악 스트리밍 사이트인 Last.fm에서 일하고 있다.

 

오스카르슨은 많은 회사들이 오랫동안 웹 2.0 개발자들이 애용해 온 오픈소스 MySQL을 버리고 NoSQL을 대안으로 선택했는데, NoSQL의 장점은 그냥 지나치기에는 매우 우수하기 때문이라고 말했다.

 

예를 들어, 페이스북은 기존 데이터베이스인 MySQL이 아니라 카산드라(Cassandra) 데이터 스토어를 개발해 새로운 검색 기능을 추가했다. 페이스북 엔지니어인 아비나시 락시먼의 프리젠테이션에 따르면, 카산드라는 0.12ms 만에 50GB에 이르는 데이터 스토어를 디스크에 기록할 수 있는데, 이는 MySQL보다 2,500배 빠른 것이다.

 

NoSQL이란 무엇인가?

이들 프로젝트들에는 하둡(Hadoop), 볼드모트(Voldemort), 다이너마이트(Dynomite) 등 다양하고 특이한 이름이 붙어 있다. 그리고 이들 프로젝트에는 다음과 같은 공통점이 있다.

 

- 데이터베이스라고 부르지 말 것

아마존의 CTO 워너 보겔스는 회사에서 큰 역할을 하고 있는 다이나모(Dynamo) 시스템을 ‘매우 유용한 핵심 가치 스토어’라고 말했다. 구글에서는 많은 NoSQL 지지자들에게 하나의 역할 모델이 된 자사의 빅테이블(BigTable)을 ‘구조적 데이터 관리를 위한 분산 스토리지 시스템’이라고 부른다.

 

- 막대한 양의 데이터 처리

지벤츠(Zvents)의 엔지니어 더그 쥬드의 보고서에 의하면, 빅테이블을 모델로 하며, 오픈소스 칼럼을 기반으로 하는 데이터베이스인 하이퍼테이블(Hypertable)은 지역 검색 엔진인 지벤츠에서 사용되어 하루에 10억 셀을 쓸 수 있다. 한편 빅테이블은 자매 기술인 맵리듀스(MapReduce)와 함께 하루에 20페타바이트의 데이터를 처리한다.

 

스프링소스의 트래비스는 “분명히 데이터의 양은 갈수록 커지고 있고, 사람들은 다른 기술을 찾고 있다”고 강조했다. 트래비스의 ‘VPork’ 기술은 NoSQL 이용자들이 그들의 데이터베이스 대체재의 성능을 벤치마킹할 수 있다.

 

- 저렴한 PC 서버로 운영

PC들은 큰 클러스터나 그리드에서의 구동을 위해 다양한 테이블로 데이터베이스를 나눠야 하는 복잡한 작업과 ‘샤딩(sharding)’ 없이 손쉽고 저렴하게 확장될 수 있다. 구글 빅테이블의 큰 클러스터 중 하나는 수 천대의 서버를 통해 6페타바이트를 관리한다고 밝힌 바 잇다.

 

스프링소스의 CTO 자비에르 솔테로는 “오라클은 적합한 하드웨어와 오라클 리얼 애플리케이션 클러스터에 관련 소프트웨어를 갖추면 동일한 확장성을 얻게 된다고 한다. 하지만 비용 문제는 어떻게 할 것인가?”라고 반문했다.

 

- 병목 현상 해결

NoSQL 지지자들은 웹이나 자바 애플리케이션과 데이터를 SQL 친화적인 포맷으로 변환하는 데 드는 시간을 절약하기 때무넹 NoSQL 구조가 훨씬 빠른 성능을 보여준다고 주장한다.

 

독립적 데이터베이스 분석가인 커트 모나시는 “SQL은 절차적 코드에 부적합한데, 거의 모든 코드는 절차적이다. 이용자들이 무겁고 반복적인 조작을 하려는 데이터에 대해 데이터를 SQL에 매핑하는 비용은 그만한 가치가 있으나, 이용자의 데이터베이스 구조가 매우 단순할 때, SQL은 그다지 유익하지 않을 것”이라고 설명했다.

 

어도비 시스템의 수석 컴퓨터 과학자인 라파엘 세나는 어도비에서 1년 반 전에 커넥트나우(ConnectNow)라는 웹 기반 협업 서비스를 재개했으나, 모나시가 언급한 이유로 인해 관계형 데이터베이스 사용을 중지하게 되었다고 말했다.

 

세나는 어도비가 자바 포맷 데이터 관리를 위해 테라코타(Terracotta Inc.)의 자바 클러스터링 소프트웨어를 사용하고 있으며, 이로 인해 커넥트나우의 성능이 이전보다 두세배 좋아졌다고 밝혔다. 세나는 “관계형 데이터베이스를 사용했다면, 시스템 개발이 보다 복잡하고 어려웠을 것”이라고 덧붙였다.

 

또 다른 프로젝트인 몽고DB(MongoDB)는 오브젝트 스타일 데이터의 원시적 스토리지 방식 때문에 ‘문서 지향’ 데이터베이스로도 불린다.

 

- 필요한 만큼만

NoSQL 지지자들은 관계형 데이터베이스가 비할 데 없이 우수한 기능을 제공하고 데이터 무결성으로 명성이 높은 것은 인정하지만, 이것은 필요 이상의 과잉이라고 주장하고 있다.

 

세나는 어도비의 커넥트나우는 데이터베이스 없이도 이용자가 온라인 상에 있을 때는 3개의 세션 데이터 카피를 만들지만, 로그오프한 뒤에는 대부분의 데이터가 삭제된다고 지적했다. 세나는 “우리는 데이터베이스가 필요 없다. 메모리 상에 데이터가 이미 매우 잘 나타나기 때문”이라고 강조했다.

 

스스로의 힘으로 발전

NoSQL의 대안들은 오픈소스이기 때문에 이를 공식적으로 지원하는 업체가 없다. 하지만 실리콘 밸리의 중심 커뮤니티에 위치하기 때문에 스스로의 힘으로 해나가는 대부분의 지지자들에게는 이러한 상황이 그다지 문제가 되지 않는다.

 

그러나 몇몇 지지자들은 공식적인 지지 업체 없이 작업하다가 좋지 않은 상황을 맞이하는 것은 적어도 경영진들에게는 두려운 일이라고 인정했다.

 

어도비의 세나는 “우리는 판매에 신경을 써야 했다. 그러나 기본적으로 우리의 프로토타입이 구동되는 것을 본 후에는 이 방식이 옳다는 확신을 가질 수 있었다”고 말했다.

 

NoSQL이 제시하는 바는 크지만, 아직 기업들이 이런 기회를 놓치는 것이 아닐까 하고 우려할 필요는 없다.

 

모나시는 “아마도 대기업들은 대부분 RDBMS를 통해 온라인 트랜잭션을 처리하는 시스템을 이미 구축했을 것이다. 이를 바꿀 이유가 있겠는가? 맵리듀스와 이와 유사한 BI 기반 프로젝트들은 대기업에게 유요할 것이다. 하지만 아마도 이를 분석적 데이터베이스 관리 시스템에 통합해야만 할 것”이라고 설명했다.

 

NoSQL의 조직자인 오스카르슨도 Last.fm이 아직 생산을 위한 NoSQL 대안으로 옮겨가지 못하고, 오픈소프 데이터베이스에 의존하고 있다고 인정했다. 하지만 오스카르슨은 “아직까지는 NoSQL이 주류 기업에 적합하지 않은 것이 사실이다. 그러나 1~2년 사이에 상황은 완전히 바뀔 것”이라고 강조했다.  editor@idg.co.kr



X