01 소개
VoltDB는 몇 밀리 초 이내에 응답해야하는 애플리케이션에 대한 인프라 지원을 제공하는 고속 의사 결정 엔진입니다. 적용 가능한 시나리오에는 BSS (정책 및 청구), 사기 방지, 고객 가치 관리 (예 : 개인화) 및 실시간 산업 자동화가 포함됩니다. 또한 실시간 의사 결정이 수익을 늘리거나 손실을 줄일 수있는 시나리오입니다.
이러한 애플리케이션은 일반적으로 VoltDB가 다양한 이기종 컴퓨팅 소프트웨어 에코 시스템에서 실행되어야하며 Apache Kafka를 비롯한 다양한 기술과 통합 및 도킹되어야합니다. 실제로 Kafka는 엔터프라이즈 메시지 대기열에 선호되는 미들웨어가되었습니다. Kafka 커넥터의 풍부한 에코 시스템을 사용하면 다른 기술 프레임 워크를 VoltDB와 쉽게 통합 할 수 있습니다.
Kafka에서 데이터를 추출하여 추가 처리를 위해 다운 스트림으로 전달할 수있는 기술이 많이 있지만 실시간 데이터 의사 결정 요구 사항을 동시에 완료 할 수있는 기술은 극소수에 불과합니다.
Kafka Topic을 구독함으로써 VoltDB는 Kafka에서 직접 데이터를 추출하고 10 밀리 초 이내에 데이터 결정을 완료 한 다음 즉시 결과를 Kafka로 다시 전송하고 사기가 성공적으로 구현되거나 수익 기회가 상실되기 전에 관련 결정 실행을 완료 할 수 있습니다. .
VoltDB는 기업이 Kafka 기술 생태계에 가치를 추가 할 수 있도록합니다. 복잡한 스트림 데이터에 대한 실시간 의사 결정 기능을 실현하여 애플리케이션 개발이 중요한 비즈니스 로직 처리에 집중하고 데이터 분석, 처리 및 수정을 실시간으로 완료 할 수 있도록합니다.
VoltDB와 Kafka의 통합을 통해 고객은 전화 사업자가 90 개국 이상의 사용자에게 실시간 개인화 된 서비스를 제공 할 수 있도록하는 등 다양한 애플리케이션 시나리오를 가능하게하여 대규모의 높은 동시성이 필요한 대규모 스포츠를 지원하고, 스포츠 플랫폼은 부드럽고 개인화 된 사용자 경험을 제공합니다.
성숙한 이벤트 기반 소프트웨어 아키텍처에서는 VoltDB에 가입하기 만하면되고, 애플리케이션은 실시간 추론 및 의사 결정 요구에 효과적으로 대응할 수있는 실시간 분산 트랜잭션 의사 결정 기능을 얻을 수 있습니다. 5G 시대의 사물 인터넷과 기계 학습.
5G, 기계 학습 및 사물 인터넷의 급속한 발전과 함께 VoltDB 및 Kafka 기술의 도킹은 매우 성숙해졌으며 Kafka는 복잡한 스트리밍 데이터를 빠르고 원활하게 쿼리 할 수 있습니다. Kafka는 스트리밍 데이터 처리를 위해 2011 년에 구축되었습니다. 그 당시에는 5G, 사물 인터넷, 머신 러닝 등 실시간 처리에 대한 수요가 그다지 높지 않았기 때문에 Kafka는 일부 시나리오에서 정상적으로 작동 할 수 있지만 복잡한 스트림 데이터의 현대적인 빠른 쿼리 장면에 적합하지 않습니다.
02 Kafka의 힘
오늘날의 경제는 지식과 데이터를 기반으로합니다. 과거의 석유 경제에서와 마찬가지로 현대 기업은 인프라를 구축하고 이러한 지식과 데이터를 빠르고 효율적으로 처리해야합니다.
선형 데이터 흐름 만 허용하는 중앙 관리 시스템을 생성함으로써 Apache Kafka는 시스템의 복잡성을 크게 줄입니다. Kafka는 완전히 처음부터 구축되었으며 처리량은 연결된 구성 요소보다 훨씬 높습니다. 마지막으로 실시간 스트리밍 데이터 플랫폼으로 구축되어 항상 데이터 스트리밍을 실시간으로 전달할 수 있습니다.
Kafka는 정보 전송에 능숙 할뿐만 아니라 무제한 수평 확장 성 및 간단한 데이터 저장이라는 다른 장점이 있으며 실시간 스트리밍 데이터 전송 중에 성능 손실없이 데이터를 저장할 수 있습니다.
Kafka plus KsqIDB는 SQL과 유사한 언어를 통해 실시간 스트림 데이터를 읽을 수 있지만 데이터를 저장하고 계산해야하는 경우 NoSQL 데이터베이스, 스트림 처리 기술 및 규칙 엔진과 같은 다양한 보조 도구가 필요합니다. 5G, 산업용 사물 인터넷 및 관련 실시간 제어 루프의 낮은 지연 표준과 지능형 요구 사항을 충족하려면 이러한 기술을 VoltDB라는 미들웨어로 패키징해야합니다.
03 선택 : 통합 또는 교체
아키텍처 및 이벤트 중심 아키텍처의 개발 정도에 따라 애플리케이션은 가져 오기-내보내기 프레임 워크를 사용하여 VoltDB를 Kafka 메시지 대기열과 통합하거나 새로운 주제 기능 자체를 사용하여 VoltDB를 Kafka 메시지 대기열로 사용할 수 있습니다. 다음은이 두 가지 옵션에 대한 간략한 개요입니다.
3.1 가져 오기-내보내기 프레임 워크를 사용하여
VoltDB의 가져 오기-내보내기 프레임 워크를 사용하면 다른 기술 (예 : Kafka, Kinesis, JDBC, Elastic, Hadoop 등)과 코드없이 통합 됩니다.
가져 오기 프로그램은 이벤트에 따라 추출하기 위해 데이터 스트림을 VoltDB로 전송하는 동시에 VoltDB로 저장 및 가져온 후 메시지 / 레코드의 지속성을 보장합니다. 그런 다음 내보내기는 At-Least Once 시맨틱을 사용하여 후 처리 메시지 / 레코드를 다운 스트림 시스템으로 푸시 할 수 있습니다.
3.2
Importer 프레임 워크를 가져 오면 사용자 프로그램이 VoltDB를 이벤트 기반 아키텍처에 통합 할 수 있습니다. VoltDB의 Importer 프레임 워크는 다음 프로세스를 관리합니다.
- 사용 가능한 새 데이터에 대해 외부 시스템 폴링
- 데이터 가져 오기
- 데이터를 하나씩 처리
- 동일한 스토리지 프로세스에서 데이터를 애플리케이션의 비즈니스 로직으로 차례로 전송하여 사용자의 맞춤형 비즈니스 처리를 완료합니다.
다른 시스템에 대한 임포터는 구성 파일 또는 VoltDB의 사용자 인터페이스를 통해 선언적으로 구성 할 수 있습니다. 이러한 기본 제공 가져 오기 도구는 데이터베이스가 시작될 때 자동으로 실행되고 데이터베이스가 중지되면 자동으로 중지되므로 데이터 가져 오기가 데이터베이스 작업 프로세스의 일부가됩니다. 또한 Importer 커넥터는 수집 된 이벤트에 대한 지속성을 제공하여 재해 발생시 데이터가 손실되지 않도록합니다. 가동 중지 시간없이 실행중인 데이터베이스에서 가져 오기의 인스턴스를 만들 수 있습니다.
VoltDB Kafka Importer는 Kafka 소비자 API를 사용하여 여러 Kafka 브로커 및 여러 주제에서 데이터를 추출합니다. 개발자는 Kafka Consumer와 동일한 속성을 사용하여 가져 오기 도구를 구성 할 수 있습니다.
3.3 내보내기 및
내보내기는 가져 오기의 역방향 프로세스를 자동으로 수행하고 내보내기 테이블 또는 스트림에 기록 된 모든 데이터를 캡처하여 파일, 서비스 (예 : Kafka) 또는 기타 데이터베이스에 관계없이 연결된 외부 대상으로 보냅니다.
개발자는 특정 레코드를 내보내거나 TTL 만료로 인해 테이블에서 삭제 된 행을 마이그레이션하도록 선택할 수 있습니다. 내보내기 프로세스는 트랜잭션 방식이므로 개발자는 내보내기 중에 레코드가 손실되지 않도록 할 수 있습니다. VoltDB는 각 데이터 레코드가 적어도 한 번 (최소한 한 번) 내보내도록 보장합니다.
3.4 교체
VoltDB 주제 기능 (베타)
v10.1에서 Topic 기능을 사용하면 애플리케이션이 게시 및 구독 의미 체계를 사용하여 VoltDB에 연결할 수 있습니다. 이 기능은 다른 시스템과의 통합을위한 더 나은 의미를 제공하는 것 외에도 VoltDB를 메시지 대기열로 사용하여 VoltDB 실시간 데이터 흐름 관리 및 실시간 데이터 처리를 한 번에 완료 할 수 있습니다.
이 기능을 통합하기위한 표준 Kafka 소비자 API 및 생산자 API를 통해 VoltDB는 특히 지연 시간이 짧은 트랜잭션 처리가 필요한 데이터 흐름 시나리오에서 Kafka를 쉽게 대체 할 수 있습니다.
그림
의 새로운 주제 기능이 응용 프로그램에주는 이점은 다음과 같습니다.
- Kafka 클러스터의 크기를 줄여 비용 절감
- 스패닝 구성 요소로 인한 네트워크 지연을 줄여 전체적인 종단 간 지연을 줄입니다.
- 더 단순한 아키텍처 디자인
- Kafka Connect 에코 시스템 재사용
Kafka API Topic을 구현하는 VoltDB의 장점 중 하나는 Kafka Connect를 재사용 할 수있어 VoltDB가 Kafka를 원활하게 대체 할 수 있으며 VoltDB를 Kafka와 통합 된 인기있는 기술 솔루션과 통합하는 것이 더 쉽다는 것입니다. 애플리케이션 시스템 아키텍처에서 몇 가지 구성 요소를 교체해야만 게시자와 사용자를 직접 포함 할 수 있으며 풍부한 Kafka Connect 생태 구성 요소를 완전히 재사용 할 수 있습니다.
소스 및 싱크 Kafka 커넥터를 사용하여 다양한 시스템을 VoltDB와 통합함으로써 개발자는 데이터 파이프 라인을 쉽게 연결하여 메시지 대기열을 복잡한 의사 결정 엔진과 결합하는 고유 한 이점을 최대한 활용할 수 있습니다.
04 결론
현대의 빅 데이터 및 5G 시나리오 요구 사항은 기존의 기본 소프트웨어 아키텍처 시스템의 적용 가능성과 많은 충돌이 있습니다. 기존 인프라는 급변하는 애플리케이션 시나리오에 대처할 수있는 충분한 용량이 없기 때문에 역사가 되려고합니다. Kafka는 2011 년에 발명되었습니다. 5G와 사물 인터넷의 개념이 없었던 시대 였고, 단순한 쿼리 처리 기능을 갖춘 프로그램이 여전히 그 시대에 적합했습니다. 지금은 시대가 다릅니다 Kafka는 여전히 강력한 스트림 데이터 프로세서이지만 복잡한 스트림 데이터에 대한 실시간 의사 결정을 완료하려면 여전히 오프 사이트 지원이 필요합니다.
Kafka를 사용하는 경우 VoltDB와 Kafka의 통합도 쉽습니다. 그러나 우리는 Kafka의 강력한 기능과 고객의 요구를 믿고 이해하기 때문에 항상 Kafka와 같은 핵심 기술과 통합 할 수있는 더 많은 방법을 찾고 있습니다. 이것이 Kafka Importer 및 Exporter 도구를 만든 이유이며 또한 개발하고 있습니다. 새로운 pubs. -sub 함수 이유.
가장 중요한 것은 고객이 Kafka를 사용하든 사용하지 않든, 우리 모두는 고객의 데이터베이스 아키텍처가 성가신 솔루션을 제공하기보다 비즈니스 목표를 지원하고 가속화하기를 바랍니다. 이것이 우리가 항상 다양한 옵션을 제공하고 고객과 데이터 아키텍처 요구 사항을 논의하는 이유입니다.
VoltDB 정보
VoltDB는 ACID 요구 사항을 손상시키지 않고 상호 연결된 세계를 달성하기 위해 실시간 지능형 의사 결정이 필요한 애플리케이션을 지원합니다. 다른 어떤 데이터베이스 제품도 낮은 대기 시간, 대규모, 높은 동시성 및 정확성의 조합이 필요한 애플리케이션을 동시에 응원 할 수 없습니다.
VoltDB는 2014 년 Turing Award를 수상한 Mike Stonebraker 박사에 의해 설립되었으며, 그는 오늘날 증가하는 실시간 운영 및 기계 학습 과제를 해결하기 위해 관계형 데이터베이스를 재 설계했습니다. Stonebraker 박사는 40 년 이상 데이터베이스 기술을 연구 해 왔으며 빠른 데이터, 스트리밍 데이터 및 메모리 데이터베이스에 많은 혁신적인 아이디어를 가져 왔습니다.
VoltDB를 개발하는 동안 그는 인 메모리 트랜잭션 데이터베이스 기술을 사용하여 스트리밍 데이터를 채굴 할 수있는 잠재력을 깨달았습니다. 스트리밍 데이터는 데이터 처리의 지연 및 동시성 요구 사항을 충족 할뿐만 아니라 실시간 분석 및 의사 결정도 제공 할 수 있습니다. VoltDB는 업계에서 신뢰할 수있는 이름으로 이미 Nokia, Financial Times, Mitsubishi Electric, HPE, Barclays 및 Huawei와 같은 주요 조직과 협력하여 구현되었습니다.
VoltDB에 관심이 있으시면 비공개 채팅에 오신 것을 환영하고 더 많은 친구와 토론하십시오.