Blog

Infor Data Extraction: Streaming Pipelines vs Data Lake API vs Mirrordex

Which Infor data extraction method should you use?

  • Option 1: Streaming Pipelines. Infor’s native service. Easy to set up, near real-time, captures inserts and updates. Capped at ~165,000 transactions per day per pipeline. Azure SQL, PostgreSQL, and Snowflake only.
  • Option 2: Data Lake API. You write the code. No transaction throttle, but each API result is limited to 100,000 rows or 10MB, plus a daily compute-time limit. Requires engineering. SqlBulkCopy works for initial loads but doesn’t handle updates or deletes natively.
  • Option 3: Mirrordex Cesova’s replication tool. Streams from the Infor transaction log to SQL Server (cloud or on-premise) in near real time. Captures inserts, updates, and deletes. Live in a week. Requires Mirrordex to be installed in your environment.

Option 1: Infor Streaming Pipelines

Streaming Pipelines is Infor’s vendor-managed service for delivering CloudSuite data to external systems. You configure pipelines in the Infor admin console, point them at Azure SQL, and Infor handles the data movement.

Pros

  • Captures, inserts, and updates.
  • Near real-time delivery.
  • Point-and-click configuration.
  • Schema changes handled automatically.
  • Works on multi-tenant CloudSuite SaaS.

Cons

  • The 165K transaction per day throttle. Most contracts cap each pipeline at around 165,000 daily transactions. Initial loads of large tables take days or weeks.
  • Azure SQL destination only. Cannot target on-premise SQL Server.
  • Generic datatypes. Schema mapping doesn’t preserve Infor’s native data types cleanly.
  • Per-pipeline monitoring. No single dashboard. You check each pipeline separately.
  • Manual replay. Failed records require human intervention to replay.
  • Costs scale fast. Adding more tables or buying more bandwidth gets expensive quickly.

Use Streaming Pipelines when

  • You’re on multi-tenant CloudSuite SaaS.
  • Daily transaction volume per table stays well under 100,000.
  • You only need data in Azure SQL.
  • You need something working in days, not weeks.

Option 2: Infor Data Lake API

The Data Lake API lets you query Infor’s Compass-based Data Lake directly and pull data as CSV. You write a small app that authenticates, calls the Compass v2 API, downloads results, and loads them into your destination.

How the Compass API works

Pulling data isn’t a single call. The Compass v2 API requires three steps:

  • Step 1: Submit job. Send your query to the Compass API. The API returns a query ID.
  • Step 2: Check status. Poll the query ID until the job is ready.
  • Step 3: Get results. Pull results as CSV using the query ID. Each result set caps at 100,000 rows or 10MB (compressed). For larger queries, loop with pagination.
				
					var csv = await dataLakeClient.GetTableAsCsv("oeeh", lastExtractedDateTime);

using var reader = new CsvDataReader(csv);
using var bulk = new SqlBulkCopy(connectionString) {
    DestinationTableName = "dbo.oeeh",
    BatchSize = 10000
};

await bulk.WriteToServerAsync(reader);
				
			

Important: SqlBulkCopy is insert-only. It moves rows fast, but it doesn’t update existing rows or delete removed ones. For initial loads, this is fine. For ongoing replication, you need additional logic to handle updates and deletes, typically a merge step or change tracking on top of the bulk load.

Pros

  • No transaction throttle.
  • SqlBulkCopy moves millions of rows in seconds (for inserts).
  • Full control over query, schedule, and destination.
  • Works on multi-tenant CloudSuite SaaS.

Cons

  • You build it. Custom code means you own orchestration, error handling, schema evolution, and monitoring.
  • Compass API limits. Each result set caps at 100,000 rows or 10MB (compressed). Larger queries need pagination loops.
  • Daily compute-time limit. Your Infor subscription sets a daily maximum compute time for Compass queries. Hit it and you wait until tomorrow.
  • SqlBulkCopy is insert-only. Handles initial loads well, but updates and deletes require additional logic.
  • Not real-time. Polling-based. Latency equals your poll interval.
  • The Compass NOT NULL trap. The Compass schema marks many fields NOT NULL. Historical data often has nulls in those fields. Initial loads fail until you relax NOT NULL constraints in your destination tables.

