Database Management System for High-Volume IoT Time Series Data

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

High-volume data systems, particularly those in IoT networks, face challenges in efficiently ingesting, storing, and retrieving large volumes of time series data from multiple sources while maintaining scalability and performance, especially in handling non-chronological data ingestion and providing fast query capabilities.

Innovation Solution

A database management system that includes an ingest container for processing and dividing time series data into sub-elements, generating statistical data, and storing them in a columnar format within an archive, cooked, and index container, allowing for parallel updates and out-of-order ingestion, with a query API for efficient data retrieval.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data is stored in a traditional relational database format, then data integrity and query accuracy are maintained, but system scalability and ingestion speed deteriorate when handling high-volume IoT time series data

Engineering Contradiction:
Improvedata ingestion speedVSAvoidsystem architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system segments data storage into three distinct containers: archive container for raw time series data, cooked container for processed data, and index container for metadata. This segmentation allows each container to be optimized for its specific function, enabling high-volume data ingestion while maintaining query efficiency and simplifying individual component complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from traditional relational database storage to a cloud-native containerized architecture using append blobs and data lakes. This dimensional change in storage approach enables parallel data ingestion and processing, dramatically improving productivity for high-volume IoT data while distributing system complexity across managed cloud services.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Reliability

If data is processed and stored in real-time chronological order, then data consistency is maintained, but system performance and query speed deteriorate when handling non-chronological data streams

Engineering Contradiction:
Improvedata consistencyVSAvoidquery performance
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The system performs preliminary actions by generating statistical aggregates (min, max, mean, count) and creating index metadata during the data ingestion phase. This preliminary processing allows the index container to provide fast query performance for non-chronological data streams while the archive container maintains raw data consistency, resolving the contradiction between reliability and speed.

Inventive Principle:
Principle #10Preliminary action

3Loss of information

If all raw time series data is retained and stored, then complete data availability is ensured, but storage costs and retrieval time increase

Engineering Contradiction:
Improvedata availabilityVSAvoiddata retrieval time
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

The system extracts essential statistical information (min, max, mean, count) and metadata from raw time series data during ingestion, storing these extracted elements in the cooked and index containers. This extraction ensures complete data availability for analysis while enabling fast retrieval of aggregated statistics without requiring access to all raw data, thus reducing retrieval time while preventing information loss.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Different containers provide different qualities of data: the archive container stores complete raw data for full data availability, while the index container provides pre-computed statistical aggregates for fast retrieval. This local quality differentiation allows the system to optimize for both data availability and retrieval time depending on the specific query requirements.

Inventive Principle:
Principle #3Local quality

4Adaptability or versatility

If multiple data sources are ingested simultaneously, then system scalability is improved, but data processing complexity and coordination overhead increase

Engineering Contradiction:
Improvemulti-source data ingestionVSAvoidprocessing coordination complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The ingest container serves as a universal entry point that handles data from multiple IoT sources simultaneously using a standardized interface. This multi-functional design allows diverse data sources to be ingested through a single container, improving adaptability while the underlying parallel processing architecture handles coordination automatically, reducing processing complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS11841865B2Database management system and associated methods
Publication Date: 2023.12.12 JOHN CRANK UK
  • US11841865B2 patent drawing
  • US11841865B2 patent drawing
  • US11841865B2 patent drawing

AI summary

A system includes computer-readable media having memory, one or more processors, and instructions in the memory that, when executed by the one or more processors, cause the processor(s) to: generate an archive container, a cooked container, an ingest container, and an index container; receive, in the ingest container, a plurality of time series data elements; identify a data format for each of the time series data elements; divide the plurality of time series data elements into a plurality of data sub-elements based on a corresponding append binary large objects (blobs) contained in the cooked container; generate, statistical data for the plurality of time series data elements for each of one or more index blobs contained in the index container; and output: the statistical data to the index container; the plurality of data sub-elements to the cooked container, and the plurality of time series data elements to the archive container.