NoSQL Database Event Streaming for Real-Time Query Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Legacy relational databases face challenges with slow query processing and frequent hardware upgrades due to increased data entries and complexity, limiting their ability to support real-time updates and flexible data storage requirements.

Innovation Solution

Implementing a dual-database system comprising a monolithic relational database and a top-level NoSQL database, where the NoSQL database facilitates real-time processing and flexible data storage, allowing for incremental upgrades and improved performance without significant downtime.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If relational databases are used to store and process data, then data organization and query capabilities are provided, but query processing speed decreases and hardware upgrades are required frequently as data entries and complexity increase

Engineering Contradiction:
Improvequery processing speedVSAvoidtime for hardware upgrades and system maintenance
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system divides the monolithic relational database into multiple microservice-based databases, each handling specific data domains. This segmentation allows independent scaling and optimization of each service, improving query processing speed without requiring full system upgrades. Each microservice can be updated and scaled independently based on its specific performance requirements.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

An event streaming platform acts as an intermediary between the relational database and the microservices. It captures data changes, transforms them into standardized events, and distributes them to appropriate consumers in real-time, eliminating the need for frequent hardware upgrades by enabling asynchronous, event-driven architecture.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If relational databases are used with joins in queries, then one-to-one compatibility is achieved, but processing complexity and time increase

Engineering Contradiction:
Improvequery compatibilityVSAvoidquery processing complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system extracts the complexity of joins and relationships from the database layer and implements them at the application layer through event subscriptions and data transformation. Microservices subscribe to specific event types and assemble complex data views independently, eliminating the need for complex SQL joins while maintaining data relationship integrity.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Instead of using the traditional approach where the database handles all complex queries with joins, the system inverts the architecture by having microservices request specific data through event subscriptions and assemble the required information. This reverses the complexity burden from the database to the application layer, improving query performance.

Inventive Principle:
Principle #13The other way round (Inversion)

3Productivity

If legacy relational databases are replaced completely, then modern performance requirements are met, but costly full replacements and significant downtime are required

Engineering Contradiction:
Improvesystem performanceVSAvoiddowntime during replacement
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system implements a dual-running architecture where microservices are gradually introduced alongside the existing relational database. Event streaming captures changes from the legacy database and routes them to new microservices, allowing parallel operation and gradual migration without downtime. This preliminary setup enables seamless transition while maintaining system availability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The event streaming platform serves as a mediator that enables gradual migration from the legacy relational database to the microservice architecture. It captures data from the existing database, transforms it into events, and delivers it to new services, allowing both systems to coexist and operate simultaneously during the transition period.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Adaptability or versatility

If monolithic database architecture is used, then system simplicity is maintained, but scalability and flexibility are limited

Engineering Contradiction:
Improvedata storage flexibilityVSAvoidsystem architecture complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The monolithic database is segmented into multiple specialized microservice databases, each optimized for specific data types and access patterns. This segmentation provides flexibility in data storage and retrieval while maintaining manageable complexity through clear service boundaries and well-defined interfaces.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The event streaming platform provides universal functionality by serving as a common infrastructure for all microservices. It handles data capture, transformation, routing, and delivery for the entire system, reducing the need for each service to implement its own complex data management logic and thereby controlling overall system complexity.

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

Data Source

PatentUS11762862B2Real-time processing of event based streaming with NOSQL databases
Publication Date: 2023.09.19 CAPITAL ONE SERVICES LLC
  • US11762862B2 patent drawing
  • US11762862B2 patent drawing
  • US11762862B2 patent drawing

AI summary

Systems, methods, and media for real-time processing of event-based streaming with NoSQL databases are provided. For example, disclosed embodiments may include receiving an event associated with an update to an entry in a first database. Also, disclose embodiments may include identifying, based on the event, relevant data in the first database associated with the update. Further, disclose embodiments may include generating a plurality of queries to the first database to request the identified relevant data. Disclose embodiments may also include receiving, in response to the plurality of queries, raw data from the first database. Additionally, disclose embodiments may include processing the raw data to be compatible with a second database. Disclose embodiments may also include storing the processed raw data in the second database. And, disclosed embodiments may include receiving data requests for the second database to distribute the processed data to at least one computer terminal.