Use the Data Lake API when

  • You need initial loads of tables with more than a few hundred thousand rows.
  • You’ve hit or will hit the Streaming Pipelines throttle.
  • You have engineering capacity to build and maintain custom code (including merge logic for updates and deletes).
  • Polling-based latency is acceptable.

Option 3: Mirrordex

DL Sync is Cesova’s log-based replication tool for Infor CSD and ISM. It runs in your environment, reads transaction logs from the Infor source, and replicates every insert, update, and delete to SQL Server (on-premise or cloud) in near real time. No transaction throttle, no API page limits, no daily compute cap.

How it works

Mirrordex reads the database transaction log directly rather than querying tables or calling APIs. Every committed change in Infor (insert, update, or delete) flows through to the destination SQL Server within seconds. Replication is continuous, not scheduled. The destination schema and tables are created and kept in sync automatically, with native Infor datatypes preserved.

Pros

  • Near real-time. Changes propagate within seconds.
  • No transaction throttle. No daily cap on row movement.
  • No API page limits or compute caps. Reads the log directly, not the Compass API.
  • Inserts, updates, and deletes all captured. No merge logic to write.
  • On-premise or cloud SQL Server. Replicates to either.
  • Schema and tables built for you. Native Infor datatypes are preserved. No custom code.
  • Negligible source load. Reading the log doesn’t query tables.

Cons

  • Requires database access. Fits Infor CSD and ISM environments where Cesova can install the replication agent. Not currently available for multi-tenant CloudSuite SaaS.

Use Mirrordex when

  • You run Infor CSD or ISM.
  • You need real-time data in SQL Server (on-prem or cloud).
  • Your tables are too high-volume for streaming pipelines.
  • You’d rather not build merge logic on top of SqlBulkCopy for ongoing replication.
Key Parameters
Streaming Pipelines
Data Lake API
Mirrordex
Latency
Near real-time
Polling interval
Near real-time
Source load
Low
Medium
Negligible
Throttle/limits
~165K txn/day
100K rows or 10MB per result; daily compute cap
None
Captures
Inserts + updates
Whatever you query (bulk copy = inserts only)
Inserts + updates + deletes
Destination
Azure SQL only
Anywhere you load it
SQL Server (on-prem or cloud)
Schema
Generic datatypes
You define
Native Infor types preserved
Setup effort
Low
Medium-high
Low (Cesova installs)
Multi-tenant SaaS
Yes
Yes
Not currently
CSD / ISM (on-prem)
Yes
Yes
Yes

Common questions

What is the 165K transaction limit on Infor Streaming Pipelines?

Most Streaming Pipelines contracts cap each pipeline at around 165,000 daily transactions. Once you hit the limit, the pipeline throttles. The cap applies per pipeline, per day. Buying more capacity is possible but pricing scales steeply.

Infor Data Lake APIs have practical limits around request rates, payload sizes, concurrent queries, and Streaming Pipeline transaction caps. Many environments throttle a pipeline after roughly 165,000 transactions per day per pipeline. Large integrations usually require batching, pagination, and incremental sync strategies.

The most common workaround is distributing workloads across multiple pipelines and reducing unnecessary transactions through batching and incremental syncs. Many teams also move heavy bulk loads outside Streaming Pipelines into external ETL or database processes.

No. SqlBulkCopy is optimized for fast inserts only. Updates and deletes are typically handled afterward using staging tables with SQL MERGE, UPDATE, or DELETE statements.

Yes, if Mirrordex is built using supported interfaces such as Data Lake APIs, ION APIs, or Streaming Pipelines. Since multi-tenant SaaS environments do not allow direct database access, integrations usually rely on API-based synchronization methods.

Compass may treat empty strings, missing attributes, and null values differently than traditional SQL databases. A query using IS NOT NULL can still return seemingly empty rows, so developers often combine it with additional trimming or empty-string checks.

Choosing the right integration method depends on your transaction volume, sync frequency, and reporting requirements. Lightweight integrations may work well with APIs and Streaming Pipelines, while high-volume workloads often perform better with Data Lake exports, staging databases, and bulk SQL operations.

Related Blog

  • All Posts
  • Branding
  • Infor Data Extraction
  • Marketing
  • Media
  • SEO

© 2026 Cesova. All rights reserved.