العربيةworlber.sa
Flag of Saudi ArabiaSaudi company · Riyadh

PostgreSQL

Live Dashboards vs. OLTP PostgreSQL: What GPU Acceleration Changes

Dashboards slowing your OLTP PostgreSQL? What GPU acceleration in CYBERTEC PGEE GPU Edition changes, what stays the same, and when it is the wrong fit.

1 Nov 2026 · 9 min read

OLTP and dashboard queries sharing one PostgreSQL, with heavy analytics on GPU

The ticket usually reads the same way. The operations dashboard takes forty seconds to load at 9 a.m., checkout latency spikes while it does, and someone in a meeting says the words "data warehouse."

If you run PostgreSQL for a Saudi ministry, a bank, or an industrial group, you have probably heard that pitch. Move the reporting somewhere else, copy the data overnight, and let the transactional database breathe. It works. It also gives you a second system to secure, a second copy of regulated data to keep inside the Kingdom, and numbers that are always a few hours old.

This post is about the other option: keep the analytics on the PostgreSQL you already run, and change what executes the heavy part of those queries. That is what CYBERTEC PGEE GPU Edition is for. It is also not the right answer for every slow database, and we will be specific about where it does not help.

Why the dashboard hurts the application

OLTP and analytics want opposite things from the same server.

An order insert or a balance lookup touches a handful of rows through an index. It needs low latency, short locks, and free CPU and buffer cache at all times.

A dashboard panel like "revenue by region by day for the last 18 months" scans millions of rows, hashes them into groups, joins them against reference tables, and sorts the result. It wants every core and as much memory bandwidth as the machine has.

When both run on one instance, the analytical query wins the fight for resources and the transactions pay for it in tail latency. PostgreSQL parallel query helps the report finish sooner, but it does so by taking more of the same cores your application needs.

The two usual fixes, and their bills

Add CPU. Bigger instances buy headroom, and for moderate reporting load that may be all you need. The limit shows up on large scans. A sequential scan feeding an aggregate spends most of its time moving bytes from memory to cores, and memory bandwidth is shared by every core in the socket. Past a certain point, extra workers wait on the same memory bus instead of finishing sooner. You pay for more cores and query time flattens out.

Move analytics to a warehouse. Now reporting has its own hardware. In exchange you take on:

  • Lag. ETL or CDC pipelines mean dashboards show the past. "Real-time" becomes "as of the last load."

  • A second security surface. Another set of roles, another audit trail, another place where national ID numbers or salaries live. If you rely on Transparent Data Encryption and masking to meet PDPL expectations in PostgreSQL, you need equivalent controls in the new system too.

  • A second residency question. The copy has to stay in-Kingdom as well, under the same scrutiny.

  • Pipeline work. Someone owns the ETL jobs, schema drift, and the 3 a.m. failure when a column changes upstream.

For some organisations that trade is correct. For many, the warehouse exists only because the operational database could not answer a few heavy questions fast enough.

What GPU acceleration actually changes

GPUs have far more memory bandwidth and far more parallel lanes than a CPU socket, which is exactly what a large scan-and-aggregate needs. PGEE GPU Edition puts that hardware under PostgreSQL in four pieces.

A cost-aware, GPU-aware planner

The optimizer treats the GPU as another execution option and costs it like any other plan. If the CPU plan is cheaper, or the query does not parallelise well on a GPU, the query stays on the CPU. You do not tag queries by hand, and a bad fit does not get forced onto the GPU.

Hybrid execution

Within one query, the massive scans and complex aggregations run on the GPU while the CPU handles the rest of the query lifecycle: parsing, planning, the parts that are not worth offloading, and returning rows to the client. It is one PostgreSQL query with two engines, not a separate system.

A compact columnar cache on the GPU

PostgreSQL stores rows on disk. Scans that only need three columns of a forty-column table still drag whole rows through memory. The GPU Edition keeps only the columns that accelerated queries need, in a compact columnar format in GPU memory, so the kernels run vectorised over contiguous column data. CYBERTEC states that this GPU representation is typically 4–6× smaller than the corresponding on-disk data. Frequently accessed columns stay GPU-resident, so a dashboard that refreshes every minute does not pay the transfer cost from host memory each time.

That matters for sizing. GPU memory is the scarce resource, and a compact columnar copy of the hot columns fits far more working set into it than a row copy would.

Transparent SQL, controlled rollout

Existing queries, BI tools and applications keep connecting to PostgreSQL as they do today. There is no rewrite project and no new dialect. Acceleration can be enabled per session or per role, so you can turn it on for the reporting role first and leave the application role on the CPU path while you measure.

What the vendor has published

We have not run our own benchmarks for this post, so the numbers below are CYBERTEC's published examples, not Worlber measurements:

  • On a DGX Spark–class small system, a query over 288 million rows took 3.6 s on CPU and 0.007 s on GPU, both with warm caches.

  • For TPC-DS–style analytical workloads, CYBERTEC reports large improvements, in some cases far beyond a single-core CPU baseline.

Treat these as evidence that the mechanism works, not as a forecast for your system. Your gain depends on data volume, which columns are hot, query shape, concurrency and the GPU you buy. The only number that should drive a purchase is one measured on your own queries.

Which queries move to the GPU, and which stay

