우선 IoT에 대한 정의부터 통일하고 넘어가자. 공식적인 정의는 인터넷을 통해 일상적인 사물이 상호 연결함으로써 데이터를 주고받는 것이다. IoT에는 손목시계, TV, 전화, 오븐, 냉장고와 가스 계량기까지, 연결과 데이터 공유로 “스마트”해지는 온갖 종류의 디바이스가 포함된다. 그리고 어느 시점이 되면 마이닝을 위해 이 데이터를 수집해야 한다.
데이터베이스 관점에서 보면 조직은 IoT 디바이스에서 전송하는 방대한 양의 데이터를 받아서 흡수한 다음 비즈니스 필요에 따라 마이닝해야 한다. 오늘날의 일주일, 24시간 내내 100% 돌아가는 업타임 비즈니스 세계에서 비즈니스 경쟁력을 유지하기 위해서는 데이터의 흡수와 빠른 분석이 필수 요건이다. 이 과정은 다양한 형태로 이뤄질 수 있는데, 대부분은 최적화된 관계형 데이터베이스와 하드웨어로 충분하다.
SQL이냐, NoSQL이냐?
일반적인 오해(그 원인은 마케팅 캠페인에 있음)는 IoT 워크로드에 필요한 흡수 속도가 전통적인 관계형 데이터베이스의 한계를 뛰어넘기 때문에 IoT 워크로드에는 NoSQL 데이터베이스가 필요하다는 것이다. 이것은 분명 오해다. 많은 오라클 고객을 통해 입증된 바와 같이 사실이 아니다. 관계형 데이터베이스를 최적화하면 일부 NoSQL 환경 전체보다 오라클 RAC 클러스터 노드 하나에서 더 많은 데이터를 흡수할 수 있다. 여기서 중요한 부분은 최적화된 관계형 데이터베이스다.
전체적으로 IoT 워크로드의 특징을 보면 많은 수의 작고 가벼운 전환으로 구성되며 지리 관련 데이터 및 비구조적 데이터(비디오 또는 오디오)를 포함하는 경우가 많다. 예를 들어 손목 밴드에서 피트니스 데이터를 수집하는 기업은 걸음 수, 심박수 등과 함께 지리 데이터를 사용한다(사용자가 도보로 이동한 경로를 기록하기 위해).
최근 과장된 면이 있는 대량 흡수 워크로드는 사실 새로운 개념이 아니다. 예를 들어 오라클의 통신 고객 중 하나는 매초 수백만 건의 호출 세부 레코드를 처리한다. 이 분량은 하루 18테라바이트에 이른다.
관계형 데이터베이스에서 실행되는 증권 거래소의 경우 초당 18만 개의 메시지를 기록하며 이는 하루 15테라바이트의 데이터에 해당한다.
이 기업들은 어떻게 하는 것일까? 중요한 요건은 확장성, 유연성, 그리고 실시간 분석을 제공할 수 있는 속도다. 비구조적 데이터를 분류할 때 최적화된 하드웨어를 사용하는 것도 성공을 위한 중요한 구성 요소다.
IoT 핵심 1: 데이터베이스 확장성
확장성은 가용한 하드웨어 리소스에 비례해서 리소스가 증가하는 대로 제약 없이 처리량을 제공하는 역량이다. 오라클 데이터베이스 시스템을 확장하는 방법은 리얼 애플리케이션 클러스터(Real Application Clusters)와 샤딩, 두 가지다.
리얼 애플리케이션 클러스터(RAC)는 공유 스토리지에 연결된 서버 풀을 통해 패키지 또는 맞춤형 애플리케이션을 변경 없이 실행할 수 있게 해준다. 풀의 서버 하나에 장애가 발생해도 데이터베이스는 나머지 서버에서 계속 실행된다. 추가 처리 성능이 필요해지면 아무런 다운타임 없이 풀에 서버를 추가하기만 하면 된다.
샤딩은 큰 데이터베이스를 작은 데이터베이스, 즉 샤드로 분할한다. 갹 샤드는 각기 다른 하드웨어에 저장될 수 있다. 글로벌 소매 기업에서 판매하는 모든 상품이 포함된 초대형 관계형 데이터베이스가 샤딩된 형태를 생각해 보자. 데이터베이스의 각 샤드에는 상품 카탈로그의 일부분이 포함된다.
특정 상품을 찾는 쿼리가 들어오면 해당 상품 유형이 저장된 샤드를 알고 있는 데이터베이스 서버는 그 샤드에서 직접 데이터를 불러온다. 지금의 글로벌 경제 시대에서 얻는 부가적인 혜택은 각 국가마다 샤드를 만들어서 샤드별로 현지 규정을 적용할 수 있다는 점이다. 예를 들어 독일에는 모든 독일인의 데이터가 물리적으로 독일 영토 내에 저장되어야 한다는 규정이 있다. 샤드를 사용하면 쉽게 그 조건을 충족할 수 있다.
몽고DB(MongoDB), 마이크로소프트 SQL 서버, 포스트그레SQL을 포함해서 대규모로 운영되는 데이터베이스는 대부분 현재 샤딩을 제공한다. 그러나 데이터를 샤딩하는 것으로는 충분하지 않다. 이에 못지않게 중요한 것은 크로스 샤드 쿼리를 효율적으로 실행할 수 있는 역량이다. 이를 통해 전체적인 비즈니스 시야를 얻는 데 필요한 시간이 대폭 단축된다.
IoT의 핵심 요구 사항 중 하나는 대량 데이터의 신속한 흡수다. 데이터가 어디에서 스테이징되든 데이터 로드 속도는 데이터베이스 자체보다는 대부분 해당 스토리지로 가는 대역폭에 의해 좌우된다. 데이터를 로드하는 속도는 데이터를 읽는 속도보다 빠를 수 없기 때문이다. 네트워크에서 읽기 속도가 초당 200MB로 제한된다면 데이터를 로드하는 속도는 초당 200MB를 넘어설 수 없다.
확장성의 또 다른 중요한 구성 요소는 단일 행 삽입이 아닌 배열 삽입, 병렬 실행, 그리고 외부 테이블 사용이다.
IoT 핵심 2: 데이터베이스 유연성
유연성은 변화에 쉽고 빠르게 적응하는 역량이다. IoT는 여전히 초기 단계이며 각 디바이스에 따라 새로운 사용 사례가 나오고 있다. 따라서 데이터 형식의 변화에 맞춰 손쉽게 조정 가능한 역량을 갖추는 것이 필수적이다. 이 요구 사항에 대처하기 위해 개발자들이 즐겨 사용하는 방법은 JSON이다. JSON은 스키마 없는 표현을 애플리케이션과 데이터베이스에 모두 동일하게 사용할 수 있게 해주므로 앱 개발이 훨씬 더 간편해진다.
파티셔닝도 유연성의 중요한 요소다. 파티셔닝은 대량의 데이터를 더 용이하게 관리할 수 있게 해주며 전체적인 성능을 개선하고 애플리케이션 관점에서 완전히 투명하다. 또 다른 이점은 과거 데이터를 별도의 파티션에 저장해서 압축한 다음 낮은 티어의 스토리지로 옮길 수 있다는 것이다. 이렇게 하면 데이터 마이닝에 이 데이터를 사용할 수 있고 실시간 쿼리 성능도 저하되지 않는다.
IoT 핵심 3: 실시간 분석
비즈니스 결과 개선을 목표로 한 적시 데이터 분석이 없으면 데이터 속도 및 데이터 저장 속도를 높이기 위한 위와 같은 온갖 기법도 무용지물이다. 결국 기업은 데이터를 활용해야 하며 이는 데이터를 밖으로 꺼내야 한다는 의미다.
글로벌 소매 조직이라면 언제든 모든 샤드에 걸쳐 판매된 상품을 집계해 전 세계에서 가장 인기 있는 10가지 상품을 확인한다는 목표를 정할 수 있을 것이다.
국제 통신 기업이라면 몇 가지 다른 방식으로 이 데이터베이스 아키텍처가 도움이 될 수 있다. 이러한 기업의 쿼리는 대부분 고객에게서 온다. 따라서 샤딩과 파티셔닝을 모두 사용해서 쿼리 실행에서 데이터 저장의 상당부분을 제거해 고객 기대를 충족하는 속도를 실현할 수 있다.
이러한 기업 내부의 비즈니스 관리자는 고객 이탈을 줄이고 수익성을 높이고자 하므로 샤드와 파티션 전반에서 데이터를 마이닝해 패턴을 찾아 곧 서비스를 해지할 가능성이 높은 고객이 누구인지, 또는 미리 고객에게 제공할 만한 부가 상품(예를 들어 국제 데이터 요금제)은 무엇인지 등을 판단한다.
예를 들어 서비스를 해지한 고객의 청구 내역 데이터를 가져와서 분석할 수 있다. 이들이 해지하기 직전 무슨 일이 있었는가? 공통적인 패턴이 있는가? 예컨대 데이터 초과 사용으로 인해 3회 연속으로 요금폭탄을 맞은 직후 다른 통신업체로 전환한 고객이 많은가?
이러한 패턴을 찾는다면 선제적 조치를 취할 수 있다. 예를 들어 고객이 데이터 사용량 초과로 인해 두 차례 연속으로 상당한 요금을 지불했다면 담당자가 연락하여 데이터 사용량이 더 많은 다른 요금제를 제안해 서비스 해지를 방지할 수 있다.
데이터베이스 효율을 높이고 IoT 워크로드에 최적화된 하드웨어를 업데이트하기 위한 다른 방법은 이 백서에서 볼 수 있다. editor@itworld.co.kr
함께 보면 좋은 콘텐츠
Sponsored
Surfshark
“유료 VPN, 분명한 가치 있다” VPN 선택 가이드
ⓒ Surfshark VPN(가상 사설 네트워크, Virtual Private Network)은 인터넷 사용자에게 개인 정보 보호와 보안을 제공하는 중요한 도구로 널리 인정받고 있다. VPN은 공공 와이파이 환경에서도 데이터를 안전하게 전송할 수 있고, 개인 정보를 보호하는 데 도움을 준다. VPN 서비스의 수요가 증가하는 것도 같은 이유에서다. 동시에 유료와 무료 중 어떤 VPN을 선택해야 할지 많은 관심을 가지고 살펴보는 사용자가 많다. 가장 먼저 사용자의 관심을 끄는 것은 별도의 예산 부담이 없는 무료 VPN이지만, 그만큼의 한계도 있다. 무료 VPN, 정말 괜찮을까? 무료 VPN 서비스는 편리하고 경제적 부담도 없지만 고려할 점이 아예 없는 것은 아니다. 보안 우려 대부분의 무료 VPN 서비스는 유료 서비스에 비해 보안 수준이 낮을 수 있다. 일부 무료 VPN은 사용자 데이터를 수집해 광고주나 서드파티 업체에 판매하는 경우도 있다. 이러한 상황에서 개인 정보가 유출될 우려가 있다. 속도와 대역폭 제한 무료 VPN 서비스는 종종 속도와 대역폭에 제한을 생긴다. 따라서 사용자는 느린 인터넷 속도를 경험할 수 있으며, 높은 대역폭이 필요한 작업을 수행하는 데 제약을 받을 수 있다. 서비스 제한 무료 VPN 서비스는 종종 서버 위치가 적거나 특정 서비스 또는 웹사이트에 액세스하지 못하는 경우가 생긴다. 또한 사용자 수가 늘어나 서버 부하가 증가하면 서비스의 안정성이 저하될 수 있다. 광고 및 추적 위험 일부 무료 VPN은 광고를 삽입하거나 사용자의 온라인 활동을 추적하여 광고주에게 판매할 수 있다. 이 경우 사용자가 광고를 보아야 하거나 개인 정보를 노출해야 할 수도 있다. 제한된 기능 무료 VPN은 유료 버전에 비해 기능이 제한될 수 있다. 예를 들어, 특정 프로토콜이나 고급 보안 기능을 지원하지 않는 경우가 그렇다. 유료 VPN의 필요성 최근 유행하는 로맨스 스캠은 인터넷 사기의 일종으로, 온라인 데이트나 소셜 미디어를 통해 가짜 프로필을 만들어 상대를 속이는 행위다. 이러한 상황에서 VPN은 사용자가 안전한 연결을 유지하고 사기 행위를 방지하는 데 도움이 된다. VPN을 통해 사용자는 상대방의 신원을 확인하고 의심스러운 활동을 감지할 수 있다. 서프샤크 VPN은 구독 요금제 가입 후 7일간의 무료 체험을 제공하고 있다. ⓒ Surfshark 그 외에도 유료 VPN만의 강점을 적극 이용해야 하는 이유는 다음 3가지로 요약할 수 있다. 보안 강화 해외 여행객이 증가함에 따라 공공 와이파이를 사용하는 경우가 늘어나고 있다. 그러나 공공 와이파이는 보안이 취약해 개인 정보를 노출할 위험이 있다. 따라서 VPN을 사용하여 데이터를 암호화하고 개인 정보를 보호하는 것이 중요하다. 서프샤크 VPN은 사용자의 개인 정보를 안전하게 유지하고 해킹을 방지하는 데 유용하다. 개인정보 보호 인터넷 사용자의 검색 기록과 콘텐츠 소비 패턴은 플랫폼에 의해 추적될 수 있다. VPN을 사용하면 사용자의 IP 주소와 로그를 숨길 수 있으며, 개인 정보를 보호할 수 있다. 또한 VPN은 사용자의 위치를 숨기고 인터넷 활동을 익명으로 유지하는 데 도움이 된다. 지역 제한 해제 해외 여행 중에도 한국에서 송금이 필요한 경우가 생길 수 있다. 그러나 IP가 해외 주소이므로 은행 앱에 접근하는 것이 제한될 수 있다. VPN을 사용하면 지역 제한을 해제해 해외에서도 한국 인터넷 서비스를 이용할 수 있다. 따라서 해외에서도 안전하고 편리하게 인터넷을 이용할 수 있다. 빠르고 안전한 유료 VPN, 서프샤크 VPN ⓒ Surfshark 뛰어난 보안 서프샤크 VPN은 강력한 암호화 기술을 사용하여 사용자의 인터넷 연결을 안전하게 보호한다. 이는 사용자의 개인 정보와 데이터를 보호하고 외부 공격으로부터 사용자를 보호하는 데 도움이 된다. 다양한 서버 위치 서프샤크 VPN은 전 세계 곳곳에 여러 서버가 위치하고 있어, 사용자가 지역 제한된 콘텐츠에 액세스할 수 있다. 해외에서도 로컬 콘텐츠에 손쉽게 접근할 수 있음은 물론이다. 속도와 대역폭 서프샤크 VPN은 빠른 속도와 무제한 대역폭을 제공하여 사용자가 원활한 인터넷 경험을 누릴 수 있도록 지원한다. 온라인 게임, 스트리밍, 다운로드 등 대역폭이 필요한 활동에 이상적이다. 다양한 플랫폼 지원 서프샤크 VPN은 다양한 플랫폼 및 디바이스에서 사용할 수 있다. 윈도우, 맥OS, iOS, 안드로이드 등 다양한 운영체제 및 디바이스에서 호환되어 사용자가 어디서나 안전한 인터넷을 즐길 수 있다. 디바이스 무제한 연결 서프샤크 VPN은 무제한 연결을 제공하여 사용자가 필요할 때 언제든지 디바이스의 갯수에 상관없이 VPN을 사용할 수 있다.