Amazon Web Services · Redshift consulting, optimisation, migration and 24×7 support

Redshift Consulting, Optimisation and 24×7 Support

Redshift consulting from MinervaDB is warehouse engineering measured from the system tables, not a slide deck. We decide with you whether the estate belongs on RA3, the Graviton-based RG nodes or Serverless, fix the distribution and sort keys that make queries slow and clusters oversized, draw the managed-storage-to-S3 line on purpose, and then run the warehouse around the clock with named engineers. We are vendor-neutral: many Redshift consulting engagements end with a leaner Redshift, some end with a move to BigQuery, Snowflake, Databricks or ClickHouse, and we say which before you spend.

RA3 · RG · Serverlessall three deployment forms our Redshift consulting covers
900+enterprises served by MinervaDB
46cities with delivery presence
15 minS1 acknowledgement, 24×7
15+years of data platform practice depth

01 · The engine

What Redshift is in 2026, and why older estates need Redshift consulting

Redshift is still a leader-node-plus-compute-nodes MPP database with a PostgreSQL 8.0 ancestry in its SQL surface, but almost everything around that core has changed since 2021. Storage left the node. The lake engine moved into the cluster. Ingestion stopped needing pipelines. A warehouse designed on the old assumptions pays for all three changes without benefiting from any of them, and closing that gap is where Redshift consulting earns its fee.

Three deployment forms exist today. Provisioned clusters on RA3 nodes keep hot blocks on local SSD and hold the full dataset in Redshift Managed Storage on S3, up to 128 TB per node on ra3.4xlarge and ra3.16xlarge. Provisioned clusters on RG nodes, generally available since May 2026, run on AWS Graviton with an integrated data lake query engine that reads Iceberg and Parquet directly, so the Spectrum fleet and its US $5 per terabyte charge disappear.

AWS quotes 30% lower cost per vCPU than RA3 and up to 2.4× faster Iceberg queries at 10 TB scale. Redshift Serverless bills in Redshift Processing Units from a base of 4 to 1,024 RPU, and since April 2026 new workgroups default to AI-driven scaling that adds capacity before queries queue rather than after.

DC2 nodes with local NVMe remain the right answer only for datasets under about 1 TB compressed. DS2 dense-storage nodes are no longer available. Python UDFs reached end of support on 30 June 2026 and patch 203 began enforcing it, so any estate still carrying them has reports that are already broken or about to be.

The release cadence matters for operations. Redshift ships numbered patches to a current and a trailing maintenance track; patch 205 (cluster version 1.0.434008, 16 September 2026) added Iceberg materialized views with incremental refresh, automatic bloat removal with superblock shrinking, post-quantum hybrid TLS key exchange and gzip and bzip2 reads for Spectrum. Patch 204 brought Iceberg v3 tables with deletion vectors, a persistent query_uuid in the system tables, account lockout after repeated failed sign-ins and single-node rg.large clusters.

Patch 203 made tables with a primary key eligible for automatic DISTKEY assignment. Each of those changes a tuning decision we would have made differently a year ago.

That is the frame for every Redshift consulting engagement we take: AWS owns the platform, the warehouse design is yours, and a bigger node is not a substitute for either. Node families and dates above follow the Amazon Redshift cluster documentation and the cluster version history, which we re-verify at the start of every engagement.

Redshift consulting reference architecture: RA3 and RG provisioned clusters, Serverless workgroups, managed storage and the S3 data lake

Figure 1. The three deployment forms Redshift consulting has to choose between, and how each reaches the S3 lake: RA3 through the Spectrum fleet, RG through the integrated data lake engine, Serverless with lake access included. Data sharing joins a provisioned producer to Serverless consumers without copying data.

02 · Services

Redshift consulting services

Eight fixed-scope Redshift consulting services, each anchored to a named system table or metric. Most engagements start with the health check and continue as the findings dictate; the support retainer keeps the same engineers on the estate afterwards.

Health check and cost review

The starting point of most Redshift consulting engagements. Node type and count against measured CPU, memory, disk and queue time; managed storage growth; table design from SVV_TABLE_INFO; vacuum and analyze state; WLM configuration; concurrency scaling and Spectrum usage; 90 days of SYS_QUERY_HISTORY; reserved-node or Serverless spend against utilisation. The output is a findings report ranked by cost and latency effect, each item with its measurement and its estimated saving, labelled as an estimate until measured.

