Persistence and Processing

Centers

Centers are the processing, cache and persistence nodes of the Application Fabric.

Function inside the fabric

Source of truth for high-volume, high-velocity, high-variety data

Centers are where incoming events become structured state, where business logic is applied close to the data, and where processed results are published to applications, Gateways, other Centers or downstream systems.

How a Center takes in data, holds current state and history, and publishes results

Addressing difficult data problems

3forge Centers add features that address data problems software engineers routinely encounter.

  • Real-time streaming analytics
  • Replication, sharding and web load balancing without additional code
  • Streaming inserts to historical tables with immediate consistency
  • Historical table sparse updates
  • Advanced conflation
  • Self-discovery schemas
  • Remote procedure calls
  • Testing and code coverage tools
  • Query planner
  • Multi-threaded queries
  • Historical schema changes without backfilling data

These features are delivered through 3 architectural functions:

In-memory cache SQL columnar database

Every source a Center touches resolves into one live picture of the business, held in memory and queried in SQL. Applications stop interpreting streams and start reading state.

Columnar and in memory means the view a desk asks for has already been computed by the time the question arrives, rather than assembled once it does.

One SQL dialect spans both stores, so a query never has to know whether the rows it wants are still in memory or already on disk.

> 2 Million

Real-time database throughput, ops/s

< 100 µs

Real-time database latency

Historical petabyte SQL columnar database

While the highest query performance is achieved with real-time databases, 3forge also offers columnar historical tables capable of holding trillions of rows. Persisted to disk and supporting partitioning, these tables are designed for storing large volumes of data at high speed with fast retrieval, all while using the same SQL syntax as real-time tables.

Data from historical tables can be queried and loaded into a real-time table where the full breadth of querying optimizations can be accessed, including joins with other tables.

  • Large column counts and heavy data types such as blob fields
  • Schema management. Add, drop or modify columns without impacting historical partitions. Partition columns are immutable, so careful planning matters when designing the table schema. The HDB maps older partitions to new schemas seamlessly, preserving historical integrity
  • Row-level operations. UPDATE and DELETE clauses are supported while preserving partition optimization. Significant changes within a partition are re-optimized automatically, and sort indexing further improves query performance

The system dynamically adapts storage types during optimization on a partition basis, for disk efficiency and query speed based on actual data usage. Each column can be configured for optimal performance:

FLATFixed-length types like INT, FLOAT, DOUBLE
VARSIZEVariable-length types like STRING and BINARY, up to 1TB
BITMAPEfficient for low-cardinality strings
PARTITIONOrganizes rows into isolated partitions

> 10 Trillion

Historical database capacity, rows

> 1,000

Historical database columns

What is 10 trillion rows?

The consolidated feed for equity trades and quotes on US markets, the SIP, carries around 2.5 billion messages per trading day. If one row is one consolidated SIP message covering trades and quotes, 10 trillion rows would represent 4,000 trading days, or roughly 16 years.

Options market data is far denser, at around 200 billion quote updates per day on OPRA during active markets. Even at that pace, 10 trillion quote updates is about 2.5 months of options quote traffic.

Complex event processor

3forge offers real-time tables and database-native functionality that allow business logic to be executed on the fly based on data updates. Database-native triggers can aggregate, filter, join, enrich and transform information as source tables change, and custom logic can run in response to inserts, updates and deletions.

Example patterns

How Centers are put to work

Holding the data is the easy part. What follows is how a Center stays fast while the volume climbs, how today's data becomes history without a pause, and how business logic runs inside the database rather than beside it.

Optimizations for large loads

3forge Centers use several advanced approaches to balance the need for speed in data transmission with the technical constraints that could otherwise slow the data flow.

Delta-based processing

Rather than reprocessing or retransmitting the entire dataset each time an update occurs, Centers handle only the changes. This dramatically improves performance and efficiency in real-time systems.

Delta-based processing: only the changed rows are reprocessed and retransmitted

Summarization

Centers can calculate and store regular and delta-based summary metrics, including averages, sums, counts, minimums and maximums, to compress data volumes, allow trend analysis and support time-based analytics such as moving averages.

Summarization: source rows reduced to regular and delta-based summary metrics

Conflation

When replicating data across the tiered architecture, Centers can be configured to send every update, or instead send the latest one at an agreed interval. Discarding intermediate values dramatically reduces the burden on downstream consumers.

Conflation: intermediate updates discarded, the latest value sent on an interval

Decoration

Centers support automated data decoration through event-driven triggers invoked during data operations, enabling dynamic enrichment, validation and propagation of data in response to table-level changes.

Decoration: event-driven triggers enriching rows as they change

Archiving real-time data

Streaming updates move from real-time tables into the historical database using event, batch or timer-driven approaches, so historical records stay current without interrupting ongoing operations.

Nothing is exported, staged or reloaded. Today's ticks become last year's history in place, which is why a single query can read now and then at once.

Archiving: real-time tables moving into the historical database by event, batch or timer

Complex event processing

Six trigger types ship with the platform, and they are the whole vocabulary of the event processor:

  • Aggregation to create and update aggregation tables
  • Projection for filtered tables
  • Join to create joined tables
  • Decorate to enrich the data with additional data from another table
  • Relay for sending messages through the 3forge Relay
  • AmiScript to run custom scripts upon any insert, update or delete activity

Triggers are declared in SQL, so the event logic lives with the data rather than in a service beside it that has to be deployed, versioned and kept in step.

-- A script trigger
CREATE TRIGGER <trigger_name> OFTYPE AMISCRIPT ON
  <table_name> [PRIORITY priority] USE...

-- An aggregation trigger
CREATE TRIGGER <trigger_name> OFTYPE AGGREGATE ON
  <source_table>,<target_table> USE...

-- A projection trigger
CREATE TRIGGER <trigger_name> OFTYPE PROJECTION ON
  <source_tables>,<target_table> USE...

The trigger types at work

A real-time P&L grid is not one calculation but a chain of them, each trigger doing one job as the data changes beneath it:

  • 3forge joins the drop-copy of fills with instrument data to normalize it
  • 3forge filters fills to requested symbols and aggregates intraday considerations
  • 3forge stores inbound market data for symbols and FX rates, filters to retain needed prices, and projects to a dedicated table
  • 3forge combines start-of-day with intraday P&L and projects to the grid
  • 3forge decorates the grid data with updated prices and FX rates
A chain of CEP triggers building a real-time P&L grid: join, filter, aggregate, project and decorate
Example of CEP logic at work building a real-time P&L grid on a user layout.

The Distribution Layer

Centers hold the state. Gateways hand it out.

As the fabric expands across multiple Centers, consumers need a stable way to reach it without understanding its physical topology.