Per CYBERTEC, the workload classes that benefit are:

  • large sequential scans with filters

  • scalar aggregates (SUM, AVG, COUNT over big tables)

  • GROUP BY aggregation

  • DISTINCT and COUNT(DISTINCT ...)

  • supported star-schema joins (a fact table joined to dimension tables)

Point lookups, queries that return small result sets through an index, and transactional INSERT/UPDATE/DELETE work generally stay on the CPU. That is the planner doing its job: launching GPU work for a five-row index lookup would cost more than it saves.

What does not change

This matters as much to a DBA as the speed does.

  • Results are the same results. CYBERTEC requires GPU results to be byte-identical to the corresponding PostgreSQL results. A report should not change its totals because the planner picked a different engine.

  • MVCC still decides what you see. The GPU cache follows PostgreSQL's MVCC visibility rules. Cached data is used only while its visibility state and WAL position show it is still valid; otherwise it is not used. A dashboard query still sees a consistent snapshot, and readers still do not block writers.

  • ACID is intact. Transactions commit, roll back and isolate the same way. The GPU accelerates reads for analytics; it does not change the write path.

  • Security controls still apply. GPU Edition includes everything in CYBERTEC PGEE, so Transparent Data Encryption and data masking keep working.

  • HA stays the same. Patroni and streaming replication are supported, so you keep failover, and standbys can serve read traffic for extra read capacity.

  • It is still PostgreSQL. Backups, monitoring and the team's runbooks remain PostgreSQL practice.

Hardware and platform

The GPU Edition is based on PostgreSQL 19 and later, so plan it alongside your major-version upgrade path. It ships kernels for both CUDA and ROCm and scales across multiple GPUs.

Representative supported hardware, from CYBERTEC's list:

  • NVIDIA data-centre: A100, L40S, H100, H200, B200

  • NVIDIA smaller form factor: L4, RTX 50xx, GB10 (DGX Spark–class, unified memory)

  • AMD: the Instinct line, and Ryzen AI Max PRO 400 Series / Ryzen AI Max+ 395 systems

Both unified-memory designs and dedicated VRAM (GDDR6X, GDDR7, HBM3, HBM4) are supported. Supported deployment targets include Kubernetes, OpenShift and SUSE Rancher, as well as hyperscaler clouds. For a Saudi public-sector buyer the practical point is that the hardware can sit in your own data centre, next to the data.

A side path for AI teams: zero-copy into PyTorch

If the same organisation trains or fine-tunes models on operational data, there is one more piece. The pgee_gpu Python client can expose GPU-resident columns directly as read-only PyTorch tensors, skipping the usual export to CSV or Parquet and reload into the GPU. CYBERTEC's documented example builds a 20-million-row by 8-column feature matrix on an NVIDIA GB10 in 0.15 s, against 18.1 s for a traditional export.

This is not why most teams will buy the GPU Edition, but if you already plan private AI workloads on in-Kingdom hardware, keeping feature data in the database and on the GPU removes one more copy of regulated data.

When it is the wrong tool

Be suspicious of any accelerator pitched as a fix for everything. GPU acceleration is a poor fit when:

  • The workload is mostly short transactions and lookups. Single-row reads through an index already run on the CPU, and the planner will keep them there. Standard PGEE, indexing and connection pooling are the better levers.

  • The query is slow for a fixable reason. A missing index, a bad estimate, stale statistics, or N+1 queries from the application. Measure first; our post on measuring before tuning covers how.

  • The problem is locking or connection storms. That is a concurrency issue, not a compute issue. Look at PgBouncer and transaction design.

  • The planner can already cut the work on the CPU. Sometimes changing how aggregation and joins interact removes most of the cost. See aggregation pushdown explained.

  • You cannot move to PostgreSQL 19+ yet. The GPU Edition builds on it; if you are stuck on an older major version, upgrading comes first.

How to evaluate it without a leap of faith

  1. Collect the real offenders. Use pg_stat_statements to list the queries with the highest total time and capture EXPLAIN (ANALYZE, BUFFERS) for the top ten. If most of the time sits in sequential scans, hash aggregates, DISTINCT and fact-to-dimension joins over large row counts, you have GPU-shaped work.

  2. Note which columns they touch. That set is roughly what has to fit in GPU memory, and it drives GPU sizing more than total database size does.

  3. Separate fixable from structural. Fix the missing indexes and bad plans first. Whatever stays slow is the honest baseline.

  4. Record the business number. Dashboard load time, report runtime, and p95/p99 latency of key transactions while reports run.

  5. Pilot by role. Enable acceleration for the reporting role only, same SQL and same data, and compare against the baseline. Check that report totals match.

Where this leaves the warehouse decision

If your reporting needs years of history from many source systems, a dedicated analytics platform may still be right. But if the warehouse proposal exists mainly because a few dashboards on live operational data are too slow, try the cheaper move first: keep the data in one PostgreSQL, under one set of security controls, inside the Kingdom, and give the heavy queries hardware that suits them.

Worlber is an authorised CYBERTEC reseller in Saudi Arabia, with a team in Riyadh. Tell us about your workloads and GPU environment and we will run an assessment, then prepare sizing and a quote: PGEE GPU Edition — request an assessment.

Next step

Bring us your database challenge

Send us your environment and goal. We will tell you what fits, what does not, and the safest next step.

contactus@worlber.com

Live Dashboards vs. OLTP PostgreSQL: What GPU Acceleration Changes | Worlber Insights