2015.11.02

벤더 기고 | NoSQL이 SQL보다 나은 10가지 경우

Tim Stephan | Network World
* 본 기고문은 벤더가 작성한 것으로 네트워크 월드 편집진의 수정을 거쳤다. 그러나 벤더의 시각이 일부 남아 있을 수 있다.

구글, 아마존, 페이스북과 같은 IT 대기업을 필두로 많은 기업들이 핵심 애플리케이션 구축과 관련해 유연성과 확장성이라는 두 가지 장점을 지닌 NoSQL 데이터베이스를 관계형 데이터베이스 대신 선택하고 있다. 다음은 기업 측면에서 NoSQL이 SQL보다 유용한 10가지 경우다.

개인화
개인화된 경험은 데이터, 특히 인구통계적·맥락적·행동적인 차원에서 대량의 데이터를 요구한다. 더 많은 데이터를 사용 가능할수록, 더 많은 경험이 개인화된다. 그러나 관계형 데이터베이스는 개인화 시 발생하는 대량의 데이터를 감당하지 못 한다. 반면 분산형 NoSQL 데이터베이스는 데이터 처리량이 최대치에 도달하는 경우에도 유연한 확장성을 바탕으로 요청 작업을 문제없이 처리한다. 방문자 프로필을 적절하게 관리하며, 대기 시간(latency)을 최소화한다는 장점도 있다.

사용자 프로필 관리
사용자 프로필 관리는 전자상거래, 사용자 취향 분석, 사용자 인증 등과 관련된 웹과 모바일 애플리케이션에 핵심적인 요소다. 현재 웹과 모바일 애플리케이션은 수백만 명부터 최대 수억 명에 이르는 사용자들을 관리하고 있다. 그런 점에서 관계형 데이터베이스는 1개의 서버를 사용하기 때문에 많은 양의 사용자 프로필 정보를 다루기 어렵다. 그러나 분산형 데이터베이스는 업그레이드 시 다수의 서버를 활용한 수평적 확장(scale-out) 방식을 사용하기 때문에 대량의 정보 처리에 유용하다. 다시 말해 NoSQL의 경우 상업용 서버를 추가하는 방식으로 용량을 늘리기 때문에 적은 비용으로 간편하게 업그레이드할 수 있다는 장점이 있다.

실시간 빅데이터
애자일 기업에는 실시간으로 운용 데이터에서 정보를 추출할 수 있는 능력이 매우 중요하다. 이 능력이 있어야 효율성을 높이고, 비용을 절감하며, 보다 많은 수익을 창출할 수 있다. 과거 운용형(operational) 데이터베이스와 분석형 데이터베이스는 서로 다른 환경에서 활용됐다. 운용형 데이터베이스는 애플리케이션을 다뤘고, 분석형 데이터베이스는 BI 및 시스템 환경 분석·보고 측면에서 활용됐다. 반면 NoSQL은 현재 프런트 엔드(front-end)와 백 엔드(back-end) 모두에 사용되고 있다. 프런트 엔드에는 소스 상의 운용 데이터 저장·관리, 하둡으로 데이터 전송·저장 등이 속하고, 백 엔드에는 하둡 상의 분석 결과물 수용·저장·제공 등이 속한다.

콘텐츠 관리
콘텐츠 효율성은 다양한 콘텐츠를 선별하고 통합한 후, 적절한 순간에 고객에게 제공하는 능력이 좌우한다. 문서 기반 NoSQL 데이터베이스는 가변형 데이터 모델로, 비정형 데이터든 정형 데이터든, 또는 반정형 데이터든 관계없이 모든 유형의 콘텐츠를 저장할 수 있다. 문서 기반 NoSQL 데이터베이스는 특정 데이터 모델을 필요로 하지 않기 때문이다. 이런 점을 활용해 기업들은 새로운 유형의 콘텐츠를 손쉽게 생성할 수 있을 뿐 아니라, 소셜 미디어 상의 동영상, 이미지, 댓글 등 사용자 생성 콘텐츠를 신속하고 편리하게 통합할 수 있다.

카탈로그
카탈로그는 웹과 모바일 애플리케이션뿐만 아니라 POS 단말기와 키오스크 등에서도 제공된다. 기업들이 더 많은 제품과 서비스를 제공하고, 이와 관련된 정보를 수집하기 시작하면서 카탈로그는 애플리케이션, 브랜드, 프로젝트 단위로 세분화되고 있다. 관계형 데이터베이스는 고정형 데이터 모델이기 때문에 각각의 애플리케이션은 각각의 데이터베이스를 참고한다. 즉 데이터 관리가 쉽지 않은 것이다. 그러나 문서 기반 NoSQL 데이터베이스는 가변형 데이터 모델을 채택하고 있으므로, 기업들은 카탈로그의 데이터를 단일 데이터베이스에 통합해 편리하게 관리할 수 있다.

