>기술 주변기기 >일체 포함 >Apache IoTDB: 산업용 IoT 시나리오의 저장, 쿼리 및 사용 문제를 해결하는 혁신적인 데이터베이스

Apache IoTDB: 산업용 IoT 시나리오의 저장, 쿼리 및 사용 문제를 해결하는 혁신적인 데이터베이스

WBOY
WBOY앞으로
2023-09-15 17:25:011117검색

Industry 4.0 시대의 도래와 디지털화, 자동화의 도입으로 생산 환경이 더욱 효율적이 되었습니다. 동시에, 사람들은 스마트 기기가 가져오는 대용량 데이터의 잠재적 가치에 주목하기 시작했지만, 스마트 기기에서 생성된 데이터를 어떻게 효율적으로 저장하고, 대용량 데이터를 어떻게 더 잘 분석할 수 있는지가 문제가 되었습니다. 기존 데이터베이스 모델과 저장 방법은 더 이상 이러한 요구 사항을 충족할 수 없습니다. 따라서 효율적인 데이터 저장 및 쿼리를 달성하고 데이터의 잠재적 가치를 더 잘 탐색하는 데 도움을 주기 위해 시대의 요구에 따라 시계열 데이터베이스가 등장했습니다.

이러한 상황에 직면한 칭화대학교는 2015년 IoTDB 개발에 착수했습니다. 2020년 9월 23일 Apache IoTDB가 졸업하고 Apache 최상위 프로젝트가 되었습니다. 이는 현재 중국 대학에서 시작한 유일한 Apache 재단 최상위 프로젝트이자 사물 인터넷 데이터 관리 분야의 유일한 오픈 소스 프로젝트이기도 합니다. 아파치 재단 산하. 2021년 10월 Apache IoTDB의 핵심팀은 Tianmou Technology를 설립하고 IoTDB를 지속적으로 운영하여 산업 사용자데이터의 "저장, 확인, 사용" 문제를 해결할 수 있도록 지원하고 있습니다.

Apache IoTDB가 개발한 핵심 기술과 관련하여 여러 참가자가 협력하여 IoTDB의 설계를 상세하고 완전하게 설명한 리뷰 논문을 발표했습니다. 이 기사에서는 수만 대의 굴삭기를 관리해야 하는 산업 회사를 예로 들어 요구 사항을 설명합니다. "데이터는 먼저 장치에 패키징된 다음 5G 모바일 네트워크를 통해 서버로 전송됩니다. 서버에서는 데이터는 OLTP 쿼리의 경우 시계열 데이터베이스에 기록됩니다. 마지막으로 데이터 과학자는 복잡한 분석 및 예측(예: acm.org/doi/abs/10.1145/3589775)을 위해 데이터베이스에서 빅 데이터 플랫폼으로 데이터를 로드할 수 있습니다.

Apache IoTDB:解决工业物联网场景下的存储、查询和使用难题的创新数据库프로젝트 주소: https://github.com/apache/iotdb

  • 논문의 초점은 다음과 같습니다:
  • 1. 데이터 모델 설계:

논리적 수준의 시계열 구성 및 물리적 모드의 저장

2. TsFile 파일 형식: 자체 개발한 열형 저장 파일 형식, 동시에 쓰기, 쿼리의 효율성을 충족합니다.

3. IoTDB 엔진: 주로 스토리지 엔진, 쿼리 엔진 등을 포함합니다.

분산 솔루션은 작업이나 문제를 여러 개로 분할하는 방법입니다. 하위 작업을 처리하고 이러한 하위 작업을 여러 컴퓨터나 노드에 할당하여 처리합니다. 이 솔루션은 시스템 안정성, 확장성 및 성능을 향상시킵니다. 여러 대의 컴퓨터에 작업을 분산함으로써 단일 컴퓨터의 부하를 줄이고 시스템의 동시 처리 성능을 향상시킬 수 있습니다. 동시에 분산 솔루션은 중복 백업 및 장애 조치를 통해 시스템의 내결함성을 향상시킬 수 있습니다. 노드에 장애가 발생하더라도 시스템은 계속해서 실행될 수 있습니다. 오늘날의 빅데이터 및 클라우드 컴퓨팅 환경에서 분산 솔루션은 일반적인 아키텍처 패턴이 되었으며 분산 데이터베이스, 분산 스토리지 시스템, 분산 컴퓨팅 플랫폼 등 다양한 분야에서 널리 사용되고 있습니다.

