태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

월간기술동향 | 클라우드, 대비하고 있나요?






<MS(마이크로소프트) CEO 사티아 나델라>


MS 사티아 나델라는 지난 1분기 실적발표 컨퍼런스콜에서 "2개월 만에 2년 동안 이뤄질 디지털 전환 혁신을 목격했다"고 말했습니다. 

코로나19는 기업의 디지털 트랜스포메이션을 강제로 앞당겼습니다. 기업은 코로나19 사태로 클라우드 컴퓨팅에 더욱 의존하게 되었죠.



시너지 리서치 그룹에 따르면, 올 2분기 클라우드 인프라 서비스 지출이 전년 동기 대비 75억 달러 증가한 300억 달러에 달한다고 합니다. 시너지 리서치 그룹 수석 애널리스트는 "클라우드 시장 성장은 코로나 19 팬데믹이 발생하지 않은 것과 거의 같다. 기업이 새로운 세상에 적응하는데 고군분투하면서 퍼블릭 클라우드 이점이 부각되고 있다. 2020년 클라우드 시장은 30% 이상 성장할 것이다"고 말했습니다.




코로나 팬데믹으로 재택근무와 온라인 수업 등 디지털 수요가 급증해 AWS, MS, Google 등 클라우드 기업 매출도 증가했습니다. AWS는 분기 매출액이 전년동기대비 29% 성장한 108억 1000만 달러를 기록했고, 아마존 전체 사업 중 AWS가 가장 많은 이익 기여를 했습니다. MS 애저 매출도 47%가 증가하며 클라우드 성과가 두드러졌습니다. 그리고 구글 GCP 매출액은 30억달러로 43% 증가했습니다. 이 외에도 중국 알리바바 그룹의 클라우드 사업 부문은 전년 동기 대비 59% 증가한 123억 4500만위안을 기록했습니다.




국내에서도 공공, 금융, 제조 등 많은 기업들이 클라우드 전환에 힘쓰고 있습니다. 클라우드 도입을 통해 비용을 절감하고 비즈니스 효율성과 민첩성을 확보해 미래 사회에 대비하려는 것인데요. 수많은 데이터와 비즈니스 중 어떤 것을 퍼블릭, 프라이빗, 하이브리드 클라우드에 서비스할 지 결정해야 합니다.


이런 클라우드 이용을 최적화하기 위해 필요한 것이 바로 모니터링 도구 입니다. 전체 환경에 대한 관리와 가시성을 확보해야하죠. 비용과 운영의 효율성을 추구하기 위해 클라우드를 도입했는데, 사람이 일일히 클라우드의 운영 상태를 파악하는건 어렵습니다. 또한 클라우드 환경으로 전환하면서 그 구성도 컨테이너 기반의 MSA(마이크로서비스아키텍처)로 점차 복잡해지고 있어 플랫폼의 종류와 상관 없이 연관된 모든 상황을 한 눈에 파악하여 체계적으로 관리할 수 있는 통합 관제의 필요성이 더욱 커지고 있습니다.


클라우드가 확산되면서, 클라우드 및 컨테이너 모니터링 솔루션도 시장에 많이 나오고 있습니다. 특히 엑셈의 CloudMOA(클라우드모아)는 현재 시장에서 대규모 MSA 기반 컨테이너 환경 관제를 감당할 수 있는 유일한 국산 솔루션인데요. 클라우드 도입과 함께 최적의 클라우드 활용을 위한 관제 솔루션도 꼭 함께 챙겨보시면 좋을 것 같습니다.









출처 및 참고자료

Synergy Research Group, Quarterly Cloud Spending Blows Past $30B; Incremental Growth Continues to Rise

디지털데일리, 코로나19 아랑곳 않는 클라우드 기업... AWS, MS, GCP 성장 지속

디지털데일리, 알리바바 클라우드, 분기 매출 59% 증가






기획 및 글 | 사업기획팀 박예영









엑기스 | XAIOps 톺아보기 2 - 엑셈의 기술력이 집대성된 솔루션

기술이야기/엑.기.스 2020. 8. 10. 15:29




지난 ‘XAIOps 톺아보기 1’에 이어, 이번 시간에는 본격적으로 XAIOps(싸이옵스)에 대해서 알아보겠습니다. 




XAIOps


AI기반 IT 운영 지능화 솔루션 XAIOps(싸이옵스)는 시스템 부하와 장애의 빠르고 정확한 예측, 부하의 패턴 분석과 비정상 탐지를 통한 종합적인 근본 원인 분석, 지능적 미래 장애 예측을 통한 선제적 대응, 예측된 비정상 및 장애에 대한 지능적인 스마트 알람 등으로 신속하고 능동적인 문제 해결을 가능하게 한다. 그 뿐만 아니라 XAIOps는 실시간 매트릭 데이터를 기반으로 분석하기 때문에 ‘장애 발생 후 수 분 이내 근본 원인 도출’이 가능한 강력한 성능을 보유하고 있다. 


<XAIOps(싸이옵스)의 실시간 모니터링 뷰>


운영에 문제가 되는 장애들을 해결하는 데 통상 짧으면 수십 분, 치명적인 경우 2~3시간이 소요되는 현실에 비추어 볼 때, XAIOps(싸이옵스)는 실무자들의 부담을 크게 덜어줄 것으로 예상된다. 또한 해외 시장 조사 업체에 따르면 글로벌 AIOps 시장은 연간 27% 이상 고속 성장이 예상되며, 이에 따라 국내 AIOps 시장 수요 또한 제1금융권을 중심으로 급속히 성장하고 있어 XAIOps의 성장세가 기대된다. 특히 코로나19 이후 엄격한 비대면(untact) 트렌드와 재택근무 등 기업 운영 방식의 변화와 더불어 하루가 다르게 거대하고 복잡해지는 IT 비즈니스 환경에서 IT 운영에서의 AI 자동화 요구가 전례 없는 속도로 증가하고 있다. 




딥러닝 기반 "부하 예측(Load Forecast)"

 

<XAIOps(싸이옵스)의 부하 예측 기술>