고객 데이터 통합 및 관리
고객들은 채널과 관계없이 지속적인 경험을 기대하는 반면 기업들은 최상의 제품 및 서비스를 업셀/크로스셀(upsell/cross-sell) 방식으로 판매하기를 원한다. 그러나 제품, 서비스, 채널, 브랜드, 프로젝트의 수가 증가하면서, 관계형 데이터베이스의 고정형 데이터 모델을 활용하는 기업들은 고객 정보를 세분화할 수밖에 없게 됐다. 앞서 언급한 것처럼 각각의 애플리케이션은 고객 정보를 각각 관리하기 때문이다. 반면 문서 기반 NoSQL 데이터베이스는 앞서 설명한 것처럼 가변형 데이터 모델이므로, 다수의 애플리케이션이 단일한 고객 데이터를 참고한다. 다른 애플리케이션에 영향을 끼치지 않으면서 새로운 속성을 안정적으로 추가할 수 있다는 장점도 있다.

모바일 애플리케이션
스마트폰 사용자가 약 20억 명에 이르면서 모바일 애플리케이션은 성장 및 규모와 관련해 확장성 측면에서 시험대에 올랐다. 예를 들어 모바일 게임의 경우 출시 수개월 이내 수천만 명이 해당 게임을 이용하기도 한다. 모바일 애플리케이션 업체들은 처음부터 비싼 비용을 들여 대규모로 관계형 데이터베이스를 구축했던 과거와 달리, 분산형 데이터베이스를 소규모로 구축해 운영하다 사용자가 증가하면 업그레이드하는 방식을 택하고 있다.

사물인터넷(IoT)
스마트폰과 태블릿은 물론 자동차, 병원, 창고 등에서 사용되는 전자기기와 가전제품에 이르기까지 현재 약 200억 개의 기기가 인터넷에 연결돼 있다. 기기 생성 데이터(machine-generated data)의 3V(volume, velocity, variety)는 디지털 텔레미터의 확산과 더불어 그 중요성이 더욱 커지고 있다. 관계형 데이터베이스는 IoT 빅데이터 애플리케이션과 관련해 확장성, 처리율(throughput), 데이터 유형(data variety)이라는 3가지 문제점을 안고 있다. 하지만 NoSQL을 사용하면 기업들은 수백만 개의 사물인터넷 기기/시스템에서 발생하는 대량의 데이터를 유연하게 처리·저장할 수 있다. 핵심 인프라 및 운영 관련 요건에도 부합된다.

디지털 커뮤니케이션
기업 측면에서 디지털 커뮤니케이션은 방문자들에게 제품 검색 및 결제 과정을 안내하는 등 직접적인 메시지를 통한 온라인 상호작용 형태를 취하고 있다. 애플리케이션 업체는 모바일 텍스트 메시지로 수백만 명의 방문자를 관리해야 하는 상황을 맞이할 수도 있다. 관계형 데이터베이스의 경우 반응성과 확장성 측면에서 제약이 있지만, NoSQL 데이터베이스의 경우 분산형 구조로 인해 신속한 반응성과 유연한 확장성이 보장된다.

금융사기 탐지
금융기관에게 금융사기 탐지는 손해를 줄이고 위험을 최소화하며 규제를 준수하는 차원에서 매우 중요하다. 고객들은 신용카드로 결제할 때 즉각적인 승인을 기대한다. 이 과정은 기업과 고객 모두에게 영향을 끼친다. 금융사기는 탐지 알고리즘 규칙, 고객 정보, 거래 정보, 위치, 시간 등과 관련된 대량의 데이터 보안이 허술할 때 눈 깜짝할 사이에 발생한다. 이와 관련해 관계형 데이터베이스의 경우 대기 시간을 최소화하기가 어렵다. 반면 NoSQL 데이터베이스의 경우 유연한 확장성으로 인해 요청 작업을 안정적으로 수행할 수 있다.

*카우치베이스(Couchbase)는 NoSQL 분산형 데이터베이스 플랫폼을 제공하고 있으며 전세계 개발자들은 카우치베이스 플랫폼을 활용해 실시간으로 대량의 정보를 관리할 수 있는 기업용 웹·모바일·IoT 애플리케이션을 개발하고 있다.  ciokr@idg.co.kr



