- Practical Real-time Data Processing and Analytics
- Shilpi Saxena Saurabh Gupta
- 407字
- 2021-07-08 10:23:09
NRT – high-level system view
The previous section of this chapter is dedicated to providing you with an understanding of the basic building blocks of an NRT application and its logical overview. The next step is to understand the functional and systems view of the NRT architectural framework. The following figure clearly outlines the various architectural blocks and cross cutting concerns:

So, if I get to describe the system as a horizontal scale from left to right, the process starts with data ingestion and transformation in near real-time using low-latency components. The transformed data is passed on to the next logical unit that actually performs highly optimized and parallel operations on the data; this unit is actually the near real-time processing engine. Once the data has been aggregated and correlated and actionable insights have been derived, it is passed on to the presenting layer, which along with real-time dash boarding and visualization, may have a persistence component that retains the data for long term deep analytics.
The cross cutting concerns that exist across all the components of the NRT framework as depicted in the previous figure are:
- Security
- System management
- Data integrity and management
Next, we are going to get you acquainted with four basic streaming patterns, so you are acquainted with the common flavors that streaming use cases pose and their optimal solutions (in later sections):
- Stream ingestion: Here, all we are expected to do is to persist the events to the stable storage, such as HDFS, HBase, Solr, and so on. So all we need are low-latency stream collection, transformation, and persistence components.
- Near real-time (NRT) processing: This application design allows for an external context and addresses complex use cases such as anomaly or fraud detection. It requires filtering, alerting, de-duplication, and transformation of events based on specific sophisticated business logic. All these operations are required to be performed at extremely low latency.
- NRT event partitioned processing: This is very close to NRT processing, but with a variation that helps it deriving benefits from partitioning the data, to quote a few instances, it is like storing more relevant external information in memory. This pattern also operates at extremely low latencies.
- NRT and complex models/machine learning: This one mostly requires us to execute very complex models/operations over a sliding window of time over the set of events in the stream. They are highly complex operations, requiring micro batching of data and operate over very low latencies.
- C語言程序設(shè)計(jì)案例教程
- 自己動手寫搜索引擎
- 密碼學(xué)原理與Java實(shí)現(xiàn)
- 摩登創(chuàng)客:與智能手機(jī)和平板電腦共舞
- SQL Server 2012數(shù)據(jù)庫技術(shù)及應(yīng)用(微課版·第5版)
- 編寫整潔的Python代碼(第2版)
- Java Web及其框架技術(shù)
- 機(jī)械工程師Python編程:入門、實(shí)戰(zhàn)與進(jìn)階
- CouchDB and PHP Web Development Beginner’s Guide
- Elasticsearch for Hadoop
- PhoneGap:Beginner's Guide(Third Edition)
- Oracle Exadata專家手冊
- C語言程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo) (第2版)
- Nginx Lua開發(fā)實(shí)戰(zhàn)
- Essential C++(中文版)