AI Project Estimate

When Your SaaS Needs a Data Lake in 2026, and When Postgres Is Enough

Alexander Rocket7 min readUpdated
Conceptual engineering illustration of data streams entering a layered reservoir beside a structured data grid.

Most SaaS products don’t need a data lake in their first years. One well-run Postgres database, with a product analytics tool beside it, covers the app and most of the reports a young company needs. A data lake starts to pay for itself when you keep large amounts of raw events or files, when analysts need years of history, or when heavy queries slow the app down. This guide shows the signs, what to run at each stage, the 2026 prices to plug into your own math, and how to plan deletion before you collect anything.

Database, warehouse, lake: what each one is for

The three names get mixed up, so here is the plain version.

DatabaseData warehouseData lake
HoldsLive app data: users, accounts, ordersCleaned, structured data for reportsRaw data of any shape: events, logs, files, exports
Used byThe app itselfAnalysts and dashboardsAnalysts, data scientists, machine learning jobs
Typical question“Show this customer’s invoices”“Revenue by plan by month”“Every click from every account for three years”
What you pay forServer sizeStorage plus queriesCheap storage plus the data each query scans
Database, data warehouse and data lake compared

A lake isn’t a better database. It sits next to the database and keeps what the app doesn’t need to serve customers.

A database goes further than many teams think

PostgreSQL 18, released on 25 September 2025, added an asynchronous I/O subsystem. The PostgreSQL project reports read speed-ups of up to 3× in certain scenarios, and a new uuidv7() function creates IDs ordered by time, which index better (PostgreSQL 18 release). With a read replica for reports, one database carries a SaaS a long way.

The first thing that usually outgrows the app database is the event stream: page views, clicks and logs that arrive far faster than business records such as accounts and invoices. On Subflare, a lead scoring product that records what visitors do on a client’s website, we kept app data in PostgreSQL and put the stream of visitor events in DynamoDB, with Redis and BullMQ for background jobs. The event stream stayed out of the app database, and the MVP needed no lake.

Signs your SaaS needs a data lake

  • You keep raw events, logs or files you can’t throw away, and they grow much faster than your app data.
  • Analysts want years of history, and their queries slow the app or the replica.
  • You train or test machine learning models on raw data.
  • Customers ask for exports or reports over their own full history.
  • Several tools, such as a BI tool, notebooks and model training, need to read the same data.

If two or more are true, start planning a lake. If only one is, a read replica or a warehouse is usually enough.

What a lake costs in 2026

A lake has two main bills: storage and queries. Both are cheap per unit and easy to waste.

  • Storage: AWS lists S3 Tables, its managed storage for analytics tables, at $0.0265 per GB a month for the first 50 TB in its US West (Oregon) example (Amazon S3 pricing).
  • Queries: Amazon Athena charges $5 per TB of data scanned. In AWS’s own example, querying a 3 TB uncompressed text file costs $15. Compressed to 1 TB in Parquet, with one of four columns read, the same query costs $1.25 (Amazon Athena pricing).
  • Table format: Apache Iceberg is an open table format that Spark, Trino, Flink, Presto, Hive and Impala can all use on the same tables. Schema changes don’t rewrite the table, queries can read an earlier snapshot, and targeted row deletes are supported (Apache Iceberg).

An illustrative month, using those list prices: 2,000 GB of stored events at $0.0265 per GB is $53. Queries that scan 1 TB a day for 30 days at $5 per TB come to $150. The scan bill is already about three times the storage bill, which is why the Athena example matters: file format and column choice decide your cost more than data size does. The people who build and run the pipelines usually cost more than both.

Plan deletion before you collect

Raw events with user IDs in them make privacy requests harder. Under UK GDPR, the ICO says you must respond to an erasure request without undue delay and at the latest within one month. For backups it says “the key issue is to put the backup data ‘beyond use’”, even if it can’t be overwritten at once (ICO, right to erasure).

In practice: keep the link between a person and their ID in one place, store events under that ID rather than names or emails, and pick a table format that supports row deletes. Subflare had the basics from day one: clients and leads can delete their data, and all data is stored on AWS in Europe. This is planning advice, not legal advice.

How we would estimate it

Data work is easy to underprice because it hides behind one line like “add analytics”. Break it into stories a customer or an analyst would notice, such as “export one account’s events as CSV” or “show weekly active accounts by plan”.

You can get a free project estimate for it from a short brief. The estimate turns your brief into user stories, and you confirm what is in scope, so every hour in the budget traces back to a story you kept. We check the hours the model suggests against what our team actually books on finished projects, then multiply by our published rate of $39-55 an hour. You get an hours range, a budget range and a number of weeks, as a planning range rather than a fixed quote. If you’re still building the product itself, our SaaS development page lists our published price for a first release: $5,000-15,000, typically 2-4 weeks.

What we would do

  1. Start with one Postgres database and a product analytics tool.
  2. From day one, write events to an append-only table or event store, keyed by an ID you can delete by.
  3. Add a read replica when reports start to slow the app.
  4. When two signs from the list above are true, land raw events in object storage as Parquet, in Iceberg tables.
  5. Query with a pay-per-scan engine first. Move to a warehouse when the bill or the speed says so.
  6. Write the deletion runbook before the first analyst gets access.
Looking for a reliable software development team?
Let’s discuss your product idea.

FAQ

What is a data lake in SaaS?

It is cheap storage for raw data of any shape, such as events, logs and files, kept next to the app database rather than inside it. Analysts and machine learning jobs read it; the app doesn’t serve customers from it.

When should a SaaS company build a data lake?

When two or more of these are true: raw events grow much faster than app data, analysts need years of history, you train models on raw data, customers want exports of their full history, or several tools must read the same data. Before that, a read replica or a warehouse is usually enough.

How much does a data lake cost?

Storage and queries are the two main bills. AWS lists S3 Tables at $0.0265 per GB a month for the first 50 TB in its US West (Oregon) example, and Athena at $5 per TB scanned. Compressed, column-based files such as Parquet cut the scan bill sharply; the engineering time usually costs more than both.

Should I choose a data lake or a data warehouse?

A warehouse holds cleaned, structured data for reports and dashboards. A lake holds raw data of any shape for later use. Many SaaS companies need a warehouse first. A lake comes later, or under the warehouse, once raw data becomes large and valuable.

Can Rocketech add analytics to our SaaS?

Yes. On Subflare we built event capture, dashboards and an admin panel, with app data in PostgreSQL and visitor events in DynamoDB. We price this kind of work from user stories at $39-55 an hour.

The best of our blog, bi-weekly

Carefully curated content for resourceful Devs, CTOs, and PMs. No spam.

You may also like

Talk to us!

Send us a message and we'll get in touch with you as soon as we can.