2015.11.02

벤더 기고 | NoSQL이 SQL보다 나은 10가지 경우

Tim Stephan | Network World
* 본 기고문은 벤더가 작성한 것으로 네트워크 월드 편집진의 수정을 거쳤다. 그러나 벤더의 시각이 일부 남아 있을 수 있다.

구글, 아마존, 페이스북과 같은 IT 대기업을 필두로 많은 기업들이 핵심 애플리케이션 구축과 관련해 유연성과 확장성이라는 두 가지 장점을 지닌 NoSQL 데이터베이스를 관계형 데이터베이스 대신 선택하고 있다. 다음은 기업 측면에서 NoSQL이 SQL보다 유용한 10가지 경우다.

개인화
개인화된 경험은 데이터, 특히 인구통계적·맥락적·행동적인 차원에서 대량의 데이터를 요구한다. 더 많은 데이터를 사용 가능할수록, 더 많은 경험이 개인화된다. 그러나 관계형 데이터베이스는 개인화 시 발생하는 대량의 데이터를 감당하지 못 한다. 반면 분산형 NoSQL 데이터베이스는 데이터 처리량이 최대치에 도달하는 경우에도 유연한 확장성을 바탕으로 요청 작업을 문제없이 처리한다. 방문자 프로필을 적절하게 관리하며, 대기 시간(latency)을 최소화한다는 장점도 있다.

사용자 프로필 관리
사용자 프로필 관리는 전자상거래, 사용자 취향 분석, 사용자 인증 등과 관련된 웹과 모바일 애플리케이션에 핵심적인 요소다. 현재 웹과 모바일 애플리케이션은 수백만 명부터 최대 수억 명에 이르는 사용자들을 관리하고 있다. 그런 점에서 관계형 데이터베이스는 1개의 서버를 사용하기 때문에 많은 양의 사용자 프로필 정보를 다루기 어렵다. 그러나 분산형 데이터베이스는 업그레이드 시 다수의 서버를 활용한 수평적 확장(scale-out) 방식을 사용하기 때문에 대량의 정보 처리에 유용하다. 다시 말해 NoSQL의 경우 상업용 서버를 추가하는 방식으로 용량을 늘리기 때문에 적은 비용으로 간편하게 업그레이드할 수 있다는 장점이 있다.

실시간 빅데이터
애자일 기업에는 실시간으로 운용 데이터에서 정보를 추출할 수 있는 능력이 매우 중요하다. 이 능력이 있어야 효율성을 높이고, 비용을 절감하며, 보다 많은 수익을 창출할 수 있다. 과거 운용형(operational) 데이터베이스와 분석형 데이터베이스는 서로 다른 환경에서 활용됐다. 운용형 데이터베이스는 애플리케이션을 다뤘고, 분석형 데이터베이스는 BI 및 시스템 환경 분석·보고 측면에서 활용됐다. 반면 NoSQL은 현재 프런트 엔드(front-end)와 백 엔드(back-end) 모두에 사용되고 있다. 프런트 엔드에는 소스 상의 운용 데이터 저장·관리, 하둡으로 데이터 전송·저장 등이 속하고, 백 엔드에는 하둡 상의 분석 결과물 수용·저장·제공 등이 속한다.

콘텐츠 관리
콘텐츠 효율성은 다양한 콘텐츠를 선별하고 통합한 후, 적절한 순간에 고객에게 제공하는 능력이 좌우한다. 문서 기반 NoSQL 데이터베이스는 가변형 데이터 모델로, 비정형 데이터든 정형 데이터든, 또는 반정형 데이터든 관계없이 모든 유형의 콘텐츠를 저장할 수 있다. 문서 기반 NoSQL 데이터베이스는 특정 데이터 모델을 필요로 하지 않기 때문이다. 이런 점을 활용해 기업들은 새로운 유형의 콘텐츠를 손쉽게 생성할 수 있을 뿐 아니라, 소셜 미디어 상의 동영상, 이미지, 댓글 등 사용자 생성 콘텐츠를 신속하고 편리하게 통합할 수 있다.

카탈로그
카탈로그는 웹과 모바일 애플리케이션뿐만 아니라 POS 단말기와 키오스크 등에서도 제공된다. 기업들이 더 많은 제품과 서비스를 제공하고, 이와 관련된 정보를 수집하기 시작하면서 카탈로그는 애플리케이션, 브랜드, 프로젝트 단위로 세분화되고 있다. 관계형 데이터베이스는 고정형 데이터 모델이기 때문에 각각의 애플리케이션은 각각의 데이터베이스를 참고한다. 즉 데이터 관리가 쉽지 않은 것이다. 그러나 문서 기반 NoSQL 데이터베이스는 가변형 데이터 모델을 채택하고 있으므로, 기업들은 카탈로그의 데이터를 단일 데이터베이스에 통합해 편리하게 관리할 수 있다.