주요 지표들에 대한 미래 부하를 사전에 예측하는 기술로, 딥러닝(Deep Neural Network) 기술 중에 하나인 DNN Regression 모델을 사용하여 여러 input 지표들에 대해 다차원 hidden layer간의 연관 분석을 통해 결과 지표를 도출하는 예측 모델과 별도의 잔차(residual) 예측 모델을 추가(ICP: Inductive Conformal Production)하여 신뢰도(default:95%) 기준의 범위로 최종 예측 결과를 도출하는 방식을 도입하였다.


XAIOps는 이러한 딥러닝 모델을 최적화하여 다양한 영역의 WAS, DB, Systerm 등의 지표들에 대한 30분이내 단기 부하 예측을 통해 장애 발생 가능성을 사전에 예측/제시하여 선제적인 장애 대응을 할 수 있는 중요한 기준을 제시할 수 있게 되었다.

이는 일반적인 머신러닝 기술을 적용한 경쟁 솔루션 대비 약 15%이상의 예측 정확도를 보장할 만큼 고도화·정교화 되었다고 본다.




지표별 최적의 “이상 탐지(Anomaly Detection)” 모델 제시


IT운영에서 발생되는 시계열 성능 데이터는 데이터 발생 유형과 성격에 따라 특정한 모델 하나로 학습할 경우 이상 탐지 여부의 정확도에서 신뢰도가 떨어진다. 따라서 XAIOps는 각 지표별로 최적의 성능을 제시할 수 있는 최적의 3가지 알고리즘 모델을 제시하여 최적의 이상 탐지를 찾아낼 수 있도록 고도화하였다. 


1) Baseline 기준 이상 탐지 모델


2) Autoencoder 모델


3) Robost Autoencoder 모델



이상 트랜잭션 탐지


<이상 트랜잭션 탐지 모델>


WAS 모니터링을 하다보면 응답시간이 지연되는 트랜잭션에 대해 method level trace 분석을 필요시 진행하는 경우가 있다. 이를 장애시 마다 매번 찾아서 분석하는 작업을 머신러닝 기술인 K-Means Clustering 알고리즘을 적용하여 트랜잭션별 call trace를 학습시킴으로서 평상시와는 다른 패턴으로 실행된 이상 트랜잭션/거래를 자동 추출할 수 있게 되었다. 이렇게 추출된 데이터를 기반으로 시각적으로 빠르게 판단하고 분석할 수 있도록 하는 이상 트랜잭션 탐지 모델은 XAIOps 만의 고유 기술이다.




근본 원인 분석(Root Cause Analysis)

<XAIOps의 장애 근본 원인 제시 뷰>


시간 부하 예측, 이상 탐지 및 상관관계/인과관계 분석 기능 등을 통해 장애 발생시 근본 원인에 대한 추론을 최대한 빠르게 제시하는 부분이 가장 핵심 기술 중 하나이다. 장애에 대한 빠른 탐지(MTTD: Mean Time To Discovery)와 발생된 장애를 최대한 빠르게 분석하여 복구할 수 있도록 제시(MTTR: Mean Time To Recovery(Repair))할 수 있는 부분이 엑셈만이 제시할 수 있는 IT 운영의 노하우의 집대성이라 할 수 있다. 장애 인지와 동시에 장애 근본 원인을 요약 제공하는 “Summary Information” 부분과 하단에 각 영역별(Transaction, WAS, DB, OS 등) 해당 시점의 문제 포인트를 함께 상세하게 제공하여 빠른 장애 판단이 가능하도록 한다.



AI(인공지능) 특허 취득


엑셈은 지난 7월, AI(인공지능)를 활용한 이상 탐지 관련 특허 2건을 취득했다. 2건의 특허는 머신러닝 기술을 적용하여 정상 데이터와 비정상 데이터를 분류하기 위한 정상 데이터 범위를 생성하고, 이에 대한 정확도를 높이기 위해 정상 데이터들의 임곗값을 조정하여, 정상 데이터 판단의 정확도와 이상 탐지의 정확도를 향상하기 위한 기술이다. XAIOps에는 본 특허 기술과 유사한 메커니즘과 더욱 최적화한 머신러닝 상세 알고리즘이 적용되었다. 




현재 XAIOps는 국내 다수의 제1금융권, 공공기관, 대형 유통사 등에서 PoC를 성공적으로 수행하며 가시적인 성과를 앞두고 있습니다. 엑셈의 No.1 모니터링 기술력과 IT 운영 관리 경험에 AI 기술이 더해진 XAIOps. 엑셈의 독보적인 AI 기반 IT 인프라 운영 관리 기술과 서비스를 기대해주세요!









기고 | 신기술본부 류길현

편집 | 사업기획팀 박예영










월간기술동향 | 인도에 쏟아지는 러브콜






최근 인도에 러브콜이 쏟아지고 있습니다. 

인도의 Jio에 투자하는 실리콘밸리 기업들이 도대체 왜 인도에 이렇게 관심을 갖는지, 이번 시간에 살펴보겠습니다.



<올해로 5년째를 맞는 Google for India 이벤트>


지난 7월 14일, 구글이 온라인으로 개최한 ‘Google for India’라는 이벤트에서 구글은 인도 디지털화(Digital India)에 7년간 총 100억 달러(약 12조 650억원)를 투자하겠다는 발표를 했습니다. 발표 후, 바로 인도의 이동통신사 Jio에 45억 달러를 투자하며 7.73%의 지분을 확보하게 되었고요.


사실 구글은 GPay, Read Along, 홍수 예방 AI 등 인도에 이미 많은 투자를 하고 있었습니다. 그럼에도 불구하고 추가로 100억 달러라니, 인도의 시장 잠재력이 어마무시한 것 같죠?



 

사실 인도 시장 베팅에 가장 빠르게 움직인 기업은 페이스북입니다. 인도는 현재까지 페이스북의 사용자가 2억 8천만명에 달하고, 8천 8백만명의 인스타그램 사용자와 4억명이 넘는 왓츠앱(Whatsapp) 사용자가 있습니다. 페이스북에겐 아주 큰 시장이죠. 