Table design and query performance

Distribution style and key, sort key type (compound, interleaved, multidimensional or AUTO), column encodings and widths, deep-copy redesigns with transactional name swaps, VACUUM and ANALYZE scheduling, and query-level work from EXPLAIN and SYS_QUERY_DETAIL. Every change is verified against the same query history afterwards.

Workload management and concurrency

Automatic WLM with priorities and assignment rules, manual WLM where a queue needs a hard memory reservation, query monitoring rules that stop runaway queries, concurrency scaling policy, and Serverless base capacity, price-performance targets and RPU-hour usage limits.

RA3, RG or Serverless

A priced model of your own query history against each deployment form, the migration path (DC2 to RA3, RA3 to RG, provisioned to Serverless, or a producer-consumer split with data sharing), its rehearsal on a restored snapshot and its rollback.

Data lake, Iceberg and S3 Tables

Which data belongs in managed storage and which in S3 as Parquet or Iceberg, read through Spectrum on RA3 or the integrated engine on RG; partitioning and file-size guidance; Glue Data Catalog structure; Lake Formation permissions; Iceberg materialized views; long-term system table retention into S3 Tables.

Ingestion and zero-ETL

COPY from S3 with manifests and error handling, streaming ingestion from Kinesis Data Streams, Amazon MSK and Confluent Cloud, zero-ETL integrations from Aurora, RDS, DynamoDB and SaaS sources, change data capture through AWS DMS, and orchestration with dbt, Airflow or Step Functions. Designed for idempotent reloads and per-window reconciliation.

Migrations into and out of Redshift

Into Redshift from Teradata, Oracle, SQL Server, Netezza, Greenplum and on-premises PostgreSQL with the AWS Schema Conversion Tool and DMS where they help and hand-built pipelines where they do not. Out of Redshift to BigQuery, Snowflake, Databricks or ClickHouse when the assessment says so, with SQL translation, dual running, reconciliation and a rehearsed cutover.

Security and compliance

IAM and identity-provider federation, IAM Identity Center trusted identity propagation, role-based access control with row-level and column-level security, dynamic data masking, KMS encryption, audit logging to S3 and CloudTrail, enhanced VPC routing, and the evidence packs for SOC 2, HIPAA, PCI DSS and GDPR reviews.

03 · Table design

Where the time goes: distribution, sort keys and the plan

Most slow Redshift queries are not slow because the cluster is small. They are slow because two large tables are distributed on different columns and one of them crosses the network on every execution, or because a fact table has no usable sort key and every dashboard scans the whole thing. Redshift consulting that starts anywhere else is guessing.

Distribution decides join cost

Rows live on slices. A join between two tables distributed on the join column completes on each slice with no network step; the plan shows DS_DIST_NONE. If the inner table is small the planner broadcasts it to every slice (DS_BCAST_INNER), which is cheap until statistics go stale and the "small" table is 400 million rows. If neither table is on the join key the planner re-hashes both across the network (DS_DIST_BOTH), and that is the shape of almost every "this query takes eleven minutes" ticket we receive.

The fix is usually a DISTKEY on the join column for the largest fact tables and DISTSTYLE ALL for dimensions under a few million rows, with AUTO left in charge of the long tail. Since patch 203 Redshift will assign a DISTKEY automatically to tables with a primary key; we verify that it chose the column your queries actually join on, because a primary key and a join key are not always the same thing. Skew is checked in SVV_TABLE_INFO.skew_rows before and after.

Sort keys decide scan cost

A compound sort key on the columns dashboards filter by lets zone maps skip most blocks. Interleaved keys were the answer for many equally-likely filter columns and are now largely superseded by the multidimensional data layout sort key introduced in patch 202, which is worth testing on wide fact tables with unpredictable predicates. SVV_TABLE_INFO.unsorted above 20% on a table that is queried daily means vacuum is not keeping up with the load pattern and the load pattern, not the vacuum schedule, is what we change.

Reading the plan the way the engine does

Every Redshift consulting report we write starts from this pair of queries, run against the last seven days before anyone touches a parameter.

-- Five worst queries by execution time, last 7 days.
-- Queue time kept separate: a WLM problem is not a SQL problem.
SELECT query_id,
       user_id,
       ROUND(elapsed_time / 1e6, 1)   AS elapsed_s,
       ROUND(queue_time / 1e6, 1)     AS queue_s,
       ROUND(execution_time / 1e6, 1) AS exec_s,
       returned_rows,
       LEFT(query_text, 80)           AS query_text
