BigData

VoltDB 및 ChartIO 를 활용한 실시간 데이터 스트리밍 기술

IT오이시이 2017. 7. 12. 19:58
728x90

VoltDB 및 ChartIO 를 활용한 실시간 데이터 스트리밍 기술


https://www.voltdb.com/blog/2017/03/14/gain-instant-insight-using-voltdb-chartio-real-time-data-streams/


https://www.voltdb.com/why-voltdb/fast-streaming-data/



빠른 스트리밍 데이터를 작업에 적용

데이터의 양과 속도가 증가함에 따라 빠른 데이터 응용 프로그램 구축의 어려움이 있습니다. 빠른 데이터 스택은 대형 데이터 호수에 빠르게 축적되는 이러한 고속 데이터 스트림을 처리하는 응용 프로그램을 구축하기 위해 업종과 산업 모두에서 사용되고 있습니다.

이 새로운 스택 인 빠른 데이터 스택은 실시간 데이터를 수집하고 밀리 초 단위로 권장 사항, 의사 결정 및 분석 을 출력 하는 독특한 목적을 가지고 있습니다. 향후 몇 년 동안이 빠른 속도의 데이터 스택이 눈에 띄어지고 스트리밍 데이터를위한 응용 프로그램을 작성하는 개발자를위한 출발점으로 작용할 것입니다.

ACID VoltDB 같은 호환 운영 데이터베이스는 같은 메시지 큐와 함께 카프카 나 운동성 데이터 섭취 및 수출, 분석, 의사 결정 및 실시간 행동이나 상호 작용을위한 별도의 트랜잭션으로 들어오는 각 이벤트 나 요구 사항을 처리 할 수 있습니다.



지금까지 "무슨 일이 일어나고 있는지"를 아는 것보다 더 중요한것은 없었습니다.

우리가 볼 수 있는 거의 모든 기술 개발 - IoT, 증강 현실 또는 지금 일어나고있는 수천 가지 다른 변화 중 하나 - 짧고 짧은 시간 단위로 일하는 것 연관되어 있습니다.

즉, 비즈니스를 운영하려면 현재 상황을 파악해야합니다일어나는 사건과 사건에 대해 아는 것 사이의 지연 때문에 우리의 행동 능력이 저해됩니다. 정보가 없으면 무언가를 할 수 없습니다. 빠른 이동 시스템은 오류가 발생하기 전에 오류가 확대되고 전달되도록합니다. 당신이 모르는 것을 막을 수 없기 때문에, 고성능, 실시간 명령 및 제어 시스템은 21세기의 중요한 인프라입니다.

대량으로 정확한 계수가 어렵다.

이벤트를 정확하게 계산하는 것이 비즈니스를 이해하는 데 중요하지만 매우 많은 수의 이벤트를 정확하게 계산하는 것은 어렵습니다.

기존의 방법은 정의 된 시간이 경과 할 때까지 모든 데이터를 저장 한 다음 계산하는 것입니다. 즉, 귀하의 기간이 5 분이면 결코 현실보다 5 분 이내에 있을 수 없습니다.  작은 시간 사이에 까워 질 수록 얻을수 없습니다. 그리고 시간의 차이가 더 작아 지면 질수록 계산 오버 헤드가 기하학적으로 증가 할 것이다.

다른 방법은 ACID 방식으로 각 이벤트가 발생할 때 필요한 카운터를 늘리는 것입니다. 이것은 소규모 데모에서 또는 깔끔하고 예측 가능한 순서로 표시되는 모든 데이터를 포함 하는 단순한 ' 쿵푸 빌린 '벤치 마크 에서 잘 작동합니다 그러나 기존의 데이터베이스는 많은 것들에 대한 동시 업데이트를 잘 처리하지 못하고 잠금 문제가 발생하기 쉽습니다. 특히 불완전한 트랜잭션이 많아 질수록 쿼리의 시작 부분에 일관성있게 일관된 상태 뷰를 제공하기가 어렵 기 때문에 대시 보드를 동시에 쿼리 할 때 쿼리를 싫어합니다.

NoSQL 솔루션은 일반적으로 최종 일관성이나 정확한 최신 번호를 보장하지 않는 다른 아키텍처에 의존하기 때문에 그리 좋지 않습니다.

ChartIO는 대시 보드 생성 문제를 근본적으로 해결하지만 데이터 이벤트 스트림을 분류하고 카운트하는 고성능 시스템이 필요합니다.

VoltDB 및 ChartIO로 '지금'으로 이동

VoltDB 는 이벤트를 정확하게 세고 분류하는 데 탁월한 Cloud-Friendly RDBMS 인 NewSQL입니다. 주요 미국 전화 회사는 여러 위치에있는 여러 사람이 계정을 공유하는 경우에도 실시간으로 휴대 전화 신용 사용 현황을 추적하는 데 사용합니다.

VoltDB의 강점은 초당 수십만 건의 트랜잭션을 처리 할 수 있다는 입증 된 능력입니다. ChartIO 대시 보드 시나리오에서 이러한 각 트랜잭션은 버스 정류장, 여러 거래 데스크가있는 조직의 지분 금액 또는 대기 시간 프로필과 같이 측정하고자하는 이벤트의 시간에 민감한 비동기 보고서 응용 프로그램 일 수 있습니다 

우리가 받은 각 트랜잭션은 상태를 추적하는 하나 이상의 테이블에서 하나 이상의 행을 업데이트 할 수 있습니다. VoltDB가 수백만 개의 '사물'을 한 번에 추적하는 것은 완전히 정상입니다.

그런 다음 VoltDB의 구체화 된 뷰 를 사용  하여 ChartIO의 JDBC 엔진이 작동 할 수있는 '실물'수준의 데이터를 합계로 변환 할 수 있습니다. - VoltDB의 견해의 핵심 기능은 테이블 변경시 그 값이 재계산되어 항상 올바르게 됩니다. 그리고 그들은 여전히 경합없이 읽고 읽기 일관성 기존 RDBMS 제품을 볼 문제가 될 수 있습니다.

실용성

  • 이 기능을 사용하려면 ChartIO에서 VoltDB의 포트 (기본적으로 21212)를 볼 수 있어야합니다.
  • 그런 다음 ChartIO의 사용자 인터페이스에서 사용할 수있는 VoltDB JDBC 드라이버를 사용해야합니다.
  • VoltDB는 모든 Linux 배포판에서 행복하게 작동하지만, 분명히 매우 무거운로드에는 크기 조정 / 개념 증명 운동이 필요합니다.
  • VoltDB는 AWS에서 한시간에 이용할 수 있으므로 PoC를 사용하여 손쉽게 시도 할 수 있습니다.

시작하기

결론

ChartIO와 VoltDB는 상호 보완 적입니다. VoltDB는 대량의 실시간 데이터 스트림을받은만큼 빨리 수집, 분류 및 계산할 수 있습니다. 그런 다음 ChartIO를 사용하여 데이터만큼 최신 대시 보드를 만들 수 있습니다.

728x90
반응형