고객 데이터 통합 및 관리
고객들은 채널과 관계없이 지속적인 경험을 기대하는 반면 기업들은 최상의 제품 및 서비스를 업셀/크로스셀(upsell/cross-sell) 방식으로 판매하기를 원한다. 그러나 제품, 서비스, 채널, 브랜드, 프로젝트의 수가 증가하면서, 관계형 데이터베이스의 고정형 데이터 모델을 활용하는 기업들은 고객 정보를 세분화할 수밖에 없게 됐다. 앞서 언급한 것처럼 각각의 애플리케이션은 고객 정보를 각각 관리하기 때문이다. 반면 문서 기반 NoSQL 데이터베이스는 앞서 설명한 것처럼 가변형 데이터 모델이므로, 다수의 애플리케이션이 단일한 고객 데이터를 참고한다. 다른 애플리케이션에 영향을 끼치지 않으면서 새로운 속성을 안정적으로 추가할 수 있다는 장점도 있다.

모바일 애플리케이션
스마트폰 사용자가 약 20억 명에 이르면서 모바일 애플리케이션은 성장 및 규모와 관련해 확장성 측면에서 시험대에 올랐다. 예를 들어 모바일 게임의 경우 출시 수개월 이내 수천만 명이 해당 게임을 이용하기도 한다. 모바일 애플리케이션 업체들은 처음부터 비싼 비용을 들여 대규모로 관계형 데이터베이스를 구축했던 과거와 달리, 분산형 데이터베이스를 소규모로 구축해 운영하다 사용자가 증가하면 업그레이드하는 방식을 택하고 있다.

사물인터넷(IoT)
스마트폰과 태블릿은 물론 자동차, 병원, 창고 등에서 사용되는 전자기기와 가전제품에 이르기까지 현재 약 200억 개의 기기가 인터넷에 연결돼 있다. 기기 생성 데이터(machine-generated data)의 3V(volume, velocity, variety)는 디지털 텔레미터의 확산과 더불어 그 중요성이 더욱 커지고 있다. 관계형 데이터베이스는 IoT 빅데이터 애플리케이션과 관련해 확장성, 처리율(throughput), 데이터 유형(data variety)이라는 3가지 문제점을 안고 있다. 하지만 NoSQL을 사용하면 기업들은 수백만 개의 사물인터넷 기기/시스템에서 발생하는 대량의 데이터를 유연하게 처리·저장할 수 있다. 핵심 인프라 및 운영 관련 요건에도 부합된다.

디지털 커뮤니케이션
기업 측면에서 디지털 커뮤니케이션은 방문자들에게 제품 검색 및 결제 과정을 안내하는 등 직접적인 메시지를 통한 온라인 상호작용 형태를 취하고 있다. 애플리케이션 업체는 모바일 텍스트 메시지로 수백만 명의 방문자를 관리해야 하는 상황을 맞이할 수도 있다. 관계형 데이터베이스의 경우 반응성과 확장성 측면에서 제약이 있지만, NoSQL 데이터베이스의 경우 분산형 구조로 인해 신속한 반응성과 유연한 확장성이 보장된다.

금융사기 탐지
금융기관에게 금융사기 탐지는 손해를 줄이고 위험을 최소화하며 규제를 준수하는 차원에서 매우 중요하다. 고객들은 신용카드로 결제할 때 즉각적인 승인을 기대한다. 이 과정은 기업과 고객 모두에게 영향을 끼친다. 금융사기는 탐지 알고리즘 규칙, 고객 정보, 거래 정보, 위치, 시간 등과 관련된 대량의 데이터 보안이 허술할 때 눈 깜짝할 사이에 발생한다. 이와 관련해 관계형 데이터베이스의 경우 대기 시간을 최소화하기가 어렵다. 반면 NoSQL 데이터베이스의 경우 유연한 확장성으로 인해 요청 작업을 안정적으로 수행할 수 있다.

*카우치베이스(Couchbase)는 NoSQL 분산형 데이터베이스 플랫폼을 제공하고 있으며 전세계 개발자들은 카우치베이스 플랫폼을 활용해 실시간으로 대량의 정보를 관리할 수 있는 기업용 웹·모바일·IoT 애플리케이션을 개발하고 있다.  ciokr@idg.co.kr

X