FROM   sys_query_history
WHERE  start_time > DATEADD(day, -7, GETDATE())
AND    status = 'success'
ORDER  BY execution_time DESC
LIMIT  5;

-- Step-level detail for one query: which step redistributed or spilled
SELECT step_id, step_name,
       SUM(input_rows)   AS input_rows,
       SUM(output_rows)  AS output_rows,
       SUM(spilled_block_local_disk + spilled_block_remote_disk) AS spilled_blocks,
       MAX(duration) / 1e6 AS max_slice_s
FROM   sys_query_detail
WHERE  query_id = ${QUERY_ID}
GROUP  BY step_id, step_name
ORDER  BY step_id;

Two things fall out of that pair almost every time. A step whose slowest slice takes five times the median is skew, not volume. A join step with spilled blocks on a cluster that "has plenty of memory" is a WLM slot with too little memory for the queue it sits in. Neither is fixed by adding nodes.

Redshift consulting on distribution styles: co-located joins, broadcast joins and double redistribution across slices

Figure 2. The three join shapes the planner can produce and where each is read. The right-hand case is the one Redshift consulting work most often removes, and it is a table design change, not a cluster change.

Column encodings are the quiet third lever in Redshift consulting work. AZ64 on numeric and date columns and LZO or ZSTD on text usually beat what COPY chose years ago, and a VARCHAR(65535) column that holds ten-character codes inflates every hash join's memory grant. We rebuild such tables by deep copy into a correctly encoded twin, validate counts and checksums, and swap names inside a transaction so the change reverses in seconds.

04 · Workload management

Redshift consulting for workload management and concurrency

Dashboards timing out behind the nightly load is the classic Redshift complaint, and the classic wrong answer is a bigger cluster that sits idle 20 hours a day. The queue design is where the money is.

On provisioned clusters our Redshift consulting default is automatic WLM, in nearly every case. Queues are assigned by user group, query group or role, each with a priority from lowest to critical, and the engine sizes slots and memory from observed demand. The ELT queue gets high priority inside the load window and nothing outside it; BI gets normal; ad hoc analysts get low with a query monitoring rule that aborts anything past fifteen minutes or past a scan-row threshold. Manual WLM survives only where a queue needs a hard memory reservation, and we document why.

Query monitoring rules are the safety net. Predicates on query_execution_time, query_cpu_time, scan_row_count, nested_loop_join_row_count and spectrum_scan_size_mb with log, hop or abort actions stop one runaway join from taking the cluster down at 09:05 on a Monday. STL_WLM_RULE_ACTION tells you how often they fire, which is itself a finding.

Concurrency scaling is priced per second after the free hour a day (banked up to 30 hours), so we treat it as a burst tool for read queries and a small set of writes, never as a substitute for fixing the dashboards that trigger it. Queue time above 10% of execution time on the BI queue is a design problem; we say so in the report rather than recommending credits.

On Serverless the levers are different. Base capacity sets the floor, the price-performance target tells AI-driven scaling whether to favour cost or speed, and usage limits cap RPU-hours per day, week or month with alert or disable actions. Without a usage limit a new workgroup will happily scale a badly written dashboard to 512 RPU and bill for it; with one, the same dashboard gets a ticket instead of an invoice. SYS_SERVERLESS_USAGE shows compute seconds against charged seconds per interval, which is where the modelling starts.

Where an estate has both, the pattern that keeps winning in our Redshift consulting work is a provisioned producer for loads and one or more Serverless consumers for BI, joined by a data share. The load window never queues behind analysts, analysts never queue behind the load, and the Serverless side is billed only while someone is actually running a query.

Redshift consulting for workload management: automatic WLM priorities, query monitoring rules, concurrency scaling and Serverless capacity

Figure 3. The two halves of Redshift consulting for workload management: provisioned WLM on the left, Serverless capacity control on the right, and the system views each is read from.

05 · Deployment

RA3, RG or Serverless: what Redshift consulting recommends and why

The right form depends on the shape of the load, not on the size of the data. Steady ELT with a large footprint favours a reserved provisioned cluster; bursty or intermittent work favours Serverless; mixed estates split the two. We model your own query history against each price list before we say which; that model is where Redshift consulting on deployment starts.