다음을 위해 내용에서는 이러한 주요 부분에 대해 좀 더 자세한 해석을 제공할 것입니다자세한 해석

데이터 모델 설계 필요

아래와 같이 높은 수준을 충족하기 위해 트리 구조를 채택합니다. 강도 쓰기 작업을 수행하고 IoT 시나리오에서 일반적인 데이터 도착 지연 문제를 효과적으로 처리할 수 있습니다트리 구조에서 각 리프 노드는 센서를 나타내고 각 리프 노드는 센서를 나타냅니다. 그림의 아래쪽 두 레벨에 표시된 것처럼 상위 레벨에도 동일하게 적용됩니다.

(2) 이전 기사에서 논리적 구조에 대해 설명했습니다. 이제 물리적 구조의 구현을 살펴보겠습니다. , 주로 시계열(Time series) 및 시퀀스 계열(Series family)을 포함합니다. 다음 그림은 각 시계열이 시간과 값이라는 두 가지 속성으로 구성되어 있음을 보여줍니다. 시계열은 루트 노드에서 리프 노드까지의 전체 경로를 통해 위치합니다. 위 그림은 시퀀스 클러스터의 개념을 보여줍니다. 시퀀스 클러스터에는 여러 장치가 포함될 수 있으며 해당 데이터는 TsFile(나중에 설명할 파일 구조)에 함께 저장됩니다.

Apache IoTDB:解决工业物联网场景下的存储、查询和使用难题的创新数据库

다시 작성해야 하는 내용은 다음과 같습니다. 2. TsFile 파일 형식 설계

TsFile은 Apache IoTDB에서 자체 개발한 컬럼형 저장 파일 형식입니다. 그 구조는 아래 그림과 같습니다.

Apache IoTDB:解决工业物联网场景下的存储、查询和使用难题的创新数据库

TsFile을 설계할 때 연구팀은 주로 문제 해결에 중점을 두었습니다.

  • 공간을 절약하고 데이터를 최대한 압축합니다. 파일 수
  • 함께 쿼리할 시계열의 물리적 근접성
  • 디스크 조각화 감소
  • 효율적인 액세스
  • 제공되는 주요 솔루션은 다음과 같습니다.

컬럼 보관: 빈 공간 값 제거, 디스크 점유 절약

  • 시계열 인코딩: IoT 시나리오에서 시계열의 고유한 특성 활용
  • 주파수 영역 인코딩: 시계열의 주파수 영역 분석이 널리 수행됩니다. 신호 처리
  • 특정 구조 분석: 페이지(Page)는 기본 저장 단위입니다. 청크에는 여러 페이지가 포함되어 있습니다. 청크 그룹에는 여러 페이지가 포함되어 있습니다. 그룹 청크는 동일한 기간 내에 작성된 하나 이상의 일련의 장치에 속합니다. 이들은 종종 함께 쿼리되기 때문에 연속적인 디스크 공간에 배치됩니다. 블록은 메모리에 있고, 작성된 블록 그룹은 메모리에 첫 번째로 있습니다. TsFile에서 수행되며 메모리가 임계값에 도달하면 모든 블록 그룹이 TsFile로 플러시됩니다. 인덱스(FileIndex)는 데이터 액세스를 위해 파일 끝에 정보를 기록합니다.
  • 다시 작성해야 하는 내용은 다음과 같습니다. 3. IoTDB 엔진

이 부분에서 연구자들은 사물 인터넷 시나리오에서 지연된 도착, 효율적인 쿼리 처리 및 유사한 SQL 쿼리에 주로 중점을 둡니다. 디자인. IoTDB 엔진의 구조는 아래 그림과 같습니다.

그림에서 스토리지 엔진 부분은 주로 TsFile의 쓰기, 읽기 및 관리를 처리하는 데 사용되는 것을 볼 수 있습니다. 이 부분에는 자동 지연 분리 기술이 적용됩니다(아래 그림 참조) Apache IoTDB:解决工业物联网场景下的存储、查询和使用难题的创新数据库