지난 3월 Jio에 57억 달러(약 6조 8,770억원)를 투자해, 9.99% 지분을 보유했는데요. 우리나라의 카카오톡과 유사한 채팅 앱인 왓츠앱이 인도에서 문제없이 확장하는 길을 마련했다는 평가를 받으며, 왓츠앱과 결제 시스템의 연결도 노리고 있는 것으로 보입니다.



인텔과 퀄컴도 Jio에 투자했습니다. 인텔은 7월 3일, VC자회사 인텔캐피탈을 통해 Jio에 2억 5,350만 달러(약 3천억원) 투자로 0.39%의 지분을 획득했습니다. 이번 투자로 인텔 솔루션의 인도 5G 네트워크 점유율 확보에 도움이 될 것 같은데요. 이어서 퀄컴의 투자회사 퀄컴벤처스도 7월 13일, Jio에 73억 루피(약 1천억원)를 투자해 0.15%의 지분을 확보한다고 밝혔습니다. 


 

지난 1월 17일, 아마존의 제프 베조스가 인도를 깜짝 방문했습니다. 여기서 베조스는 10억 달러(약 1조 2,650억원)의 인도 투자계획을 발표했습니다. (베조스의 방문은 인도 사람들이 아마존과 AWS에 반대하는 움직임이 벌어지는 와중에 이루어졌습니다.)


<Jio – 인도의 대표적인 통신사이자 인터넷 서비스 기업, 출처 : Jio 홈페이지>


계속 투자를 당기고 있는 Jio는 지난 3개월간 무려 202억 달러의 투자를 유치했습니다. 실리콘밸리 뿐만 아니라, KKR, TPG 등과 같은 미국 사모펀드들이 수십억 달러를 투자했고, 무바달라(아랍에미레이트 국부펀드, 12억 달러 투자)와 PIF(사우디아라비아 국부펀드, 15억달러 투자)도 들어와 있습니다. 



<실리콘밸리 기업들의 인도 투자 총정리>




왜 인도에 투자할까요?

1. 낮은 인터넷 보급률
인도의 인구는 약 13억명인데, 인터넷 사용자 숫자는 5억명 정도입니다. (인터넷 보급률 34%) 8억명의 인구가 인터넷을 쓰지 않는데, 이것이 바로 큰 시장이죠. 
참고 : 대한민국, 미국, EU 인터넷 보급률 85%, 중국 인터넷 보급률 65%

2. 중국을 견제
중국의 성장속도는 엄청나게 빠릅니다. 마침 인도는 중국과 국경분쟁 등으로 사이가 나빠지고 있고요. 최근 인도에서 중국 IT 앱을 금지하기도 했습니다. (그리고 Jio는 전 세계에서 유일하게 중국산 제품을 단 하나도 쓰지 않은 이동통신사라고 하네요!)

3. Jio의 사업 계획
Jio는 IT 서비스들을 대규모로 확장해서 실시하려고 하는 계획을 가지고 있는데요. 전자상거래, 지불결제, 농업, 의료, 교육 등에 5G, 클라우드, IoT, 블록체인, AR/VR 등을 접목해 디지털 혁신을 이뤄내려 하고 있습니다. 

<Jio의 사업 계획, 출처 : telecoms.com>


4. 광고, 전자상거래, 클라우드, 5G 등 신사업의 성지
인도의 인터넷 사용자 숫자는 최근 급속도로 증가하고 있습니다. 특히 중소기업들의 인터넷 전환 속도가 빨라 구글이 광고, 클라우드 매출을 늘릴 수 있는 기회가 되고 있습니다. 5G 역시 성장 가능성이 높아 인텔과 퀄컴이 투자한 것 같고요. 
또한 인도는 현재 빠르게 이커머스(E-Commerce)쪽으로 옮겨가고 있기 때문에, 아마존 등의 서비스가 급격히 성장하고 있습니다. 아마존은 적자를 감내해가면서 전자상거래 시장을 꾸준히 노리고 있고, 클라우드 서비스 또한 확대해 나가고 있죠.
그리고 페이스북 또한 결제, 전자상거래 등 신사업 개척을 하고 있는 상황에서 인도 시장 진출을 꾀하고 있습니다. 인도에서 틱톡(TikTok)이 금지된 후 발빠르게 유사 서비스인 Instagram Reels을 테스트 하고 있기도 하죠.



실리콘밸리 기업들의 많은 투자로 인도에서 수많은 혁신과 성장이 이루어질 것 같은데요. 
앞으로 기술 흐름이 어떻게 흘러가는지 주의 깊게 살펴봐야겠습니다.










출처 및 내용 참고





기획 및 글 | 사업기획팀 박예영








엑기스 | XAIOps 톺아보기 1 : 원천 데이터 수집의 근간

기술이야기/엑.기.스 2020. 7. 2. 10:24






엑셈의 AI(인공지능) 기반 IT 운영 지능화 솔루션 XAIOps(싸이옵스)에 로그프레소의 빅데이터 플랫폼인 ‘로그프레소 엔터프라이즈’를 탑재했습니다. 이를 통해 이상 징후와 장애의 사전 인지 능력과 사후 분석 능력을 동시에 제공할 수 있는 완성도 높은 기술 기반을 마련했는데요. 이번 시간에는 XAIOps가 내부적으로 어떤 데이터 수집 엔진을 적용했는지 알아보겠습니다.




실시간 빅데이터 기술

 

실시간 빅데이터 기술은 배치처리의 대상이 되는 이력 데이터(Historical Data)는 물론 실시간 스트리밍 데이터(Real-time Streaming Data) 처리 기술이 포함되어 있는데, 이번에 XAIOps에서 채택한 실시간 빅데이터 기술은 하나의 엔진에서 이 두 가지 형태의 데이터 처리가 가능하다.


<AIOps Platform에서의 실시간 빅데이터, Gartner그림 편집>


배치처리인 맵리듀스(MapReduce)를 필두로 한 하둡(Hadoop)진영이 빅데이터 시장의 서막을 열었고, 곧이어 실시간 스트리밍 데이터 처리의 필요성이 대두되자 스파크(Spark)가 이끄는 스트리밍 기술이 주목 받기 시작하였다. 이 두 가지 기술의 등장과 함께 람다 아키텍처(Lambda Architecture)가 동거를 시작했다. 그러나 실시간과 배치는 시계열의 스펙트럼에서의 한시적인 구분일 뿐 데이터 자체는 동일했기 때문에, 실시간 시스템에서 생성된 데이터를 다시 배치 시스템으로 밀어 넣는 과정에서 성능 이슈, 정합성의 이슈가 빈번히 발생하게 되어 람다 아키텍처는 사실상 하나의 신화(myth)로 전락하게 되었다. 