NodevCPUMemoryManaged storage per nodeNodesLake accessWhen we recommend it
ra3.large216 GiB8 TB (1 TB single-node)1–16Spectrum, US $5/TBSmall provisioned estates that need data sharing or Multi-AZ
ra3.xlplus432 GiB32 TB2–32SpectrumMid-size warehouses with modest concurrency
ra3.4xlarge1296 GiB128 TB2–64SpectrumThe workhorse; reserved pricing for steady ELT
ra3.16xlarge48384 GiB128 TB2–128SpectrumLarge, high-concurrency estates
rg.large216 GiB8 TB (1 TB single-node)1–16Integrated engine, no per-TB chargeReplaces ra3.large one-for-one; single node since patch 204
rg.xlarge432 GiB32 TB2–32Integrated engineReplaces ra3.xlplus one-for-one
rg.4xlarge16128 GiB128 TB2–64Integrated engineThree RG nodes per four ra3.4xlarge; the usual RG target
rg.12xlarge48384 GiB128 TB2–128Integrated engineReplaces ra3.16xlarge one-for-one
Serverless4–1,024 RPU baseNamespace on RMSn/aIncludedBursty BI, dev and test, data-share consumers; US $0.375 per RPU-hour in us-east-1

Specifications from the Amazon Redshift node type documentation and pricing page as of September 2026. Prices vary by region and change; we re-price every model on the day the report is written.

Moving from RA3 to RG

For most clusters the move is an elastic resize that keeps the endpoint and takes roughly 10 to 15 minutes, during which the cluster is read-only, zero-ETL tables go into resync and data shares pause for a few minutes. Classic resize handles node configurations elastic resize cannot and rebalances slices evenly, at the cost of a longer window and a fresh manual snapshot no older than ten hours.

Snapshot-and-restore builds an RG twin beside the RA3 cluster for validation with no production downtime, at the cost of a new endpoint and re-created zero-ETL integrations. We rehearse the chosen path on a restored snapshot, measure the top fifty queries on both, and only then book the window. Reverting to RA3 works by the same mechanisms, which is what makes the change acceptable to a Redshift consulting practice that treats every cluster as production.

How the cost model is built

We take 90 days of SYS_QUERY_HISTORY, bucket execution seconds and scanned bytes by hour, and replay the profile against on-demand and reserved RA3 and RG pricing and against Serverless RPU-hours at the observed concurrency. Spectrum scan bytes from SVL_S3QUERY_SUMMARY and SYS_EXTERNAL_QUERY_DETAIL are priced separately for RA3 and zeroed for RG. Managed storage is priced from SVV_TABLE_INFO.size growth, and concurrency scaling seconds from SVCS_CONCURRENCY_SCALING_USAGE. The output is three monthly numbers per candidate with the assumptions written next to them. AWS's own migration guidance is at RA3 to RG migration best practices; our Redshift consulting model is what tells you whether it applies to you.

06 · Ingestion and the lake

Ingestion, zero-ETL, data sharing and the S3 boundary

Half of Redshift performance problems begin upstream: unsorted loads, delete-heavy CDC churn the vacuum cannot absorb, or Spectrum scans of data that should have been a managed table. The ingestion design and the lake boundary are part of every Redshift consulting scope for that reason.

Four ways in

Zero-ETL replicates change data from Aurora MySQL and PostgreSQL, RDS for MySQL, PostgreSQL and Oracle, Oracle Database@AWS, DynamoDB, self-managed MySQL, PostgreSQL, SQL Server and Oracle, and SaaS sources including Salesforce, SAP, ServiceNow and Zendesk into managed storage within seconds and with no pipeline code.

The target must be an RA3, RG or Serverless warehouse; the source list and its regional caveats are in the zero-ETL documentation. Streaming ingestion exposes Kinesis Data Streams, Amazon MSK and Confluent Cloud topics as materialized views, and since patch 203 Kinesis refreshes can run on concurrency scaling clusters. COPY from S3 remains the batch workhorse, parallel per slice, with manifests, MAXERROR and STL_LOAD_ERRORS. AWS DMS covers the engines and networks zero-ETL does not reach.

Whichever path, our Redshift consulting design rule is idempotent reloads and reconcile row counts and checksums per load window from SYS_LOAD_HISTORY and SYS_LOAD_ERROR_DETAIL, because reloads happen and a warehouse that cannot be reloaded safely is not one you can operate.

Sharing instead of copying