대부분의 경우 TsFile의 시간 범위가 겹치지 않는 경우 지연 데이터 분리를 사용하는 것이 좋습니다. 그러나 대부분의 데이터가 순서가 없는 경우에는 지연 데이터 분리를 권장하지 않습니다. Apache IoTDB:解决工业物联网场景下的存储、查询和使用难题的创新数据库

재작성 후: 또 다른 중요한 구성 요소는 SQL 쿼리를 데이터베이스 연산자에서 실행할 수 있는 쿼리로 변환하는 역할을 하는 쿼리 엔진입니다. . 동시에 산업용 IoT 시나리오에 적응하기 위해 Apache IoTDB는 풍부한 시계열 데이터 쿼리 기능도 설계했습니다

다시 작성해야 하는 내용은 다음과 같습니다. 4. 분산형 솔루션

TsFile은 HDFS의 분산에서 찾을 수 있으며 Spark에서 작동합니다. 또한 파티션 복제, NB-Raft 복제 및 동적 읽기 일관성을 포함하여 데이터 배포 및 쿼리 처리를 더 잘 처리하기 위한 기본 솔루션도 제공합니다.

비교 결과

논문에서는 TsFile과 IoTDB를 비교합니다. 업계에서 널리 사용되는 두 가지 최신 파일 형식과 타이밍 데이터베이스. 다음 그림을 통해 Apache IoTDB의 장점을 여러 측면에서 보여줍니다

Apache IoTDB:解决工业物联网场景下的存储、查询和使用难题的创新数据库

위 두 그림은 쓰기 처리량, 읽기 시간 비용 및 동기화 성능 측면에서 TsFile의 장점을 보여줍니다. 이는 주로 deviceId와 같은 중복 정보를 저장하지 않는 TsFile의 IoT 인식 구조 설계 때문입니다. TsFile의 디스크 사용에 있어 뚜렷한 이점은 없지만, 보다 세분화된 인덱스가 구축되어 더 많은 공간을 차지하기 때문입니다. 그러나 이러한 희생은 읽기 시간 비용에서 분명한 이점을 볼 수 있으므로 엄청난 쿼리 시간 개선으로 이어질 수 있습니다.

Apache IoTDB:解决工业物联网场景下的存储、查询和使用难题的创新数据库

위 차트에서 명확하게 볼 수 있듯이 IoTDB는 거의 모든 테스트에서 더 나은 성능을 보여줍니다. 더 높은 쓰기 처리량 및 더 낮은 쓰기 대기 시간 포함

Apache IoTDB:解决工业物联网场景下的存储、查询和使用难题的创新数据库

위의 실험에서 우리는 쿼리 데이터 크기가 클수록 IoTDB가 더 나은 성능을 나타내는 것을 관찰했습니다. 특히 대규모 데이터 집계에서는 IoTDB의 장점이 특히 두드러집니다

요약

본 논문에서는 개방형 아키텍처를 채택하고 특별히 설계된 Apache IoTDB라는 새로운 시계열 데이터 관리 시스템을 소개합니다. IoT 애플리케이션을 위한 실시간 쿼리 및 빅데이터 분석. 시스템에는 TsFile이라는 새로운 시계열 파일 형식이 포함되어 있습니다. 이 파일 형식은 열 저장소를 사용하여 시간과 값을 저장하여 Null 값을 방지하고 효과적인 압축을 달성합니다. TsFile을 기반으로 하는 IoTDB 엔진은 LSM 트리와 같은 전략을 사용하여 고강도 쓰기를 처리하고 IoT 시나리오에서 흔히 발생하는 데이터 도착 지연 문제를 처리할 수 있습니다. TsFile의 풍부한 확장 가능한 쿼리 기능과 사전 계산된 통계 정보를 통해 IoTDB는 OLTP 및 OLAP 작업을 효율적으로 처리할 수 있습니다

IoTDB는 위의 기술을 기반으로 산업용 IoT 시나리오에 더 잘 대처할 수 있는 새로운 데이터베이스가 되었습니다.

위 내용은 Apache IoTDB: 산업용 IoT 시나리오의 저장, 쿼리 및 사용 문제를 해결하는 혁신적인 데이터베이스의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 51cto.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제