또한 람다 아키텍처는 빅데이터에서는 실시간, 배치 빅데이터를 동시에 다루는 것이 필요하며, 특히 양립한 복수의 시스템에 데이터를 전달하는 것은 비효율적이라는 것을 증명하는 계기가 되었다. 그렇기 때문에 XAIOps를 구성할 때 실시간 처리와 배치성 처리를 하나의 엔진에서 수행할 수 있는 빅데이터 처리 엔진의 채택은 아키텍처로 인한 여러 가지 문제를 사전에 차단하는 좋은 선택이었다.




실시간 이벤트 프로세싱 기술


실시간 스트림 처리는 실시간 분석이 가능한 기술이지만, 시간의 흐름에 따라 차곡차곡 처리하는 방식이기 때문에 특정 이벤트가 나중에 나타난 이벤트와 연관을 지어 분석해야 할 경우 배치처리에 의존할 수밖에 없다. XAIOps의 경우에도 복잡한 이벤트에 대해 실시간 알람을 수행해야 하는 경우가 발생하는데, 이를 클라이언트에 집중시키거나 할 경우 복잡도가 급격히 증가하고, 전체 성능도 가늠할 수 없기 때문에 선행 사건과 후행 사건을 연관 지어 실시간 분석하는 방식은 반드시 필요하다. 


이번에 도입한 실시간 빅데이터 기술은 CEP(Complex Event Processing)도 통합되어 있기 때문에 실시간 스트림 처리에서 쿼리 방식으로 활용이 가능하다. 실시간 이벤트 처리는 선행 이벤트가 발생하면 CEP 엔진에 이벤트에 관한 정보를 등록하고 후행 이벤트에서 선행 이벤트가 발생했는지 여부를 확인하는 방식으로 활용된다. 


<실시간 이벤트 활용 예시, 출처: 로그프레소>
 
위 그림의 경우 이상거래탐지시스템(FDS : Fraud Detection System)에서 전형적으로 활용되는 방식으로, 보이스 피싱이 발생하는 경우 입금 이벤트에서 의심 계좌로 등록된 계좌에 입금이 발생하면 CEP 엔진에 입금 이벤트 Topic을 생성하게 된다. 그러나 의심 계좌는 그야말로 의심 계좌이기 때문에 이 입금 자체는 문제가 아니지만, 금융사가 보기에 입금되고 나서 10분 이내에 출금이 되는 경우 보이스 피싱이라고 간주할 수 있다. 이러한 이유로 이 입금 이벤트는 한시적인 기한을 두고 CEP 엔진에 머물러야 하며 이벤트 발생 후 주어진 시간(예를 들어 10분)이 되면 자동으로 CEP 엔진에서 삭제되어야 한다. 이 상황에서 해당 계좌로 출금이 발생하면 CEP엔진에 입금 이벤트가 남아 있는 지만 파악하면 보이스 피싱 여부를 확인할 수 있게 된다. 

즉, 출금 이벤트가 발생했을 때 스트림 쿼리에서 CEP 엔진에 입금 이벤트가 있는지 확인하기만 하면 되는데, 입금한 지 10분 내로 출금을 시도하는 경우 당연히 CEP 엔진을 통해 입금 이벤트가 남아 있는 것이 확인되기 때문에 보이스 피싱으로 탐지가 될 것이고, 10분이 지난 후라면 입금 이벤트는 이미 CEP엔진에서 사라졌을 것이기 때문에 의심 계좌이지만 보이스 피싱이 아닌 정상 거래라고 볼 수 있게 되는 것이다. 

CEP는 사용자가 이벤트 발생 횟수, 이벤트 데이터, 이벤트 시간 등의 여러 가지 방법으로 활용이 가능하여 다양한 방식으로 적용이 가능하며, CEP엔진 자체가 인메모리 기술을 활용하고 있어 마이크로초 단위의 성능을 보여주고 있기 때문에 스트림 쿼리와 함께 사용한다면 완벽한 실시간 처리가 가능하게 된다. 



고속 인덱스 기술


빅데이터에서 다루는 데이터는 상당한 대용량이다. 실시간으로 하루 10GB의 데이터를 처리해서 저장한다고 해도 1년이 되면 3.6TB에 달하게 된다. 실시간 처리 이후에는 이 데이터를 대상으로 검색이나 분석을 수행하게 되기 때문에 고속 검색과 분석 기술을 확보하는 것은 매우 중요하다. 


이 중 검색은 대량의 데이터에서 소량의 일부 데이터를 빠르게 찾아오는 기술이다. 인덱스는 데이터 처리에 있어 거의 기본이기 때문에, 빅데이터 뿐만 아니라 DBMS에서도 일반적으로 사용된다. 그러나 RDBMS에서 주로 사용되는 인덱싱 방식이 B*Tree라면 검색엔진 빅데이터 기술에서 사용되는 인덱스는 역인덱스(Inverted Index)이다.


<빅데이터와 RDBMS 인덱스의 차이점, 출처 : 로그프레소>


B*Tree는 인덱스 컬럼 값에 따라 정렬된 형태로 저장되며 Root, Branch, Leaf 블록을 계층 형태로 구성하여 데이터를 검색할 때 값을 비교하여 탐색하게 된다. Leaf블록에는 순서대로 정렬된 컬럼 값과 함께 실제 데이터가 저장된 위치를 알 수 있는 정보가 있어 이를 통해 원본에 접근하게 된다. 위 그림에서 만약 97이라는 값을 찾는다고 가정하면 Root 블록의 값인 122보다 작기 때문에 왼쪽 Branch 블록으로 이동한다. Branch에서도 비교를 통해 오른편 Leaf 블록으로 이동하고 여기서 순서대로 탐색하여 97을 찾아낸다. 이렇게 B*Tree 인덱스는 정렬이 되어 있어 탐색이 빠른 장점이 있는 반면, 정렬을 유지하기 위해서 데이터가 저장될 때 인덱스의 기록은 순차적으로 되어야 하는 단점이 있다. 또한 나뭇잎이 많은 나무는 가지가 크고 많아지는 것처럼 데이터가 증가함에 따라 인덱스의 깊이가 깊어져 성능이 점차 떨어지게 된다. 이러한 단점으로 인해 B*Tree 인덱스는 빅데이터에서 적합한 솔루션으로 자리 잡지 못하게 된 것이다.


