본문 바로가기
SingleStoreDB/사례연구

[사례 연구, Pinterest_에너지기업] SingleStore를 통해 실시간 대쉬보드 구축

by 에이플랫폼 [Team SingleStore Korea] 2019. 8. 8.

실시간 의사 결정을 가능하게 하고 향상된 고객 경험을 제공하려면 실시간 분석이 필요합니다(실시간 백서 다운로드). 실시간 애플리케이션 구축은 데이터 파이프 라인을 연결하는 것으로 시작합니다. 정보에 기반한 의사 결정을 신속하게 내리려면 애플리케이션 데이터를 빠르게 수집하고 이를 취급할 수 있는 형식으로 변환하여 저장한 후 쉽게 액세스할 수 있어야 합니다. (1 초 미만의 속도)


이 비디오에서는 이전 버전의 SingleStore가 어떻게 실시간 분석 스택의 핵심 역할을 했는지 보여줍니다.

https://www.youtube.com/watch?v=gapTJYxyV2E

 

SingleStore가 분석을 지원하는 방법

SingleStore의 분석적 접근 방식을 간단히 살펴 보겠습니다. SingleStore는 운영 분석을 위한 가장 빠르면서 실시간에 최적화된 관계형 데이터베이스입니다. SingleStore는 확장 가능함으로 시스템이 요구하는 만큼 노드를 확장할 수 있습니다. 그리고 SingleStore는 입증된 SQL 구문을 사용합니다. SingleStore는 분석가들에 의해 운영 분석을 위한 최고의 데이터베이스로 선정이 되었습니다.

SingleStore의 기업 목표는 모든 기업들이 실시간 엔터프라이즈로 거듭날 수 있도록 도움을 주는 것입니다. 모든 기업이 실시간 데이터 파이프 라인을 구축하고 해당 파이프 라인에 대한 실시간 분석을 수행할 수 있도록 하는 것을 의미합니다. 이에 SingleStore는 데이터가 들어오는 즉시 기업들이 데이터 분석을 빨리 할 수 있도록 많은 노력을 기울이고 있습니다.(여기에는 주요 BI 툴이 지원하는 비즈니스 분석(BI) 대쉬보드에 대한 지원이 포함됨)

실시간 분석의 목적은 데이터가 인입될 때 데이터를 통해 통찰력을 얻고 비즈니스에 의미를 부여하고자 하는 것입니다. 따라서 먼저 배치 작업을 수행한 다음 나중에 분석을 수행하지 말아야 합니다. 데이터가 시스템에 유입될 때 분석을 수행하려는 경우 분석은 실시간 비즈니스 인텔리전스 대쉬보드를 구축하고, 고객 경험을 개선하고, 효율성을 높이고, 새로운 매출 기회를 창출하는데 사용됩니다.

일반적인 실시간 데이터 파이프 라인은 다음과 같이 구성이 됩니다.

  • 피드를 캡처하고 게시하기 위해 분산 메시징 시스템을 통해 애플리케이션 데이터가 수집됩니다.
  • 정보를 추출하고 데이터를 보강하며 올바른 형식을 제공하기 위해 변환 계층이 호출됩니다.
  • 지속성, 쉬운 응용 프로그램 개발 및 분석을 위해 운영(실시간) 데이터웨어 하우스(DW)에 데이터가 저장됩니다.
  • 여기에서 실시간 BI 대쉬보드를 강화하기 위해 SQL을 사용하여 데이터를 쿼리 할 수 ​​있습니다.

실시간 분석을 하고 비즈니스에서 실시간 분석 아이디어를 판매하려면 BI 대쉬보드가 필요합니다. SingleStore와 함께 일한 모든 고객은 BI 툴을 갖고 있었습니다. 자체 개발되었거나 Tableau, Zoomdata, Looker, MicroStrategy, Qlik 등 타사 플랫폼 중 하나를 사용하여 구축되었습니다.