Data sharing lets a consumer warehouse read a producer's live tables with no copy and no pipeline, across accounts and regions, governed through Lake Formation where the estate needs central control. Multi-warehouse writes through data sharing have been generally available since November 2024, so an ELT workgroup can write into a namespace it does not own. The producer-consumer split described under workload management is built on exactly this.

The S3 boundary

Hot, frequently joined data belongs in managed storage. Cold partitions, raw landing data and anything other engines need to read belong in S3 as Parquet or Iceberg, registered in the Glue Data Catalog. Iceberg v3 tables with deletion vectors are readable since patch 204, Iceberg materialized views with incremental refresh since patch 205, and since August 2026 system table history can be retained beyond the seven-day window in Amazon S3 Tables, which is the first time long-term query-history analysis has not needed a custom export job.

We set partitioning and target file sizes on the lake side so that a scan reads the partitions it needs and no more, and we review SYS_EXTERNAL_QUERY_DETAIL monthly to catch the lake tables that have quietly become hot.

Redshift consulting ingestion topology: zero-ETL, streaming ingestion, COPY, DMS, producer and consumer warehouses and Iceberg tables

Figure 4. The ingestion topology a Redshift consulting scope covers: sources, the four ingestion paths, the producer-consumer split, and the lake tier. Reconciliation sits under all of it.

08 · Method

How a Redshift consulting engagement runs

Read-only first, changes with rollback second, measurement forever. The structure is the same whether the estate is two ra3.large nodes or a 96-node cluster with forty data shares.

Week one: evidence

A Redshift consulting engagement begins with a cross-account role with read-only cluster permissions and a database user with unrestricted system-log access. We collect the evidence set above, 90 days of query history and the billing data, and deliver the findings report ranked by cost and latency impact, each item with its measurement and its estimated effect.

Weeks two to four: changes with rollback

Table redesigns run as deep copies validated by count and checksum, then swapped by name inside a transaction. WLM and QMR changes are staged with a monitoring window. Node, track or Serverless moves are rehearsed on a restored snapshot and booked into a window with the resync and data-share pauses written into the change record.

Ongoing: measurement and support

The same query-history and spend analysis runs monthly under the support retainer, so a regression is caught when a new dashboard or pipeline lands rather than when the invoice does. Patch notes on both maintenance tracks are read before they reach your cluster.

How a MinervaDB Redshift consulting engagement runs: evidence week, changes with rollback, ongoing measurement and 24x7 support

Figure 5. The three phases of a Redshift consulting engagement and the standing rule under them.

Redshift is rarely alone. The sources are usually RDS or Aurora PostgreSQL and MySQL, the lake is S3 with Glue, the streaming path is Kinesis or Kafka, and there is often a second warehouse or a ClickHouse cluster serving the customer-facing analytics. Our AWS data platform engineering team covers all of these and our data engineering practice builds the pipelines between them, so a finding that originates upstream is fixed upstream by the same Redshift consulting engagement.

09 · Operations

24×7 Redshift support with named engineers

Most Redshift consulting engagements continue into the retainer, which gives you named engineers on a 24×7 rota, not a ticket queue. Redshift support sits inside our AWS data platform practice and our data analytics and data warehousing support for organisations running more than one warehouse.

What is covered

  • Failed and slow loads, hung queries, disk-full and queue incidents, and cost spikes, with the fix and the evidence in the ticket
  • Maintenance-window and patch-track problems, including behaviour changes announced ahead of a patch and their effect on your SQL
  • Zero-ETL integrations in error or resync state, streaming views that stop refreshing, data shares that stop resolving
  • Monthly review of query history, table health, storage growth and spend against the previous month, with the drift explained
  • Quarterly restore drill from a cross-region snapshot copy, timed, so the RTO on paper is one you have actually achieved

Severity targets

SeverityDefinitionAcknowledged
S1Warehouse down, loads failing estate-wide, data loss risk15 minutes, 24×7
S2Major degradation, critical reports or loads failing12 hours
S3Single workload impaired, workaround exists24 hours
S4Questions, tuning requests, planned changes48 hours

Every S1 closes with a written root-cause analysis: timeline, evidence, the change that fixed it and the change that prevents it.

10 · Pricing

Redshift consulting and support pricing

Redshift consulting is billed at published rates, with no discovery-call theatre. Health checks and migrations are quoted on a fixed scope after a short call about the estate.