반면 역인덱스는 본래 검색엔진에서 주목받기 시작하여 빅데이터에서도 꾸준히 활용되고 있다. 역인덱스가 다루는 데이터는 보통 비정형/반정형이 많기 때문에 이를 검색에서 활용되는 토큰을 추출하는 토크나이징 과정이 필요하다. 토크나이징만 되면 토큰에 원본을 찾을 수 있는 정보를 계속해서 추가하게 되고, 검색은 토큰에 매달린 주소들로 원본을 찾아가는 방식이다. B*Tree와 달리 인덱싱에 들어가는 비용은 토크나이징과 추가(Append)밖에 없기 때문에 고속의 인덱싱이 가능하고 탐색도 토큰만 빨리 찾기만 하면 성능이 보장된다. 하지만 이 방법도 단점이 존재한다. B*Tree의 경우 탐색의 효율을 위해 생성 시 정렬을 하게 되는데, 역인덱스는 정렬을 하지 않기 때문에 검색 성능이 복불복일 수밖에 없게 된다. 무엇보다 없는 토큰을 찾기 위해서는 모든 토큰을 확인해야 하므로 검색 결과가 0일 때 가장 많은 시간이 소요된다. 또한 탐색 자체가 IO이기 때문에 인덱스의 크기가 커짐에 따라 탐색하는 시간이 비례한다는 것도 문제가 된다. 


XAIOps에서 채택한 기술은 이러한 문제를 역인덱스 뒤에 블룸필터 인덱스를 덧대어 놓는 것으로 해결하였다. 블룸필터는 일종의 해시 함수로 빠른 검색이 가능하도록 해준다. 역인덱스의 결과를 블룸필터 인덱스로 인덱싱을 하게 되면 데이터의 유무와 위치를 고속으로 탐색할 수 있게 된다. 그리고 역인덱스 토큰 정보에 비해 미미한 수준의 크기만 필요하기 때문에 인덱스의 크기에 크게 영향을 받지 않는다. 여기에 인덱싱 과정에서 데이터에 타입을 부여하는 정형화 과정을 거쳐 타입, 필드 형태의 필드 인덱스 기술이 추가되었다. 블룸필터 인덱스가 탐색을 위한 인덱스 아키텍처의 보완이라면 필드 인덱스는 탐색 후 처리를 위한 보완이라고 볼 수 있다. 


토크나이징을 거친다는 것은 모든 데이터를 문자열로 인식한다는 것이 전제되어 있다. 문자열은 숫자와 다른 정렬 방식을 가지는 특성뿐만 아니라 맥락이 존재하지 않기 때문에 이후 재검색이 추가로 필요하게 될 수도 있어 검색 후에서 성능 저하 요소가 잔존하게 된다. 필드 인덱스는 인덱싱 단계에서 데이터의 필드와 타입을 가지고 생성되기 때문에 맥락에 따른 정확한 인덱싱이 가능하며 and/or 조건으로 탐색을 하는 경우에도 탐색 대상을 좁혀서 원본에 접근할 가능성이 커지게 되어 최적의 성능을 보장할 수 있게 해 준다. 이러한 인덱싱 기술에 힘입어 리눅스 서버 한 대에서 1TB 데이터(약 25억건)를 랜덤 인덱스 검색을 수행할 경우 1초 미만의 검색 성능을 보여주고 있다.




컬럼 스토리지 기술


인덱스는 대량의 데이터에서 소량의 데이터를 빠르게 가져오는 기술이다. 그러나 분석, summary의 경우는 대량의 데이터에서 일부 컬럼들 전체를 대상으로 연산을 수행한다. 빅데이터는 처음부터 대량의 데이터에 대한 IO 집약적인 처리 방식을 염두에 두고 나온 기술이기 때문에 분산이라는 기술을 당연하게 여기고 있었다. 그러나 데이터가 점점 더 늘어날수록 분산에 투입되는 서버 자원도 늘어남에 따라 분산의 한계가 드러나기 시작했다. 분산의 노드와 마스터 간의 네트워크를 통한 데이터 교환의 한계가 나타나기 시작한 것이다. 여기에 추가 투입되는 하드웨어 자체의 비용과 관리 비용의 증가도 눈에 띄게 되어 대용량 처리의 제약으로 작용하기 시작했다. 


이와 달리 XAIOps에서 채택한 빅데이터 기술은 하나의 서버에서 확보할 수 있는 성능을 취하는 관점으로 설계가 되어 대용량의 Aggregation을 위해 분산이 아닌 VLDB에서 사용되는 Columnar 기술을 내장하고 있다.


<Row기반 Storage와 Column기반 Storage, 출처: 로그프레소>

 

DW DB에서는 거의 기본으로 row 기반 저장 방식을 사용한다. 우리가 다루는 데이터의 최소 단위는 건(row)이고 이 row는 여러 개의 컬럼으로 구성되어 있다. 기본적으로는 데이터가 들어오는 방식 그대로 row를 차곡차곡 저장하게 된다. 


Columnar는 row 형태로 저장하는 것이 아니라 row를 컬럼 단위로 해체하여 동일한 컬럼끼리 저장하는 방식이다. 이렇게 저장하는 것이 Summary에 특화되는 것은 전체 row가 아니라 일부 컬럼만을 선택하여 연산하는 Aggregation과 같은 분석의 특성 때문이다. 대량의 데이터를 모두 가져와 필요한 컬럼만을 남기고 버리는 것이 아니라, 필요한 처음부터 필요한 컬럼을 가져오도록 하여 최적의 성능을 취할 수 있게 해 주는 것이다. 주목해야 할 점은 정형 데이터가 아니라 로그 데이터와 같은 비정형/반정형 데이터에 대해서도 Columnar를 적용할 수 있다는 점이다. 