이제 이와 같은 비즈니스 대쉬보드를 지원하는 모든 BI 툴의 공통 요소는 인터페이스만 제공한다는 것입니다. 일반적으로 백업 데이터 저장소를 제공하지 않습니다. 실시간 통찰력을 얻을 수 있도록 데이터를 저장하는 장소가 필요합니다.

따라서 시각화를 실시간으로 만들려면 실시간 백업 저장소가 필요합니다. 또한 이러한 종류의 시각화는 특정 언어를 사용하는 백업 저장소에만 연결이 됩니다.

위 그림에서 가장 오른쪽에 있는 것은 실시간 시각화입니다. 그 옆에는 데이터 연속성(data persistence)이 있습니다.

다음은 실시간 분석을 위한 데이터 연속성 요소의 4가지 특성입니다.

1. 인메모리 및 SSD(In-Memory and Solid State)

인 메모리와 SSD 스토리지를 활용해야합니다. 요즘 인 메모리와 SSD를 사용할 수 없는 데이터베이스가 있다면 아마도 빠르지 않을 것입니다.

2. 분산 아키텍처

가장 빠른 데이터베이스는 분산 구조입니다. 이는 데이터를 검색할 수 있도록 대규모 병렬 처리를 원하기 때문에 많은 노드에 데이터를 저장하고 모든 데이터를 병렬로 처리하고자 하기 때문이다.

3. 데이터 소스 연결

다양한 소스에 연결할 수있는 데이터 영구 저장소가 필요합니다. 네이티브 SQL이 들어오는 것만 지원하는 것은 중요하지 않지만 데이터 저장소는 다른 소스에서 데이터를 수집할 수 있어야 합니다.

4. 유연한 배포

클라우드와 온프라미스에 배포가 요구됩니다. 점점 더 많은 워크로드가 클라우드로 이동하고 있으며, 클라우드는 이 분야에서 점점 더 강력한 역할을 하고 있습니다.

즉, SingleStore는 실제로 위의 4가지 포인트가 모두 됩니다. SingleStore는 확장 가능한 SQL 데이터베이스입니다. 이는 ANSI SQL 표준을 준수하는 MySQL, PostgreSQL, Oracle, SQL 데이터베이스들과의 큰 차이점으로 SingleStore는 유연한 확장 기능을 가지고 있다는 것입니다.

Pinterest 사용 사례

Pinterest를 사용하면 모바일 디바이스나 데스크탑에서 수행하는 모든 핀(Pin)과 리핀(Re-pin)이 Kafka로 펌핑됩니다. 그리고 카프카로부터 전달된 데이터가 스파크에서 변형이 됩니다. 실제로 위치 정보와 기타 정보를 추가한 다음 SingleStore에 저장을 합니다.

그런 다음 SingleStore에서 임시 쿼리(Ad-hoc)와 같은 쿼리를 수행하여 테스트할 수 있습니다. 일반적으로 광고 타겟팅 목적으로 A/B 테스트를 수행합니다. 그리고 큰 혁신이면서 기술적 이점은 초당 1GB의 수집을 수행하므로 약 72TB의 수집이 가능하며 모든 스트리밍 데이터를 받아서 실시간 분석을 하고 있다는 것입니다.

에너지 사용 사례

이 에너지 기업은 드릴의 현재 상태를 확인하기 위해 실시간 분석 파이프 라인을 만들었습니다. 석유를 시추하는 석유 가스 기업입니다. 그들이 특정 방향으로 시추하는 동안 드릴이 암석에 부딪히는 것은 안 좋은 상황입니다. 각 드릴 비트는 수백만 달러의 비용이 듭니다. 따라서 그들이 해야할 일은 드릴이 올바른 방향으로 진행이 되고 있는지 여부를 실시간으로 판단하는 것입니다.

따라서 센서에서 실시간 입력이 이루어집니다. 그들은 모든 정보를 Kafka로 펌핑합니다 – 모든 드릴 비트(Drill bits)의 모든 센서 정보, 데이터가 도착하면 Spark를 통해 데이터가 전송되고 예측 분석 모델이 실행됩니다.

