Select a component to discover its role or follow the journey of a payment event.
Illustrative example, with no real payment data. Valkey enriches processing and OpenMetadata documents lineage across the flow.
01 Storage
02 Serving
03 Ingestion
04 Processing
05 Governance
06 Platform
Data flow view
The example starts with a payment event published to Kafka. The log retains the event so downstream processes can consume it and replay it when required.
Flink consumes the stream and maintains activity features used to evaluate the payment. Processing combines the event with operational information, such as time-window aggregates and the customer profile.
The customer profile and operational counters are read from Valkey to enrich Flink’s processing. This stage represents an in-memory lookup, without sending every request to the warehouse.
The journey then represents writing the event and its results into Iceberg tables. A snapshot identifies the data state available to analytical processes and later reviews.
Object storage holds the Parquet files, metadata and snapshots underlying the Iceberg tables. This stage shows the lakehouse’s storage foundation, shared by its different engines.
During batch processing, Spark validates and transforms lakehouse data into datasets prepared for analysis. Results are written back to Iceberg and feed subsequent warehouse loads.
Cloudberry or Greenplum makes the prepared data available for distributed SQL queries and aggregation. In this example, it feeds business reports and analysis with an identifiable data source.
OpenMetadata links tables and reports to their sources, transformations and owners. The journey ends by showing that lineage, although the catalogue and quality controls operate across the platform.
Platform use cases
Traceable business reporting
A governed pipeline connects transactions to versioned tables and reports that can be traced back to their sources.
Capture the event
Kafka receives events and changes while preserving the source timestamp.
Kafka
Store raw data
Iceberg records unmodified events and retains queryable snapshots.
Iceberg
Validate and conform
Spark applies quality rules and isolates records requiring review.
Spark
Load the warehouse
Cloudberry receives conformed data with partitions and distribution suited to queries.
Cloudberry
Compute the report
SQL models express reporting rules and versioned reference data.
SQL
Record lineage
OpenMetadata links report fields to source tables and storage locations.
OpenMetadata
Archive evidence
The report, snapshot identifiers and query log are retained.
Object storage
Real-time fraud and AML
Event processing combines profiles, rules and models to support decisions and investigations from the same data foundation.
Receive authorisations
Kafka orders related events using card or account partitions.
Kafka
Add behavioural context
Flink enriches the event with time-window aggregates and patterns.
Flink
Read the profile
Valkey or GemFire provide profiles, limits and risk ratings.
Valkey / GemFire
Run the model
Flink computes a score and records the model version and features used.
Flink
Return the decision
The decision returns to the authorisation system and is published as an event.
GemFire
Index the investigation
OpenSearch brings together alerts, scores and features for investigation.
OpenSearch
Feed training outcomes
Confirmed outcomes are stored in Iceberg for future Spark training.
Iceberg
Customer 360
The platform combines channel, CRM and business-system data for analytics, applications and service teams.
Ingest channel data
Kafka and CDC collect source changes and land them in Iceberg.
Kafka / CDC
Resolve identity
Spark matches records using identification and matching rules.
Spark
Build the customer table
Iceberg retains attributes, products and permissions with snapshot history.
Iceberg
Serve SQL analytics
Cloudberry exposes customer and transaction models to BI tools.
Cloudberry
Publish profiles in memory
Valkey serves current profiles to applications and service teams.
Valkey
Search profiles
Solr searches names, accounts and documents without an exact identifier.
Solr
Govern personal data
OpenMetadata records classification, ownership and consent context.
OpenMetadata
Cloud warehouse repatriation
Migration moves data, schemas, pipelines and consumers with parallel running and result validation before cutover.
Inventory the source
Schemas, queries, BI connections, service accounts and costs are reviewed.
Assessment
Export to open formats
Data is exported to Parquet and registered as Iceberg tables.
Iceberg
Rebuild schemas
Cloudberry adapts DDL, partitioning and distribution to query patterns.
Cloudberry
Move pipelines and queries
Airflow, Spark and dbt incorporate workflows and validate dialect differences.
Airflow / dbt
Run in parallel
Results are compared and differences between platforms are documented.
Validation
Cut over by domain
Each domain switches its consumers with defined acceptance and rollback.
Cutover
Close and document
Source retirement respects agreed retention and preserves evidence.
Evidence
On-premise logging and audit
Application and platform logs are collected, normalised and indexed, with archives and documented retention policies.
Collect logs
Kafka receives application, database, network and platform logs.
Kafka
Normalise and enrich
Flink applies a common schema and system, environment and classification tags.
Flink
Index recent data
OpenSearch provides search, dashboards and alerts for operations teams.
OpenSearch
Archive historical data
Older data moves to snapshots and Iceberg tables on object storage.
Iceberg
Query the evidence
Search reconstructs access and activity within the retained period.
OpenSearch
Check retention and integrity
Object locking, checksums and the catalogue document archive protection.
Object storage
Data foundation for private AI
Governed datasets, features and document indexes feed models and assistants with traceability of the sources used.
Prepare governed data
Iceberg identifies the datasets used by each model through snapshots.
Iceberg
Compute features
Spark shares feature definitions between Iceberg for training and Valkey for inference.
Spark / Valkey
Process documents
Spark prepares chunks and embeddings while retaining source document and page.
Spark
Index text and vectors
OpenSearch combines keyword search and vector similarity.
OpenSearch
Retrieve authorised context
RAG filters passages by user permissions before sending them to the model.
RAG
Log questions and answers
Queries, retrieved sources and responses are retained for review.
OpenSearch
Deployment patterns
Starter: one site and one Kubernetes cluster
Kafka, RabbitMQ and CDC feed RustFS objects and Iceberg tables; Spark processes the data, while Cloudberry, Valkey and OpenSearch serve it. OpenMetadata adds catalogue and lineage on Kubernetes.
Architecture example from the reference. Figures are illustrative; sizing and availability are validated per project.
Ingestion
Kafka3 brokers
RabbitMQ3-node quorum
CDC connectorsCore, cards and channels
Lakehouse storage
RustFS object storage4 nodes, erasure coded
Iceberg tablesACID, snapshots
Processing and serving
Spark on KubernetesBatch and quality
Cloudberry1 coordinator, 4 segments
ValkeyIn-memory serving
OpenSearchLogs and search
Consumption and platform
BI and business reportsSQL consumers
OpenMetadataCatalogue and lineage
Kubernetes, one site12–16 nodes, example
Connections between components
CDC connectors → Kafka: Change events
Kafka → Iceberg tables: Sink
RabbitMQ → Iceberg tables: Messages
RustFS object storage → Iceberg tables: Files
Iceberg tables → Spark on Kubernetes: Read / write
Spark on Kubernetes → Cloudberry: Conformed load
Cloudberry → BI and business reports: SQL
Spark on Kubernetes → Valkey: Publish profiles
Kafka → OpenSearch: Logs
OpenMetadata → Iceberg tables: Lineage
Kubernetes, one site → Spark on Kubernetes: Runs
Enterprise: three zones in one data centre
Distributes Kafka, storage and Kubernetes across three zones. Spark and Flink cover batch and streaming; Cloudberry, Valkey or GemFire and Solr or OpenSearch provide SQL, memory and search, with OpenMetadata governance.
Architecture example from the reference. Figures are illustrative; sizing and availability are validated per project.
Ingestion
Kafka9 brokers, 3 zones
RabbitMQQuorum queues
CDC and file ingestionCore, cards and treasury
Lakehouse storage
RustFS / CephZone-aware erasure coding
Iceberg tables600 TB–1.5 PB usable, example
HDFSDeep history, optional
Processing and serving
Apache SparkBatch and features
Apache FlinkStreaming and scoring
Cloudberry MPP8–16 mirrored segments
Valkey / GemFireIn-memory grid
Search, governance and platform
Solr / OpenSearchSearch, logs and vectors
Kubernetes across 3 zonesOpenMetadata, monitoring and backup
Connections between components
CDC and file ingestion → Kafka: Events
Kafka → Apache Flink: Streams
Kafka → Iceberg tables: Sink
RabbitMQ → Apache Flink: Messages
RustFS / Ceph → Iceberg tables: Files
HDFS → Apache Spark: History
Iceberg tables → Apache Spark: Read / write
Apache Flink → Iceberg tables: Streaming upsert
Apache Flink → Valkey / GemFire: State and decisions
Apache Spark → Cloudberry MPP: Conformed load
Iceberg tables → Cloudberry MPP: External tables
Cloudberry MPP → Solr / OpenSearch: Extracts
Kubernetes across 3 zones → Cloudberry MPP: Operations
DR: two sites with active replication
Replicates events, objects and services between primary and secondary sites using MirrorMaker 2, bucket replication and standby services. Includes shared operations, active-site selection and recovery drills; objectives are agreed per project.
Architecture example from the reference. Figures are illustrative; sizing and availability are validated per project.
Primary site
Kafka and RabbitMQPrimary ingestion
Object storage + IcebergPrimary lakehouse
Warehouse, in-memory and searchPrimary serving
Replication
MirrorMaker 2Topics and offsets
Bucket replicationContinuous, encrypted
Standby and WAN gridWarehouse and GemFire
Secondary site
Kafka and RabbitMQSecondary ingestion
Object storage + IcebergSecondary lakehouse
Warehouse, in-memory and searchReporting and recovery
Operations
Unified operationsMonitoring, backup and runbooks
Traffic steeringActive site selection
Periodic failover drillRecovery evidence
Connections between components
Kafka and RabbitMQ → Object storage + Iceberg: Ingestion
Object storage + Iceberg → Warehouse, in-memory and search: Serve
Standby and WAN grid → Warehouse, in-memory and search: Apply
Unified operations → Warehouse, in-memory and search: Monitors
Unified operations → Warehouse, in-memory and search: Monitors
Traffic steering → Warehouse, in-memory and search: Active
Periodic failover drill → Warehouse, in-memory and search: Validates
An integrated lakehouse platform
Nuxia Data Intelligence brings together storage, ingestion, processing, serving and governance. Open formats let different engines work on the same datasets. The architecture combines established services, with versions selected and validated per project.
Layered architecture
Foundation: Kubernetes on virtualisation or bare metal, with shared identity, networking and observability.
Ingestion: Kafka for events, RabbitMQ for messaging and CDC connectors for database changes.
Storage: S3 objects with RustFS or Ceph, Parquet files and Iceberg tables; HDFS for existing history.
Processing: Spark for batch and machine learning, Flink for streams and Airflow for orchestration.
Serving: Cloudberry or Greenplum for analytical SQL; Valkey and GemFire/Geode for memory; Solr and OpenSearch for search.
Cross-layer governance: OpenMetadata connects catalogue, classification, ownership, quality and lineage across layers.
From source to consumption
Business systems publish events and changes. Ingestion preserves raw data and positions for replay. Spark or Flink validate and transform; Iceberg records snapshots; SQL, BI, applications and AI consume the results. The catalogue links transformations to sources and owners.
Use cases
Traceable reporting: link each figure to sources, quality rules and input snapshots.
Risk and business analytics: use complete history with SQL and distributed processing.
Data for AI: combine document retrieval, operational features and model evaluation.
Planning the migration
We start with one data domain and a measurable outcome. We inventory sources and processes, build the foundation, ingest the first flow and compare results with the existing system. We then expand domains and consumers, rehearse recovery and transfer operations. TCO includes hardware, energy, licensing and operations and is compared with current costs.
Versions, licences, compatibility, support coverage and service targets are agreed after reviewing the environment. Sizing and results are validated with representative workloads and tests.
Frequently asked questions
Can we adopt only part of the catalogue?
Yes. Assessment determines what to keep, integrate and change. The architecture can start with a database, an event flow or a lakehouse domain and expand in stages.
Can it run in a disconnected environment?
This is assessed per component and version: dependencies, images, licences, updates and observability. Isolation requires internal repositories and a controlled import and verification process.