XAIOps가 선택한 컬럼 스토리지 기술은 쿼리에서 집계하는 대상 컬럼 데이터를 높은 효율로 읽을 수 있도록, 열 단위로 값 벡터를 나열하여 불필요한 I/O 작업을 회피하고 CPU 캐시 활용을 극대화하고 있다. 이로 인해 스키마리스 컬럼 스토리지 기술은 원본 로그 저장과 포맷의 변화를 수용하면서도 높은 OLAP 분석 성능을 낼 수 있게 된다. 또한 전사 시스템, 애플리케이션 로그 등도 분석의 대상이 될 수 있기 때문에 이러한 형태의 데이터를 Columnar로 다룰 수 있게 되면 장기간 분석도 굉장히 빠른 시간 내에 처리가 가능하게 된다.




JIT 쿼리 컴파일 기술


XAIOps는 AI 기술이 근간을 이루면서 학습을 위한 데이터 전처리는 일정 부분 빅데이터 처리 엔진에서 담당해주어야 전체 시스템의 성능을 보장할 수 있게 된다. 이 작업은 앞서 언급한 단순히 저장된 데이터를 빠르게 가져오는 것이 전부가 아니고 디스크나 메모리에서 획득한 데이터의 연산 성능도 영향을 미치게 된다. 가장 좋은 방법은 연산에 필요한 처리 조직을 최적화하여 미리 컴파일해 놓는 방법이지만, 사이트 별로 요구 사항이 다른 상황에서는 각각 자유롭게 대응할 수 있도록 쿼리를 지원하는 것이 좋다. 이는 이미 수십 년 전 데이터베이스가 도입될 때 증명이 된 사실이기도 하다. 


<고속 연산을 위한 JIT 쿼리 컴파일 기술, 출처: 로그프레소>

 

쿼리를 통해 자유도를 높일 경우 개별 쿼리와 함수들을 순차적으로 처리하는 과정에서 반복된 로직이 최적화되지 않은 상태로 진행될 소지가 다분하다. 이러한 폐단은 어느 시스템에서나 발생할 수 있기 때문에 나열된 쿼리를 기계적으로 순차 수행하도록 놔두어서는 안 된다. 그래서 강구해낸 방안이 JIT 쿼리 컴파일 모델이다. JIT 쿼리 컴파일 기술은 쿼리 실행 시점에 코드를 생성하면서 불필요한 조건 분기와 루프로 인한 오버헤드를 모두 제거함으로써, 빅데이터 쿼리 분석을 실행할 때 최상의 성능을 도출하게 된다. 이를 통해 중첩 join과 같은 복잡한 쿼리를 사용해도 최상의 성능을 나타낼 수 있어 AI로 학습데이터를 가공하는 데이터 탐색의 시간을 최소화할 수 있다. 이 기능은 시스템 전반에 적용되기 때문에 summary, 실시간 처리 등에서도 최적화된 쿼리 성능을 보여주게 된다.


XAIOps는 이러한 다양하고 효과적인 기술이 녹아 있는 빅데이터 엔진을 선택하여 대용량의 데이터, 어떠한 상황이 오더라도 빠르고 정확한 결과를 도출할 수 있도록 한다. XAIOps를 통해 IT업계의 한 전기가 마련될 수 있으리라 기대하고 있다. 



다음 편에는 완성된 솔루션을 확인할 수 있는 'XAIOps 톺아보기 2'가 이어집니다.




기고 | 로그프레소 김한도

편집 | 사업기획팀 박예영










월간기술동향 | '데이터'로 通하는 대한민국



이번 월간기술동향에서는 앞으로 달라질 대한민국의 모습과 이에 따라 주목받는 IT 분야를 함께 살펴보겠습니다.




'데이터 비식별화'가 핵심! - 데이터 3법 개정안 시행


‘개인정보보호법’, ‘정보통신망법’, ‘신용정보법’을 우리는 ‘데이터 3법’이라 부릅니다. 데이터를 기반으로 새로운 가치를 창출해내는 ‘데이터 경제’ 시대를 맞아 안전한 데이터 이용을 위한 데이터 3법 개정안이 올해 초 국회 본회의를 통과, 다가올 8월 5일에 시행됩니다.

데이터 3법 개정안이 궁금하다면? 주요 내용 보러가기


데이터 3법 개정은 흩어져 있던 개인정보 관련 규정을 정비하고, 모호했던 판단 기준을 명확히 하며, ‘가명정보’의 개념을 도입해 빅데이터 시대 정보 활용도를 제고하는 것을 주 내용으로 하고 있습니다. 개정안에 따르면, ‘가명정보’는 상업적 목적을 포함한 통계 작성과 연구, 그리고 공익적 기록보존 목적으로 동의 없이 활용될 수 있습니다.

 

 

‘가명정보’에 대해서 조금 더 알아볼까요? 추가정보의 사용 없이는 특정 개인을 알아볼 수 없게 조치한 정보를 가명정보라고 하는데요. 가명정보가 법의 테두리 안으로 들어오면서, 개인정보를 가명정보로 처리하는 ’비식별화’ 기술이 주목받고 있습니다. 비식별화는 데이터셋에서 개인을 식별할 수 있는 요소 전부 또는 일부를 삭제하거나 대체하는 방법을 활용해 개인을 알아볼 수 없게 하는 방법입니다. 

데이터 3법 개정안 시행을 앞두고 시행하고 있는 ‘마이데이터’ 사업까지 더불어, 활용 가치가 큰 데이터를 축적해온 금융·공공 분야의 데이터 비식별화 수요가 급속도로 증가하고 있는데요. 엑셈의 관계사 ‘아임클라우드’도 민감정보 비식별화 솔루션 “SDGUARD”를 발표하며 데이터 비식별시장 공략에 본격적으로 나섰습니다. 엑셈의 빅데이터 분석 및 컨설팅 역량과 아임클라우드의 데이터 비식별화간의 시너지 효과가 기대되네요.