이 모델은 SAS에서 개발되었으며 Spark를 사용하여 모델을 실행하거나 시스템 모델을 실행하거나 모델 스코어링을 수행합니다. 일단 거기에 도달하면 결과를 SingleStore에 배치하여 드릴 비트(Drill bits)로 특정 사전 조치를 취해야하는지 여부를 결정할 수 있습니다. 이것이 실시간 분석을 제공하는 실시간 데이터 파이프 라인의 또 다른 예입니다.

아래의 데모를 참조하면 프레젠테이션을 볼 수 있습니다.

풍력 터빈 데모

여기 이미지는 전 세계에 위치한 풍력 터빈에 있는 2백만 개의 센서 데이터를 보여줍니다. 이 데모는 시뮬레이션입니다. 풍력 터빈의 위치는 실제입니다. 이것은 실제 데이터 셋이지만 센서의 활동은 여기서 시뮬레이션이 됩니다.

여러분은 여기서 제가 세계를 돌아다닐 수 있고 저의 풍력 발전소와 풍력 발전기가 어디에 있는지 볼 수 있다는 것을 알게 될 것입니다. 저는 특별히 많이 유럽에 갈 것입니다. 왜냐하면 제가 동유럽에 풍력 발전소와 풍력 발전기가 많이 있다는 것을 알기 때문입니다.

여기서 파이프 라인은 다음과 같습니다. 이 모든 정보는 제가 언급한 에너지 기업의 사용 사례와 매우 유사합니다. 이 모든 풍력 터빈의 모든 데이터에는 각각 센서가 있으며 그 데이터는 모두 Kafka에 저장됩니다. Kafka에서 Spark로 이동 한 다음 간단한 회귀 분석 모델을 수행하여 풍력 터빈의 작동 위치와 방법을 결정합니다.

따라서 노란색이나 녹색 또는 빨간색으로 보이는 것은 본질적으로 시간이 지남에 따라 터빈이 어떻게 작동하는지에 대한 예측입니다. 따라서 빨간색인 경우 곧 교체해야 합니다. 그리고 당신은 빨간 것들이 결국 녹색으로 변한다는 것을 알 수 있습니다. 왜냐하면 그것은 시간이 지남에 따라 천천히 녹슬거나 시간이 지남에 따라 마모되기 때문입니다. 그리고 그것들은 분해되고 수리이 되어집니다. 그래서 실시간으로 모든 것을 시각화한 것을 여기서 볼 수 있습니다.

이것은 SingleStore 클러스터를 보기 위한 GUI 대시보드인 SingleStore Ops의 화면입니다. (추가로, 고급 GUI인 SingleStore Studio도 제공함) 앞에서 설명한 것처럼 SigleStore는 분산 데이터베이스임으로 여러 시스템에 동일한 소프트웨어가 설치되어 운영이 되고 운영 상황을 여기서 모니터링이 가능합니다.

여기에 16 대의 머신이 있고 모든 머신이 동적으로 움직이는 것을 볼 수 있습니다. 녹색이 보이면 CPU가 SingleStore와 함께 작동한다는 의미입니다. 이유는 실시간으로 데이터가 Kafka에서 Spark로 SingleStore로 전송되고 이 대쉬보드에서 렌더링되기 때문입니다. 따라서 파이프 라인으로 들어오는 실시간 데이터를 기반으로 새로운 통찰력을 사용자에게 보여줄 수 있습니다.

August 6th, 2019

Floyd Smith

 

 


출처: https://www.singlestore.com/blog/ideal-stack-real-time-analytics/

 

The Ideal Stack for Real-Time Analytics

SingleStore drives real-time analytics, including business intelligence dashboards. BI dashboards require fast queries, scalable concurrency, and SQL support.

www.singlestore.com

 

 

​※ www.a-platform.biz | info@a-platform.biz