US $300per hour, remote consulting
US $500per hour, on-site consulting, plus travel
from US $4,500per quarter, 24×7 support retainer; unused hours roll into project work within the quarter
Fixed scopeRedshift consulting health check and cost review, RA3-to-RG or Serverless migration, warehouse migration in or out

Test every change in a non-production cluster or on a restored snapshot first, keep a manual snapshot before any table redesign, node change or maintenance-track change, and maintain a robust disaster-recovery posture with cross-region snapshot copies. This applies to our recommendations as much as to anyone else's.

11 · Questions

Redshift consulting: frequently asked questions

The questions we are asked most often on the first call, answered the way we answer them on the first call.

Can Redshift consulting actually cut our bill, or is that a sales line?

It is measurable, which is the point. The savings Redshift consulting finds come from four places: clusters sized for a load window that lasts two hours a day, concurrency scaling credits burned by dashboards that should have been rewritten, Spectrum scans on data that belongs in managed storage (or the reverse), and reserved nodes that no longer match the cluster. Every figure we quote is modelled from your own SYS_QUERY_HISTORY and Cost Explorer data and labelled as an estimate until it appears on the invoice.

Should we move from RA3 to the new RG nodes?

Usually yes for clusters that query the lake, because the integrated data lake engine removes the per-terabyte Spectrum charge and AWS quotes 30% lower cost per vCPU. For a warehouse that never touches S3 the gain is smaller and should be measured on a restored snapshot first. The move itself is an elastic resize of roughly 10 to 15 minutes; zero-ETL tables resync and data shares pause during that window, so it is scheduled, not improvised.

Is Redshift Serverless cheaper than a provisioned cluster?

For bursty and intermittent work, often. For steady ELT running most of the day, a reserved RA3 or RG cluster is usually cheaper per unit of work. Most estates we see end up with both: a provisioned producer for loads and a Serverless consumer for BI, joined by a data share. We model your query history against both price lists before recommending.

Our Python UDFs stopped working. What now?

Python UDF support ended on 30 June 2026 and patch 203 began enforcing it. We inventory what remains from PG_PROC and the query history, rewrite each as a SQL UDF where the logic allows and as a Lambda UDF where it does not, and regression-test results against the old outputs. We treat it as an S2 because reports are usually already broken by the time it is noticed.

Can you migrate us off Redshift?

Yes, to BigQuery, Snowflake, Databricks or ClickHouse, with SQL translation, dual running and reconciliation before cutover. We also say plainly when the right answer is to stay and fix the table design, which is the more common outcome of Redshift consulting.

Do you cover Aurora, RDS, DynamoDB and the rest of the AWS estate?

Yes. Redshift consulting sits inside our AWS data platform practice, so the zero-ETL sources, the Glue catalogue, Lake Formation, Kinesis and MSK are handled by the same engineers who tune the warehouse.

How do you get access for Redshift consulting, and what do you need from us?

A cross-account IAM role with read-only cluster permissions and a database user with catalogue visibility (SYSLOG ACCESS UNRESTRICTED for system views). No write access until the findings report is agreed and change windows are booked.

What does the 24×7 support retainer include?

Named engineers on a rota for failed loads, hung queries, disk-full and queue incidents, cost spikes and maintenance-window problems, plus a monthly review of query history, storage growth and spend. S1 is acknowledged within 15 minutes around the clock, S2 within 12 hours, S3 within 24 hours and S4 within 48 hours, and every S1 closes with a written root-cause analysis.

Further reading

Related services

The engines Redshift consulting work usually finds beside the warehouse, and the alternatives we are honest about.

Amazon RDS and Aurora support

The zero-ETL sources, tuned by the same team.

BigQuery consulting

When the estate is on Google Cloud, or moving there.

Snowflake consulting

The usual alternative in a Redshift exit assessment.

ClickHouse consulting

For customer-facing, sub-second analytics beside the warehouse.

Databricks consulting

Lakehouse estates that share the same S3 and Iceberg tables.

Kafka consulting

The streaming ingestion path into Redshift.

Data engineering

The pipelines between sources, lake and warehouse.

PostgreSQL consulting

Where Redshift's SQL dialect and much of our practice come from.

Talk to a Principal Architect about Redshift consulting

Bring the cluster identifier and the last invoice to the first Redshift consulting call. We will tell you within the first call whether the estate needs a redesign, a node change, a Serverless split, or nothing at all.