4차산업혁명의 원유로 불리는 데이터의 활용! 데이터 3법의 개정으로 비식별화 기술 발전과 다양한 데이터의 결합, 데이터 기반의 신기술 개발 등 우리나라의 데이터 기반 경제 발전, 기대해봐도 좋겠죠?

>>관련 기사



4차 산업혁명 기술의 총집합 - 한국판 뉴딜


지난 월간기술동향에서 '한국판 뉴딜'의 3대 영역 프로젝트와 10대 중점 세부 추진 과제를 살펴보았는데요. 정부는 오는 2025년까지 총 76조원의 역대급 규모를 투입하기로 했습니다.

 

 

한국판 뉴딜은 고용안전망 기반위에 디지털 뉴딜과 그린 뉴딜의 2가지 큰 축으로 추진됩니다. 디지털 뉴딜은 ▲D.N.A 생태계 강화 ▲디지털 포용 및 안전망 구축 ▲비대면 산업 육성 ▲사회간접자본(SOC) 디지털화 등이 주요 추진 사업입니다. 그린 뉴딜은 ▲도시·공간·생활 인프라 녹색전환 ▲녹색산업 혁신 생태계 구축 ▲저탄소·분산형 에너지 확산 등을 추진합니다. 

 

 

정부에서는 디지털 뉴딜 정책의 일환으로 국민 생활과 밀접한 15개 분야의 빅데이터 플랫폼과 센터의 추가 구축을 진행하고, 14만개 규모의 공공데이터를 개방하기로 했습니다. 또한 과학기술 기계 학습 데이터 구축 및 운영 시스템 개발 등 대규모 공공 데이터 인프라 구축에도 나섰습니다. 그 뿐만 아니라 5G를 기반으로 정부 업무망을 고도화하고, 행정정보시스템의 15%를 클라우드 서버 기반으로 전환할 계획도 가지고 있습니다.  


한국판 뉴딜 정책이 구체화되면서, 5G와 인공지능(AI)뿐만 아니라 다양한 빅데이터 플랫폼 구축 기회와 클라우드 전환 계획을 확인할 수 있었는데요. 엑셈의 빅데이터 사업 기회와 클라우드 통합관제 솔루션 CloudMOA(클라우드모아)의 무대가 더욱 확대될 것으로 예상됩니다. 다가올 7월 확정될 종합계획 수립 방향에 대해서도 지속적으로 살펴봐야겠습니다.


>> 관련 기사



데이터로 실현하는 초연결사회 - K-UAM


5년 뒤인 2025년이면 교통체증없이 도심 하늘을 나는 '드론 택시'가 현실이 됩니다. 정부는 지난 6월 4일, '한국형 도심항공교통(K-UAM) 로드맵'을 확정했습니다. 친환경·저소음 3차원 교통수단인 도심항공교통(UAM, Urban Air Mobility)이 안전하고 편리한 교통서비스로 단계적으로 실현, 교통체증 없는 도심 하늘 길을 개척함으로써 새로운 시간과 공간의 패러다임을 창출할 계획입니다.


국토부 주도하에 현대자동차의 개발로 진행되는 '드론 택시'는 인천공항에서 여의도까지 약40km 거리를 20분 만에 주파할 수 있어, 기존 자차로 소요되는 시간의 1/3 수준입니다. 교통이 혼잡한 출퇴근 시간의 경우 김포공항에서 잠실까지는 약73분(34km)이 소요되는데, UAM을 이용할 경우 12분(직선거리 27km)만에 도착이 가능해 약 84%의 시간을 줄일 수 있습니다. 

 

 

정부는 교통 정체로 인한 이동 효율성 저하와 물류 운송 등 사회적 비용을 70%까지 절감할 수 있을 것으로 기대하고 있는데요. 오는 11월 국내에서는 처음으로 드론 택시 시범 비행에 들어갑니다. UAM 성장 기반 마련에 박차를 가하기 위해 정부에서는 관련 규제를 연구하고 인프라를 구축하고 있습니다. 


국토부가 발표한 UAM 관련 핵심 7대 기술은 ▲수직이착륙, ▲장거리비행, ▲분선전기추진, ▲모터구동·하이브리드, ▲자율비행, ▲센서, ▲소음·진동입니다. 7대 핵심 기술도 중요하지만, 그 기반이 되는 수많은 데이터를 잘 구축하고 운영해야만 활용할 수 있겠죠? 정부가 엑셈과 같이 데이터 노하우가 집성된 기업과 함께 빅데이터 인프라를 잘 구축하고 운영한다면 대한민국의 UAM 기술 발전은 더욱 탄력을 받을 것입니다.

UAM은 대도시권에 인구가 집중되면서, 지상교통의 혼잡을 해결하는 대안으로 주목받고 있습니다. 모건스탠리는 2040년까지 UAM 시장 규모가 1조 5,000억달러(약 1,800조원)에 달할 것으로 전망하고 있고요. 드론 택시 상용화를 통해 진정한 초연결사회로 진입할 대한민국의 모습이 기대됩니다.


>> 관련 기사

조선비즈, 인천공항→여의도 20분만에 주파…2025년에 ‘드론 택시’나온다

메가경제, 한국형 도심항공교통(K-UAM)의 실증사업 일정과 7대 핵심기술




데이터로 通(통)하는 대한민국의 변화, 여러분들은 어떻게 생각하시나요?









기획 및 글 | 사업기획팀 박예영








엑기스 | SQL Server) 분할된 테이블에서 효율적으로 통계 관리하기

기술이야기/엑.기.스 2020. 6. 8. 15:55




테이블은 MSSQL에서 가장 최소단위의 데이터 집합 단위입니다.

데이터의 양이 많을수록 테이블을 읽고 쓰고 수정하는 데 필요한 비용이 늘어나는데, 이를 개선하기 위한 기능으로 분할된(Partitioned) 테이블이 존재하고, 이 기능은 관리 효율성과 성능 면에서 다음과 같은 이점이 있습니다. 



1. 데이터 하위 집합을 빠르고 효율적으로 전송하거나 액세스할 수 있을 뿐만 아니라 데이터 컬렉션의 무결성을 유지할 수 있습니다.

2. 하나 이상의 파티션에서 유지 관리 작업을 더 빠르게 수행할 수 있습니다. 

   전체 테이블 대신 이 데이터 하위 집합만 대상으로 하기 때문에 작업이 더 효율적입니다.

3. 자주 실행하는 쿼리 유형과 사용 중인 하드웨어 구성에 따라 쿼리 성능이 향상될 수 있습니다.

4. 전체 테이블이 아니라 파티션 수준에서 잠금 에스컬레이션을 설정하여 성능을 향상시킬 수 있습니다.


그리고 분할된 테이블을 사용하게 되면 통계적 측면에서도 이점이 생깁니다. 증분통계(Incremental)옵션이 그 기능입니다. 


통계는 기본적으로 인덱스를 생성할 때 같은 이름의 통계가 자동 생성됩니다. (인덱스가 없는 column을 조건으로 조회했을 때 생기기도 합니다.) 이렇게 생성된 통계 정보는 Query를 수행했을 때 사용되는 비용을 예측하여, 최적화된 실행 계획을 세울 수 있게 해줍니다. 


하지만 데이터를 수정·변경·삭제할 때 통계 데이터도 업데이트가 되고, 테이블의 모든 데이터를 기반으로 업데이트 하고 있기 때문에 그에 따른 비용이 많이 발생합니다. 비효율적인 예시로, 최근 대량의 데이터가 삽입, 수정, 삭제되는 상황에서는 과거 데이터에 대한 통계에 변화가 없습니다. 


하지만 통계가 업데이트가 될 때에는 테이블의 전체 데이터를 기반으로 샘플링하여 업데이트를 하게 되고, 과거 데이터까지 포함하여 통계 업데이트가 되기 때문에 이 부분에서 비효율이 발생합니다. 증분 통계는 그 비효율을 감소시킬 수 있습니다.


이제 Partition의 효율을 확인하기 위해 일반테이블과 분할된 테이블의 조회에 대한 I/O 비교와 일반 통계와 증분 통계의 통계 업데이트에 쓰이는 I/O 비교를 해보겠습니다.




일반 테이블

1. 효율을 확인하기 위해 테스트용 테이블 TestSalesOrderDetail을 생성하였고, 해당 테이블의 구조입니다.


2. 인덱스는 ModifiedDate 컬럼에 Non Clustered로 생성하였습니다.



3. 전체 테이블의 row 수는 약 378만이고, 단독 Partition으로 구성되어 있습니다.



4. 해당 쿼리를 수행하면 Table Scan을 하게 됩니다. 모든 데이터를 스캔하여 제시된 조건에 맞는 데이터만 결과 집합으로 나타냅니다.

   논리적 읽기를 44,274만큼 합니다.








분할된 테이블


1. 파티션 데이블은 데이터를 특정 컬럼(ModifiedDate)에 기준을 만들어서 분할하는 테이블입니다.


2. TestSalesOrderDetail에서 ModifiedDate 컬럼을 연도별로 기준을 지정했고, 그 기준에 따라 분할되어 저장했습니다.



3. Partition을 각각 확인해보면, 전체 테이블의 row 수는 약 368만이고, 

   1번 partition은 6,718, 2번은 315,247, 3번은 1,875,219, 4번은 1,482,530입니다.



4. 이전과 동일한 쿼리를 수행하면 Table Scan을 하지만, 테이블의 전체 데이터를 스캔하지 않고, 

   제시된 조건이 포함하는 Partition만 스캔하여 결과 집합으로 나타냅니다. 

   논리적 읽기를 4,519로 일반 테이블에 비해 1/10 정도 감소한 것으로 볼 수 있습니다.






5. 일반 테이블과 분할된 테이블의 StmtText를 비교해 보면, 분할된 테이블에서는 

   조회하고자하는 데이터가 속한 Partition을 먼저 탐색한 후에 스캔을 하기 때문에 논리적 읽기 수를 많이 줄일 수 있습니다. 

   위가 일반, 아래가 Partitioned 테이블의 동일한 쿼리에 대한 StmtText입니다.





일반적인 통계


1. 일반적인 테이블이나 분할된 테이블에서 인덱스를 생성하면 모두 통합된 통계로 생성됩니다.

   아래에 보이는 것은 내부적으로 수행되는 Trace인데, 통계를 생성하기 위한 I/O가 쓰이는 것을 볼 수 있고, 

   통계 데이터를 조회해보면 테이블의 전체 데이터를 기반으로 샘플링하는 것을 확인할 수 있습니다.



2. 특정 파티션에 해당하는 데이터만 변경했을 때에도 옵티마이저는 테이블의 전체 데이터를 샘플링하여 통계를 업데이트합니다. 

   (샘플링은 데이터 양에 따라 비율이 조정됩니다.) 테이블이 분할되어 있어도 통계 데이터는 분할되어 있지 않기 때문입니다. 

   통계가 자동 업데이트 될 수 있도록 임계치 이상의 데이터를 업데이트 하였고, 관측한 통계 업데이트에 사용되는 I/O는 1,947입니다.





증분 통계


1. 이런 비효율을 해결할 수 있는 옵션은 Incremental(증분 통계) 업데이트 입니다.



2. 이 옵션은 테이블이 Partitioning 되어있을 경우 ON/OFF 할 수 있는 옵션이며, SQL Server 2014 이상 버전에서 사용이 가능합니다.


3. 옵션을 ON으로 설정하게 되면 기존의 통계를 분할된 통계로 재생성하게 됩니다.



4. 분할된 통계로 구성된 이후에 데이터를 수정하거나 변경이 있어 통계가 업데이트 되는 경우, 모든 데이터의 통계를 업데이트하지 않고 변경된 데이터가 속한 Partiton의 통계만 업데이트하게 됩니다. 통계 업데이트에 쓰이는 I/O는 185로 일반 통계에 비해 1/11 정도 감소한 것을 알 수 있습니다.




분할된 테이블 및 증분 통계 옵션을 통한 기대효과를 아래 표로 정리하며 마무리하겠습니다.


<분할된 테이블 및 증분 통계 옵션을 통한 기대효과>










기고 | 신기술본부 김국현

편집 | 사업기획팀 박예영