? Curious Hacker Newsfront | about | view on HN unofficial mirror
Moving our warehouse off DuckDB (posthog.com)
114 points by emschwartz 2026-11-02 | 69 comments | side by side | 24 rewritten | show 12 removed | updated 19:10 UTC
 help



> Five months ago, we rebuilt our warehouse on DuckDB instead of ClickHoue

They switched from ClickHouse to DuckDB five months ago, then switched from DuckDB to their own Trino derivative?

The article then ends before saying if the new setup solved their problems.

It’s great that we can now make these migrations with little downtime (I assume?) and try different things, but I wish we could have read more about what testing they did before jumping. The fact that they jumped to DuckDB without realizing it wasn’t going to work at their scale and spent only a few months with it before jumping again is not convincing.

I hoe there’s more to this story that just didn’t make it into the blog posts. As written it’s giving me flashbacks to some teams I worked with who changed tech stacks every six months because they liked migrating more than tuning and maintaining.

> Five months ago, we rebuilt our warehouse on DuckDB instead of ClickHoue

They switched from ClickHouse to DuckDB five months ago, then switched from DuckDB to their own Trino derivative?

The article then ends before saying if the new setup solved their problems.

It’s great that we can now make these migrations with little downtime (I assume?) and try different things, but I wish we could have read more about what testing they did before jumping. The fact that they jumped to DuckDB without realizing it wasn’t going to work at their scale and spent only a few months with it before jumping again is not convincing.

I hoe there’s more to this story that just didn’t make it into the blog posts. As written it’s giving me flashbacks to some teams I worked with who changed tech stacks every six months because they liked migrating more than tuning and maintaining.

Substantive criticism of how the migration was evaluated and reported, backed by the commenter's own experience; leaving it as written.

Things like this are a part of why I push back on people telling me we can do important things later. I don’t want to swap the engine out of a machine that’s moving that fast. There’s no time to learn about how it behaves with real versus synthetic traffic and what the failure modes are when you’re doing many thousands of transactions per second.

Why wouldn’t you want to sort stuff like that out when the problem is still relatively small?

The only other reasonable option is to wait until the problem gets so big that it splits into several domains. And then you can move one domain over, see how that goes, and move more over if it goes well.

If you can’t know for certain how the system will behave under organic load that may mean migrating traffic onto the new system and then back to the old one several times, which means you need migrations in both directions and each transition is an opportunity for human error to destroy data or take the service offline.

Things like this are a part of why I push back on people telling me we can do important things later. I don’t want to swap the engine out of a machine that’s moving that fast. There’s no time to learn about how it behaves with real versus synthetic traffic and what the failure modes are when you’re doing many thousands of transactions per second.

Why wouldn’t you want to sort stuff like that out when the problem is still relatively small?

The only other reasonable option is to wait until the problem gets so big that it splits into several domains. And then you can move one domain over, see how that goes, and move more over if it goes well.

If you can’t know for certain how the system will behave under organic load that may mean migrating traffic onto the new system and then back to the old one several times, which means you need migrations in both directions and each transition is an opportunity for human error to destroy data or take the service offline.

A thoughtful argument, drawn from engineering experience, about the risks of migrating infrastructure at scale.
steveBK123 2026-11-02 19:04 | removed0/10snarkjokebad_faith | parent | prev | next [–]

> The article then ends before saying if the new setup solved their problems.

They got to put ClickHouse, DuckDB and Trino on their resume & LinkedIn. Problem solved!

> The article then ends before saying if the new setup solved their problems.

They got to put ClickHouse, DuckDB and Trino on their resume & LinkedIn. Problem solved!

A sarcastic jab claiming the migrations were done to pad resumes, with nothing to back it up or engage with.
timgl 2026-11-02 18:458/10first_handinformative | parent | prev | next [–]

Founder here -- this is about our warehouse product which is separate from our main analytics DB. Our DuckDB warehouse was used by a handful of pilot customers. Our clickhouse database is serving all of our analytical queries.

Founder here -- this is about our warehouse product which is separate from our main analytics DB. Our DuckDB warehouse was used by a handful of pilot customers. Our clickhouse database is serving all of our analytical queries.

The founder explains firsthand that the DuckDB warehouse was a separate pilot product and ClickHouse still runs their main analytics, which clears up a misreading in the parent comment.
sgt 2026-11-02 16:423/10questionlow_effort | parent | prev | next [–]

What's wrong with ClickHouse again?

What's wrong with ClickHouse again?

A short but genuine question about why they moved away from ClickHouse, which the thread could answer.

I think it was closer to what they need; it comes down to keeping TB of data on local SSD and having a query engine next to it. That takes persistent, shared CPU, caching, sharding, resource management, etc.

Duckdb is an interesting approach to resource management (all ephemeral), but TB's are TB's. I doubt it was finding data where it needed it.

Clickhouse seems slow at getting to the top end of scaling; it's stuck with the 99% of its userbase doing 1 GB queries. I'm hoping they put some of their money into it.

I think it was closer to what they need; it comes down to keeping TB of data on local SSD and having a query engine next to it. That takes persistent, shared CPU, caching, sharding, resource management, etc.

Duckdb is an interesting approach to resource management (all ephemeral), but TB's are TB's. I doubt it was finding data where it needed it.

Clickhouse seems slow at getting to the top end of scaling; it's stuck with the 99% of its userbase doing 1 GB queries. I'm hoping they put some of their money into it.

A substantive technical take on why ClickHouse fits TB-scale workloads better than DuckDB and where ClickHouse still falls short at the high end of scaling.
stoic_stork62 2026-11-02 18:59 | rewritten3/10snarklow_effort | original | root | parent [–]

ClickHouse is a fast OLAP engine, but for TB-scale data I'd go with the more standard big-data setup: Iceberg tables queried with Trino. Why not that?

original comment by a34729t

ClickHouse is fast OLAP. Just do Iceberg with Trino like a normal big data person. WTF?

Takes out the 'WTF' and the dismissive tone but keeps the alternative architecture the commenter suggested.

I don’t know? They have blog posts about it but I don’t know how much I’d trust them because their chosen replacement only lasted 5 months before the next replacement.

I don’t know? They have blog posts about it but I don’t know how much I’d trust them because their chosen replacement only lasted 5 months before the next replacement.

A bit flippant, but it makes a real point: the company replaced the replacement after only 5 months, which is a reason to doubt its reasoning.

Unless something has changed in the last year, a lot of teams have serious problems with stability.

Unless something has changed in the last year, a lot of teams have serious problems with stability.

It gives a short but real answer to the question, pointing to stability concerns with ClickHouse.
teal_walrus16 2026-11-02 18:13 | rewritten2/10insinuationlow_effort | original | root | parent | next [–]

PostHog has listed a lot of job openings over the last couple of years. I assumed that was growth, but I wonder whether turnover is part of it.

original comment by hinkley

PostHog has listed a lot of job openings in the last couple of years. I figured growth but maybe it’s turnover.

Recasts a speculative dig about turnover as an honest observation and open question.

I am curious to learn more about those issues, anyone have shared their experience publicly? would love to read

I am curious to learn more about those issues, anyone have shared their experience publicly? would love to read

A real good-faith question asking for first-hand reports on the stability problems.
humble_finch71 2026-11-02 16:58 | rewritten3/10low_effortinsinuation | original | root | parent | prev [–]

One concern I've seen raised about ClickHouse is its Russian ties, discussed in this earlier thread: https://news.ycombinator.com/item?id=33082224

original comment by vindex10

Russian ties?

https://news.ycombinator.com/item?id=33082224

Rewrote the terse rhetorical question as a plain statement of the concern, keeping the link.

That's where it started very long ago, but they are based out of the Netherlands mostly now.

https://clickhouse.com/blog/we-stand-with-ukraine

> We have no infrastructure, servers or people in Russia. The original engineering team successfully moved out of Russia and are now working in our Amsterdam office.

That's where it started very long ago, but they are based out of the Netherlands mostly now.

https://clickhouse.com/blog/we-stand-with-ukraine

> We have no infrastructure, servers or people in Russia. The original engineering team successfully moved out of Russia and are now working in our Amsterdam office.

Gives a factual, sourced answer to the question about ClickHouse's Russian origins.

This reminds me of teams that use ORMs, never look under the hood at the generated queries or indexes, and then decide the database is the problem. I'd want to know how deeply they profiled their DuckDB workload before deciding the engine itself was the limit.

original comment by renegade-otter

It reminds of people who use ORMs, never pop the hood to analyze the queries, indexes, etc - then decide it's the database that's the problem.

The ORM analogy makes a real point about misdiagnosing performance problems, but it was a dismissive swipe, so it's rewritten as a plain concern.

There are many good reasons why the industry largely moved away from having DBAs as a specialist position. But one downside I've seen is that it's increasingly common to have teams decide to just switch platforms without fully exploring whether that's really necessary.

I'm not really surprised, data storage and data access technology is a pretty large subject all by itself, and a "jack of all, master of none" developer might never develop the expertise needed to properly optimize a database.

There are many good reasons why the industry largely moved away from having DBAs as a specialist position. But one downside I've seen is that it's increasingly common to have teams decide to just switch platforms without fully exploring whether that's really necessary.

I'm not really surprised, data storage and data access technology is a pretty large subject all by itself, and a "jack of all, master of none" developer might never develop the expertise needed to properly optimize a database.

A good-faith point about what teams lost when the DBA role went away, and how that leads to platform switches that may not be needed.
0c3ca83 2026-11-02 16:265/10curmudgeonly | prev | next [–]

Am I missing something here, or is the only technical detail in the post "a trillion rows is a lot of data, maybe trying trinio will work this time"?

It feels like a lot of churn and not a lot of measurements or engineering.

Am I missing something here, or is the only technical detail in the post "a trillion rows is a lot of data, maybe trying trinio will work this time"?

It feels like a lot of churn and not a lot of measurements or engineering.

Blunt but fair criticism that the post has few measurements or engineering details.

If I were a user of this product, I'd be worried by what this post signals: they rewrote the warehouse five months ago, it didn't solve the problem it was meant to solve, and now they're rewriting it again without much evidence that this attempt will go differently.

original comment by Deukhoofd

If I was a user of this product I'd be really worried about the "We rewrote our software 5 months ago, but that didn't solve the issue we wanted to solve so we're doing it again, maybe this time we'll fix it" message of this post.

A user's real worry about repeated rewrites, reworded so it doesn't mock the post with a caricatured quote.
roboben 2026-11-02 18:527/10first_handinformative | root | parent | next [–]

[Author] it was more like: we underestimated the problem and complexity of workloads our customers want to run. We did not rewrite anything but developing a new stack we can give to our customers doing warehousing. Agreed that this context is not really clear from the blog post.

[Author] it was more like: we underestimated the problem and complexity of workloads our customers want to run. We did not rewrite anything but developing a new stack we can give to our customers doing warehousing. Agreed that this context is not really clear from the blog post.

The post's author replies first-hand to clear up what the blog post meant, and the tone is good-faith.
ochre_seal30 2026-11-02 18:28 | rewritten6/10first_handinsightful | original | root | parent | prev [–]

I think we will see a lot more of this given how engineering is being done currently. I have been involved in 2 green field projects in the last 2 years. Both have been rewritten or had massive "ship of theseus" type changes multiple times over that time window.

Engineers working on new products, thanks to LLMs, have very little understanding of the technical details of the product. They have the same level of understanding a traditional high level manager had of products they owned. If you ever worked in an engineering org with an M2 or M3 who always attended your outage review, and in every outage review something has to involve some issue with Postgres or your Kafka queue, that disconnected M3 would conclude:

    "Almost every outage involves some problem with Postgres. My conclusion, observed over the last 6-12 months, Postgres is bad. I see this new FancyDB or DynamoDB thing is popular on Twitter. We should try that"

I have seen many takes like that from M2s or M3s who are far from the technical details and instead focus on keywords that seem to show up across all the issues. Then the logical solution is just to remove that and see what happens. This used to be very expensive, but if you can throw an LLM at a code base and say "Replace Postgres with FancyDB, split it to a list of logical checkpoints adding regression testing when missing to each checkpoint and open stacked PRs for all checkpoints", let it churn for an afternoon, and 46k-line change PR (and $800 token bill) later you are ready to try FancyDB, why would you not give it a try? Then if you have issues with FancyDB, are you gonna spend the time to understand what's going on or just say "lets try DynamoDB next"?

original comment by eddythompson80

Unironically, I think we will see a lot more of this given how engineering is being done currently. I have been involved in 2 green field projects in the last 2 years. Both have been rewritten or had massive "ship of theseus" type changes multiple times over that time window.

Engineers working on new products, thanks to LLMs, have very little understanding of the technical details of the product. They have the same level of understanding a traditional high level manager had of products they owned. If you ever worked in an engineering org with an M2 or M3 who always attended your outage review, and in every outage review something has to involve some issue with Postgres or your Kafka queue, that disconnected M3 would conclude:

    "Almost every outage involves some problem with Postgres. My conclusion, observed over the last 6-12 months, Postgres is bad. I see this new FancyDB or DynamoDB thing is popular on Twitter. We should try that"

I have lost count of the number of idiotic takes like that from M2s or M3s who have no idea how things work but instead focus on keywords they can latch onto that seems to be in the intersection of all issues. Then the logical solution is just to remove that and see what happens. This used to be very expensive, but if you can throw an LLM at a code base and say "Replace Postgres with FancyDB, split it to a list of logical checkpoints adding regression testing when missing to each checkpoint and open stacked PRs for all checkpoints", let it churn for an after noon, and 46k-line change PR (and $800 token bill) later you are ready to try FancyDB, why would you not give it a try? Then if you have issues with FancyDB, are you gonna spend the time to understand what's going on or just say "lets try DynamoDB next"?

A first-hand point about LLMs making rewrites cheap enough to replace root-cause analysis; I only softened the "idiotic takes" insult aimed at managers.

I worked at so many companies that operated this way, the tool is new but the approach is not. Those failed startups you hear about usually did a couple of these before hitting the ground

I worked at so many companies that operated this way, the tool is new but the approach is not. Those failed startups you hear about usually did a couple of these before hitting the ground

Short but real point from experience: repeated rewrites came before LLMs and often come before startups fail.

I have lost count of the number of idiotic takes like that from M2s or M3s who have no idea how things work but instead focus on keywords they can latch onto that seems to be in the intersection of all issues.

This phenomenon is at the root of the hardest organizational & architectural challenges I’ve been involved in.

It really needs a name so it can be tagged as a leadership anti-pattern.

Good leaders find real connections to explore & strengthen.

Bad leaders reach conclusions at the fuzzy pattern matching stage.

I have lost count of the number of idiotic takes like that from M2s or M3s who have no idea how things work but instead focus on keywords they can latch onto that seems to be in the intersection of all issues.

This phenomenon is at the root of the hardest organizational & architectural challenges I’ve been involved in.

It really needs a name so it can be tagged as a leadership anti-pattern.

Good leaders find real connections to explore & strengthen.

Bad leaders reach conclusions at the fuzzy pattern matching stage.

A thoughtful reflection on a leadership anti-pattern; the harsh wording is only in the quoted line from the parent.
antonvs 2026-11-02 18:47 | removed0/10jokesnark | root | parent | prev [–]

> lets try DynamoDB next

This is what this new feature called “loops” are for. Tell your agent to identify a list of databases and try them all, in prod, until it finds a good one. Be sure to tell it “no outages”.

> lets try DynamoDB next

This is what this new feature called “loops” are for. Tell your agent to identify a list of databases and try them all, in prod, until it finds a good one. Be sure to tell it “no outages”.

This is a sarcastic joke about agent loops with no real point underneath it.
lokar 2026-11-02 16:517/10insightfulinformative | parent | prev | next [–]

To me to key “insight” is that if you are going to spin up single VMs (or even groups) per-customer and then route queries, you need to be able to estimate the query cost first.

I know snowflake does this, they do the query optimization before sending it for execution. So it knows about how many resources will be needed (it can obviously be wrong).

To me to key “insight” is that if you are going to spin up single VMs (or even groups) per-customer and then route queries, you need to be able to estimate the query cost first.

I know snowflake does this, they do the query optimization before sending it for execution. So it knows about how many resources will be needed (it can obviously be wrong).

Points out a substantive technical lesson: estimate query cost before routing, as Snowflake does.
roboben 2026-11-02 18:548/10first_handinformative | root | parent | next [–]

[Author] Basically yes, but we spun up pods on EKS. It was hard for the customer to estimate how much they might need and hard for us to know how much capacity to provide. Given our plans on pricing on CPUHours (or similar) the logic was kinda broken.

[Author] Basically yes, but we spun up pods on EKS. It was hard for the customer to estimate how much they might need and hard for us to know how much capacity to provide. Given our plans on pricing on CPUHours (or similar) the logic was kinda broken.

The author explains first-hand why estimating per-customer capacity on EKS pods didn't fit CPU-hour pricing.
gonzalohm 2026-11-02 17:116/10questioninformative | root | parent | prev [–]

How does Snowflake use that information? You still need to pick the warehouse. It would be cool if there was an "elastic warehouse" where heavier queries are routed to bigger Warehouses, but that's not the case

How does Snowflake use that information? You still need to pick the warehouse. It would be cool if there was an "elastic warehouse" where heavier queries are routed to bigger Warehouses, but that's not the case

A real question and a correction: Snowflake users still choose the warehouse size themselves.
roboben 2026-11-02 18:556/10first_handinformative | root | parent | next [–]

[Author] Basically what we are doing with the help of Trino: a distributed query engine which can use as many resources as the query needs dynamically.

[Author] Basically what we are doing with the help of Trino: a distributed query engine which can use as many resources as the query needs dynamically.

The author answers directly, explaining how Trino allocates resources per query.

There is an elastic option, I think . Also, even with a specific warehouse, not every query uses every node in the warehouse.

There is an elastic option, I think . Also, even with a specific warehouse, not every query uses every node in the warehouse.

A short, good-faith reply that adds a small real point about elastic options and how queries use nodes.

Right, there is an option to scale horizontally, if a lot of queries are queued, Snowflake can spin up another node. But that doesn't help if you query is spilling to remote storage. You need a bigger node to speed up those queries.

Snowflake has an option to add more resources, which is supposed to be vertical scaling, but it doesn't work as well as increasing the size of the warehouse

Right, there is an option to scale horizontally, if a lot of queries are queued, Snowflake can spin up another node. But that doesn't help if you query is spilling to remote storage. You need a bigger node to speed up those queries.

Snowflake has an option to add more resources, which is supposed to be vertical scaling, but it doesn't work as well as increasing the size of the warehouse

Clearly explains the difference between Snowflake's horizontal scaling and resizing a warehouse when queries spill to remote storage.

Hi! Author here.

We engineered, then we measured and then we tried to make it work, probably for a too long of a time before we decided to completely scrap our current architecture and go back to the drawing board. Happy to answer more questions.

Hi! Author here.

We engineered, then we measured and then we tried to make it work, probably for a too long of a time before we decided to completely scrap our current architecture and go back to the drawing board. Happy to answer more questions.

The author replies to criticism in good faith and offers to answer questions, though the reply gives few specifics.

Why didn't you just use Iceberg and Trino from the get go (or Paimon if you are fancy)? This has been the accepted answer for quite some time now. The fast OLAP stores just don't scale as well as going object store to a proper query engine like Trino.

Why didn't you just use Iceberg and Trino from the get go (or Paimon if you are fancy)? This has been the accepted answer for quite some time now. The fast OLAP stores just don't scale as well as going object store to a proper query engine like Trino.

A blunt but real technical question that proposes an alternative architecture (Iceberg/Trino) and explains why.

> Happy to answer more questions.

Ah yay, I appreciate it! I feel like its rare to get a look at how these decisions cone about.

What did you measure? How'd you realise there was a problem? And did you measure anything to give you confidence that Trino won't hit the same issues?

> Happy to answer more questions.

Ah yay, I appreciate it! I feel like its rare to get a look at how these decisions cone about.

What did you measure? How'd you realise there was a problem? And did you measure anything to give you confidence that Trino won't hit the same issues?

Asks the author sincere follow-up questions about how they measured the problem and validated the replacement.
coolgoose 2026-11-02 16:27 | removed0/10low_effort | parent | prev | next [–]

I don't get the blog post either.

I don't get the blog post either.

A bare 'me too' agreement that adds nothing to what the parent comment already said.
huqedato 2026-11-02 16:50 | removed0/10snarklow_effort | parent | prev | next [–]

This sounds more like: shoot first ask later. (OMG!)

This sounds more like: shoot first ask later. (OMG!)

It's a one-line jab that only agrees with the parent and adds nothing new.
steady_osprey33 2026-11-02 17:16 | rewritten2/10snarkpersonal_attacklow_effortkept_for_replies | original | parent | prev [–]

> It feels like a lot of churn and not a lot of measurements or engineering.

My impression is that this company prioritizes shipping very fast, so this doesn't surprise me. Their CEO's posts on LinkedIn gave me that impression.

original comment by dominotw

> It feels like a lot of churn and not a lot of measurements or engineering.

They are big on shipping slop at lightnigg speed. So this is not surprising. Checkout posts by their ceo on cringedin.

Rewritten as a plain statement of the author's view so the reply about the CEO's satirical LinkedIn posts still makes sense.

I don't know about their development or business practices, but I read their CEO's LinkedIn posts as deliberate satire rather than serious statements, so I wouldn't use them as evidence of how they work.

original comment by sleepyfran

I don't know about their development or business practices, but if you think that their CEO posts on LinkedIn are serious and not satire I'm sorry to say the jokes are flying above your head a bit.

The useful point is that the CEO's posts are satire, so I kept that and took out the condescending dig.
andor 2026-11-02 18:08 | removed0/10tangential_annoyanceoff_topiccurmudgeonly | root | parent | prev [–]

The entire website is a bit of a red flag to me, starting with the cookie banner featuring an image of Ursula von der Leyen and some misinformation (cookie banners are not legally required).

The entire website is a bit of a red flag to me, starting with the cookie banner featuring an image of Ursula von der Leyen and some misinformation (cookie banners are not legally required).

This complains about the site's cookie banner and has nothing to say about the DuckDB migration.
wise_viper18 2026-11-02 16:35 | rewritten3/10insinuationsnark | original | prev | next [–]

> Five months ago, we rebuilt our warehouse [1] on DuckDB instead of ClickHouse.

Five months seems like a short time to let a migration settle before writing about it. I'd be more convinced by a retrospective after the system has run in production for longer.

https://posthog.com/blog/why-we-rebuilt-our-data-warehouse

original comment by bitpush

> Five months ago, we rebuilt our warehouse [1] on DuckDB instead of ClickHouse.

Why did they write this post if they had not even allowed things to settle. It sounds like someone wanted to claim victory (and promo?)

https://posthog.com/blog/why-we-rebuilt-our-data-warehouse

Kept the doubt about how soon the post was written and dropped the guess that it was written for promotion.

The intro to that post bothers me: "PostHog's original data warehouse had a single goal: delay the moment a company needs to hire their first data engineer."

To me the goal of a warehouse should be serving high-quality, timely data so people can make good decisions, not avoiding hiring a particular role.

original comment by crorella

The intro to that post is so bad: "PostHog's original data warehouse had a single goal: delay the moment a company needs to hire their first data engineer."

It is not to serve high quality and timely data to make good decisions, is to avoid hiring a specific role, lol. So bad.

Makes a real criticism of how the product goal is framed; the mocking is removed and the objection kept.

I'd argue a good data engineer early on would probably have helped them avoid going through 3 different data warehouse systems within a year.

original comment by ecshafer

Ironically a good data engineer should probably let them avoid needing 3 different data warehouse systems within a year.

Makes a real point that the churn between warehouses might have been avoided with data engineering expertise; rewritten to drop the ironic jab.
roboben 2026-11-02 18:578/10first_handinformative | parent | prev | next [–]

Author here. I admit I kinda left out the context which is important here. We did not replace Clickhouse. Instead we want to move our warehouse product from Clickhouse to another stack which suits the long modeling jobs and multi-tenancy better. We learned through all our early design partners running huge workloads what we need to change.

As much as I'd love to claim victory, we are not there yet :)

Author here. I admit I kinda left out the context which is important here. We did not replace Clickhouse. Instead we want to move our warehouse product from Clickhouse to another stack which suits the long modeling jobs and multi-tenancy better. We learned through all our early design partners running huge workloads what we need to change.

As much as I'd love to claim victory, we are not there yet :)

The author replies in good faith with first-hand context that fills in what the post left out.
dcrazy 2026-11-02 18:03 | removed0/10insinuationoff_topicsnark | parent | prev | next [–]

This is the same company with intentionally annoying full-wrap bus ads on Muni. They are trying to capture mindshare.

This is the same company with intentionally annoying full-wrap bus ads on Muni. They are trying to capture mindshare.

It suggests a marketing motive by pointing to the company's bus ads but says nothing about the DuckDB migration itself.
maple_kiwi39 2026-11-02 16:41 | rewritten3/10low_effort | original | parent | prev [–]

Engineers like to experiment, and we get the benefit of learning from their experiences, even when a decision gets reversed after a few months.

original comment by wheelerwj

Engineers like to experiment and we get the benefit of learning from their experiences. Not sure why you’re upset.

Removed the jab about the parent being upset and kept the point that public write-ups of experiments are useful to readers.
ambicapter 2026-11-02 17:24 | removed0/10snarkpersonal_attacklow_effort | root | parent | next [–]

Maybe it's the "me first" mindset you're bringing to engineering?

Maybe it's the "me first" mindset you're bringing to engineering?

This is a one-line jab at another commenter's mindset with no point to keep.

This sounds more like a 5 month POC that the engineer should have been able to prove sooner that DucksDB didn’t fit the use case.

This sounds more like a 5 month POC that the engineer should have been able to prove sooner that DucksDB didn’t fit the use case.

A blunt but fair criticism that the evaluation took too long to rule out DuckDB.

Author here. We went past the POC stage to actually make real customer workloads work, which we did. Probably yes, we spent too much time not rethinking our approach but sunken cost fallacy so that's why.

Author here. We went past the POC stage to actually make real customer workloads work, which we did. Probably yes, we spent too much time not rethinking our approach but sunken cost fallacy so that's why.

The article's author answers the criticism directly and admits that sunk cost kept them going too long.

> Engineers like to experiment

The job of management is to help manage that. Typically, the desire to experiment is constrained to lab environments and so on. Experimenting on your actual users carries a lot of risks - to product stability, customer relations, market perception, etc.

> Engineers like to experiment

The job of management is to help manage that. Typically, the desire to experiment is constrained to lab environments and so on. Experimenting on your actual users carries a lot of risks - to product stability, customer relations, market perception, etc.

This is a civil disagreement with a real point about the risks of experimenting on production users, so it stays as written.
ochre_grebe69 2026-11-02 16:47 | rewritten3/10curmudgeonly | original | root | parent | prev [–]

My objection is that trying one tool and then jumping to building a custom solution seems unjustified when the problem isn't novel. Established solutions already exist, and I'd want to see why they weren't enough before going custom.

original comment by weego

I mean, mostly it just comes off as egregious self-indulgence to try one thing and then jump to "we built the solution ourselves!" when the problem is not novel at all. These things are just tiresome.

Dropped the dismissive framing and kept the critique that the problem isn't novel enough to justify a custom build.
dusky_ferret74 2026-11-02 17:38 | rewritten7/10first_handinsightful | original | prev | next [–]

I've worked at a few companies that struggled to run a data warehouse, and I think this may be another case.

I phone screened with PostHog once but couldn't cover their very broad set of requirements. At the time they were also looking for someone to rewrite the ClickHouse optimizer, and they were stuck trying to reshard their cluster, which in my experience should take an afternoon.

I still like the company because their business proposition reminds me of what we were doing in 2009: a kind of federated analytics organization on a centralized data warehouse, which lets a lot of tools get built quickly at large scale.

My frustration is that they keep choosing platforms that only partly work and switching from one to another. We were running millions of queries against 2T-row tables on Vertica in 2010, and the tooling has only gotten better since then for customer-facing data apps, which is what PostHog is. I don't think the company has a baseline for what to expect, because the market is full of slow tools that lower everyone's expectations.

original comment by kwillets

Sometimes a company just isn't able to manage a data warehouse; I've worked for a few.

I even phone screened with this one but couldn't cover their crazy quilt of requirements; at that time they were also looking for someone to rewrite the clickhouse optimizer, and they were stuck trying to reshard their cluster, which should take an afternoon.

I still like the company because their business prop reminds me of what we were doing in 2009, a kind of federated analytics organization on a centralized data warehouse that enables a lot of tools to be developed quickly at large scale.

But goddammit they keep picking these half-working platforms and flip-flopping from one to another. We were crushing millions of queries against 2T-row tables on Vertica in 2010, and it's only gotten better for customer-facing data apps, which is what Posthog is. The company doesn't seem to have a baseline of what to expect; the market is too saturated with slow tools that lower expectations.

First-hand experience and a real critique based on Vertica-era performance; rewritten to take out the profanity and dismissive framing but keep the criticism.
roboben 2026-11-02 19:038/10first_handinformative | parent | next [–]

Author here. This is not about our internal warehouse but the warehouse product we offer to customers. This is still running on our centralized Clickhouse. Long-running data modelling queries and multi-tenancy is a challenge on Clickhouse.

Author here. This is not about our internal warehouse but the warehouse product we offer to customers. This is still running on our centralized Clickhouse. Long-running data modelling queries and multi-tenancy is a challenge on Clickhouse.

The author points out that this is the customer-facing warehouse product, not the internal one, and notes ClickHouse's multi-tenancy limits.
hinkley 2026-11-02 18:488/10first_handinsightful | parent | prev [–]

I worked at a place with a couple of overly optimistic principals who were so happy about their computationally convoluted system responding to queries in 600 ms, but it practically meant we needed almost half a CPU per request, and then pre-autoscaling, a strange requirement to be able to failover from taking a region offline so we ran each at around 60% utilization, putting us at about 1 CPU per req/s. Which is just fucking embarrassing.

The first big system I worked on is the one where I learned not to generate expensive responses from a read mostly system, instead you should make writes expensive so reads are cheap. That project had an almost equally convoluted responses, and yet we were doing 30 req/s per instance on, IIRC, 4 core boxes. Adjusted for hot spare capacity, that ancient system was servicing 4x as many requests per core, 8x as configured.

A big part of the problem, besides selling a “premium” service to customers, was drinking the flavor of Knuth’s “premature optimization” misquoted koolaid that convinces people that all substantial speed improvements come from major architectural shifts. Which is how in the time I was on that team of 6-9 people, I delivered over half of the response time and cluster size improvements. If you count the work done to support upgrading the runtime, which brought perf improvements of its own, then more like 2/3.

Sounds a bit like this team might have the same disease.

The problem with internal service teams, of which this seems to be one, is that dealing with noisy neighbors is always a bigger problem than anyone is willing to tackle because it involves confrontation. Team X gets punished every time Team Y introduces a new feature that leans on the shared resource harder. It’s a multi tenant system without the fairness guarantees that we usually build into proper multi tenant systems.

Sometimes the easiest way to solve this is sharding. You end up deploying the same service many times and routing different classes of requests to different machines so if Team Y keeps trying to wreck the Commons they slow themselves down faster than they slow everyone else down. Those sped up consequences create a feedback loop that almost works instead of an amorphous one with consequences so far removed from actions as to become academic.

On that second team I mentioned we had an unfortunate situation of introducing things that took 100 ms off of response time and then three months later we were right back where we had been due to new features and creeping complexity of user content. It was demotivating for at least half of the team. My biggest contributions lowered the slope of that line, which allowed us to finally carry improvements over from year to year instead of being on the Red Queen problem.

I worked at a place with a couple of overly optimistic principals who were so happy about their computationally convoluted system responding to queries in 600 ms, but it practically meant we needed almost half a CPU per request, and then pre-autoscaling, a strange requirement to be able to failover from taking a region offline so we ran each at around 60% utilization, putting us at about 1 CPU per req/s. Which is just fucking embarrassing.

The first big system I worked on is the one where I learned not to generate expensive responses from a read mostly system, instead you should make writes expensive so reads are cheap. That project had an almost equally convoluted responses, and yet we were doing 30 req/s per instance on, IIRC, 4 core boxes. Adjusted for hot spare capacity, that ancient system was servicing 4x as many requests per core, 8x as configured.

A big part of the problem, besides selling a “premium” service to customers, was drinking the flavor of Knuth’s “premature optimization” misquoted koolaid that convinces people that all substantial speed improvements come from major architectural shifts. Which is how in the time I was on that team of 6-9 people, I delivered over half of the response time and cluster size improvements. If you count the work done to support upgrading the runtime, which brought perf improvements of its own, then more like 2/3.

Sounds a bit like this team might have the same disease.

The problem with internal service teams, of which this seems to be one, is that dealing with noisy neighbors is always a bigger problem than anyone is willing to tackle because it involves confrontation. Team X gets punished every time Team Y introduces a new feature that leans on the shared resource harder. It’s a multi tenant system without the fairness guarantees that we usually build into proper multi tenant systems.

Sometimes the easiest way to solve this is sharding. You end up deploying the same service many times and routing different classes of requests to different machines so if Team Y keeps trying to wreck the Commons they slow themselves down faster than they slow everyone else down. Those sped up consequences create a feedback loop that almost works instead of an amorphous one with consequences so far removed from actions as to become academic.

On that second team I mentioned we had an unfortunate situation of introducing things that took 100 ms off of response time and then three months later we were right back where we had been due to new features and creeping complexity of user content. It was demotivating for at least half of the team. My biggest contributions lowered the slope of that line, which allowed us to finally carry improvements over from year to year instead of being on the Red Queen problem.

A detailed first-hand account of read/write cost tradeoffs, noisy neighbors and sharding; the bluntness doesn't take away from what it teaches.
hasyimibhar 2026-11-02 17:097/10informativeinsightful | prev | next [–]

I wonder if they have considered moving back to ClickHouse. ClickHouse Iceberg support has improved a lot over the past few months. You can easily run stateless ClickHouse on top of Iceberg. This solves the tenancy issue, and it can easily handle petabytes scale [1].

[1] https://clickhouse.com/blog/jump-trading-uses-clickhouse-with-iceberg

I wonder if they have considered moving back to ClickHouse. ClickHouse Iceberg support has improved a lot over the past few months. You can easily run stateless ClickHouse on top of Iceberg. This solves the tenancy issue, and it can easily handle petabytes scale [1].

[1] https://clickhouse.com/blog/jump-trading-uses-clickhouse-with-iceberg

A substantive suggestion that brings in a relevant technical alternative and backs it with a link.
roboben 2026-11-02 19:068/10first_handinformative | parent | next [–]

Author here. We didn't leave Clickhouse. It still drives most of what Posthog offers. I missed that bit of context in my post I admit. Instead we are looking into a new stack we can give customers so they can run their warehousing workloads on it instead of the centralized CH.

Stateless CH on Iceberg sounds interesting, we looked into it but Delta/Iceberg had other downsides for us.

Author here. We didn't leave Clickhouse. It still drives most of what Posthog offers. I missed that bit of context in my post I admit. Instead we are looking into a new stack we can give customers so they can run their warehousing workloads on it instead of the centralized CH.

Stateless CH on Iceberg sounds interesting, we looked into it but Delta/Iceberg had other downsides for us.

The article's author explains that PostHog still runs on ClickHouse and adds context the post left out.

But why even bother with ClickHouse? What's wrong with Trino?

But why even bother with ClickHouse? What's wrong with Trino?

A short but genuine question that suggests Trino as another option.
velvet_lynx35 2026-11-02 16:26 | rewritten1/10tangential_annoyancelow_effortkept_for_replies | original | prev | next [–]

I haven't seen PostHog's website in a while. I really don't like the new design.

original comment by avree

Haven't seen Posthog's website in a while. Man, it's hideous.

Rewritten as a plain opinion on the site's design so the replies about its design and menus still have something to answer.

I kind of liked the originality. It's what happens when you give software developers free reign on the marketing pages as well, I guess.

But it seems to have gotten a re-skin recently, and I preferred the previous more pixelated version. Also, there used to be a way to render a "normal" version of the website, but I can't find it anymore.

I kind of liked the originality. It's what happens when you give software developers free reign on the marketing pages as well, I guess.

But it seems to have gotten a re-skin recently, and I preferred the previous more pixelated version. Also, there used to be a way to render a "normal" version of the website, but I can't find it anymore.

A good-faith personal take on PostHog's site design and its recent re-skin; it's polite but off the article's topic.

I actually like the menus. They work great on mobile too.

We built up all these UI conventions from decades of desktop development, then abandoned them for the web (and worse, electron). It's annoying learning a new convention for every website. We could do a lot worse than bringing back menus.

I actually like the menus. They work great on mobile too.

We built up all these UI conventions from decades of desktop development, then abandoned them for the web (and worse, electron). It's annoying learning a new convention for every website. We could do a lot worse than bringing back menus.

A good-faith, reasoned point about UI conventions, though it's off the story's topic.
opal_oriole17 2026-11-02 16:27 | rewritten3/10snarkfirst_handlow_effort | original | parent | prev | next [–]

I use PostHog for free web analytics, and I find the UX convoluted and hard to work with.

original comment by dm03514

I use it as a free web analytics, the UX is so bad and convoluted, it's like a bad joke.

Keeps the first-hand experience of the product's UX and drops the mocking tone.
SlackingOff123 2026-11-02 16:42 | removed0/10tangential_annoyanceoff_topicsnark | parent | prev | next [–]

And what's with that bs cookie banner? If the only cookies are functional/essential, they don't need to show a cookie banner. If it's for analytics, then I should be able to reject it. Otherwise, it's just a dick-over.

And what's with that bs cookie banner? If the only cookies are functional/essential, they don't need to show a cookie banner. If it's for analytics, then I should be able to reject it. Otherwise, it's just a dick-over.

A complaint about the site's cookie banner, which has nothing to do with the article's move off DuckDB.
mattmcal 2026-11-02 16:38 | removed0/10joketangential_annoyanceoff_topic | parent | prev | next [–]

I actually love this design but I nevertheless agree it's atrocious.

I actually love this design but I nevertheless agree it's atrocious.

A paradoxical quip about the site's design that has nothing to do with the article.
pnathan 2026-11-02 17:20 | removed0/10off_topiclow_effort | parent | prev [–]

really? I think its one of the best websites going these years.

really? I think its one of the best websites going these years.

A one-line opinion in a side argument about the website's looks, with nothing about the actual migration.

roboben 2026-11-02 19:087/10first_handinformative | parent [–]

Author here. Good point. Trino is not made for fast response times. We are using it for long running data modelling jobs or nightly ETLs.

Author here. Good point. Trino is not made for fast response times. We are using it for long running data modelling jobs or nightly ETLs.

The article's author explains first-hand which workloads Trino is used for, which answers the concern about latency.

The key insight I am getting from this is that as migrations get easier to do with agents, there will be a lot more of them.

But more importantly a lot of them will happen because we will all get more trigger happy to start one. On the other hand I also don't know if at scales like PostHog, a successful migration can be tested without doing all of it.

The key insight I am getting from this is that as migrations get easier to do with agents, there will be a lot more of them.

But more importantly a lot of them will happen because we will all get more trigger happy to start one. On the other hand I also don't know if at scales like PostHog, a successful migration can be tested without doing all of it.

Makes a thoughtful point that agents make migrations cheaper, so teams will start more of them, and asks whether they can be tested at scale.

Now they have their "own flavor" of Trino and a brand new open table format called "HogLake". This gives the impression of making excuses with little introspection.

It would be great to see their ducklake fork, their patches and github issues so the community can learn.

Now they have their "own flavor" of Trino and a brand new open table format called "HogLake". This gives the impression of making excuses with little introspection.

It would be great to see their ducklake fork, their patches and github issues so the community can learn.

The criticism is blunt but fair, and it makes a useful request to publish the DuckLake fork, patches and issues so others can learn from them.
roboben 2026-11-02 19:098/10first_handinformative | parent [–]

Author here. Our fork, like most of our work is public on Github: https://github.com/postHog/ducklake I think it does not include 100% of all changes since a few we upstreamed directly (to a few extensions related to Ducklake too) but if you are really interested, you can find them too.

Author here. Our fork, like most of our work is public on Github: https://github.com/postHog/ducklake I think it does not include 100% of all changes since a few we upstreamed directly (to a few extensions related to Ducklake too) but if you are really interested, you can find them too.

The article's author answers the request directly with a link to the public fork and notes that some changes went upstream.
steady_pika4 2026-11-02 17:04 | rewritten3/10curmudgeonlyfirst_hand | original | prev | next [–]

This reminds me of when we'd bring in a new marketing leader who would replace all the existing marketing automation processes with their own, with no net impact on the business. I'm skeptical that a warehouse migration like this changes outcomes much more than that kind of churn did.

original comment by mvkel

This reminds me so much of when we would bring a new marketing leader and they would plant their flag by nuking all of the existing marketing automation processes to bring in theirs, with no net impact on the business. Bike shedding.

Keeps the commenter's skepticism and the experience behind it, but cuts the dismissive 'bike shedding' label and the implied dig at the team's motives.

The 2026 equivalent of 2016's "Why Uber Engineering Switched from Postgres to MySQL" ! https://www.uber.com/us/en/blog/postgres-to-mysql-migration/

The 2026 equivalent of 2016's "Why Uber Engineering Switched from Postgres to MySQL" ! https://www.uber.com/us/en/blog/postgres-to-mysql-migration/

A light but relevant comparison to a well-known database migration post, with a link to it.
sandy_plover48 2026-11-02 19:00 | rewritten3/10ideologicalcurmudgeonly | original | prev | next [–]

I'd rather pick a vendor that builds its own low-level tools as a foundation and moat than one that mostly stitches together off-the-shelf solutions because of worries about what the team can maintain. To me, building in-house infrastructure like this is a sign of an engineering organization that can grow.

original comment by solatic

There are two kinds of companies: those who know how to build low-level tools that serve as foundation and moat for business growth, and those whose middle managers wring their hands about what their people will be able to maintain and constantly chase off-the-shelf solutions to stitch together.

I know which company I'd rather pick as a vendor.

Rewritten to drop the sweeping 'two kinds of companies' framing and the swipe at middle managers, while keeping the author's real preference about vendors.

Is Quack, the DuckDB client-server protocol, something that could have helped them with the scaling problems they encountered?

Is Quack, the DuckDB client-server protocol, something that could have helped them with the scaling problems they encountered?

A real technical question that connects a specific DuckDB feature to the scaling problems in the article.
fable_skink87 2026-11-02 16:48 | rewritten6/10questionsnarkinsinuation | original | prev | next [–]

I would have appreciated more technical details, with methodologies and the explicit failures they observed.

> Customers ran more complex queries than we expected

Did the queries change after DuckDB was introduced? Did they study query patterns in a way that could have anticipated this ahead of time?

> Predicting CPU and memory for a specific query was even harder.

What attempts or methodologies were used here, and what specifically failed?

> We'd rather have contributed to the existing community and helped it grow. But we couldn't land changes as fast as we needed, so we ended up carrying patches in a fork

This isn't a bad approach per se. In my experience it's common (and necessary) for large-scale users of a platform to maintain a fork for their needs and work with the community and maintainers to upstream changes when the community is ready to accept them. That's how you influence a project. On the other hand, if you send low-quality patches and they get rejected, that shouldn't be surprising. I'm not suggesting that's what happened here, but the somewhat defeatist conclusion makes me wonder.

> Missing reconnects and managing TTLs and idle connections at scale is hard

I wonder if they tried pgdog?

original comment by uutangohotel

I would have appreciated more technical details with methodologies and explicit failures observed. Oh and a human voice would be nice for a change.

> Customers ran more complex queries than we expected

Did the queries change after DuckDB was introduced? Did they do a study of query patterns that could have anticipated this ahead of time?

> Predicting CPU and memory for a specific query was even harder.

What attempts / methodologies were used to try this? What was hard? What failed?

> We'd rather have contributed to the existing community and helped it grow. But we couldn't land changes as fast as we needed, so we ended up carrying patches in a fork

This isn't a BAD approach per se. IME it's common (and necessary) for the large scale users of a platform to maintain a fork for their needs and work with the community and the maintainers to upstream changes when/if the community is ready to accept. That's called influencing. On the other hand, if you toss of a few slop grenades to the community and they reject you shouldn't be surprised. (Not suggesting that's what happening here but the defeatest conclusion may imply it?)

> Missing reconnects and managing TTLs and idle connections at scale is hard

Wonder if they tried pgdog?

Substantive questions about methodology and a useful view on maintaining forks; removed the swipe implying the post was AI-written and the 'slop grenades' jab.
civic_ferret15 2026-11-02 16:52 | rewritten4/10curmudgeonly | original | prev | next [–]

It feels off that the company migrated to DuckDB only 5 months ago and is now moving to something else. That suggests the data growth estimates were badly off. How did they plan capacity for the original migration?

original comment by crorella

Feels off that only 5 months ago the company just migrated to DuckDB only to now move to something else.

Who did the growth estimation of the data? This looks like an example of bad planning.

The criticism about planning is fair, but the accusatory 'who did this' framing is turned into a real question.

I'm surprised at this. That is a lot of engineering effort without revealing why they chose they own format and chose to query it via Trino.

I'm surprised at this. That is a lot of engineering effort without revealing why they chose they own format and chose to query it via Trino.

A fair, on-topic critique of how the article explains its design choices.

Interestingly, it seems that a data lake is the hot new thing to build in house. Hell, we did it too. If you don't mind, I wrote up exactly what these new data lakes tend to look like: https://telemetrymachine.com/blog/the-new-state-of-the-art-in-observability

Interestingly, it seems that a data lake is the hot new thing to build in house. Hell, we did it too. If you don't mind, I wrote up exactly what these new data lakes tend to look like: https://telemetrymachine.com/blog/the-new-state-of-the-art-in-observability

A short, on-topic observation from someone who built their own data lake, with a link to their write-up. It's self-promotional but relevant.

The git repo [0] has a lot more of the technical details.

[0] https://github.com/PostHog/hoglake

The git repo [0] has a lot more of the technical details.

[0] https://github.com/PostHog/hoglake

Links to the project's repo, which has more technical detail.
patient_otter6 2026-11-02 17:02 | rewritten4/10snarkcurmudgeonly | original | prev | next [–]

I worry that the constant technology churn that used to be mostly a front-end thing is spreading to the backend, and agents may speed that up. Reading the article, I didn't get a clear sense of what their underlying problem was or why this technology and architecture would fit it better than DuckDB. It reads more like trying things out than a reasoned migration.

original comment by npalli

This idiotic churn used to be restricted to front end devs and backend folks were spared. Thanks for Agents now every part of the stack is going to be in constant churn thanks to resume builders. At no point in the article did you get a sense they have a handle on what their problem is and why a certain technology and architecture would be a better fit. Just try it out, churn out, try it out.

The critique is real (the article never clearly states the problem behind the migration), so I kept it and dropped the insults and the 'resume builders' jab.
azure_raven81 2026-11-02 17:19 | rewritten4/10curmudgeonly | original | prev | next [–]

I wish the post had covered how the migration actually went: performance numbers, concrete benefits, resource usage, ease of use, and so on. Without that it's hard to judge the move.

original comment by fhn

This post is pointless. Tells us how it went, show performance numbers, show benefits, resource usage, ease of use, etc.

The request for performance and resource data is useful, so I kept it and removed the 'pointless' dismissal.
sreekanth850 2026-11-02 16:45 | removed0/10snarklow_effortjoke | prev | next [–]

after 3 months, how we switched back to forked clickhouse.

after 3 months, how we switched back to forked clickhouse.

A one-line jab predicting a future blog post, with no substance to keep.
witty_yak0 2026-11-02 16:46 | rewritten2/10snarklow_effort | original | prev | next [–]

My read is that this shows frontier models are now good enough for a team to rewrite its own warehouse infrastructure in-house.

original comment by Thaxll

Translation: frontier models are so good that we can rewrite our own warehouse infra.

Drops the dismissive 'Translation:' framing and keeps the author's view that AI tooling made an in-house rewrite feasible.

One thing I really appreciate about CloudFlare blog posts is that often they show their work, by showing what tickets they opened, what improvements they land upstream. With this march across clickhouse, duckdb, now trino, I'd love to know what if any places the team worked with upstream, what improvements got tried.

I'm pretty ok with the march across products myself. It felt like the big shift was from shared giant clickhouse to lots of duckdbs. I wonder what juggling many more clickhouses would have been like. Excited and hopeful to here more back on Trini, with hope!

It's wild how many really really good data stacks are out there. Apache has been collecting some absolutely stellar projects. And it feels like the rest of world meaning everyone but China is kind of sleeping on a lot of these options. Maybe it's just that these projects often go out of their way to have a place for emblems, for who is using the project, but a lot of these have pretty wide ranges of companies using them.

I do wish we were still in an age of company blogging, where people did talk more to the tech getting played with, talk to what's cooking in the shop. It's great to have these outreaches. There's so much tech and we are just so quiet about it! There's so much less signal to go off of, so much less shared awareness than the aughts and 10's.

One thing I really appreciate about CloudFlare blog posts is that often they show their work, by showing what tickets they opened, what improvements they land upstream. With this march across clickhouse, duckdb, now trino, I'd love to know what if any places the team worked with upstream, what improvements got tried.

I'm pretty ok with the march across products myself. It felt like the big shift was from shared giant clickhouse to lots of duckdbs. I wonder what juggling many more clickhouses would have been like. Excited and hopeful to here more back on Trini, with hope!

It's wild how many really really good data stacks are out there. Apache has been collecting some absolutely stellar projects. And it feels like the rest of world meaning everyone but China is kind of sleeping on a lot of these options. Maybe it's just that these projects often go out of their way to have a place for emblems, for who is using the project, but a lot of these have pretty wide ranges of companies using them.

I do wish we were still in an age of company blogging, where people did talk more to the tech getting played with, talk to what's cooking in the shop. It's great to have these outreaches. There's so much tech and we are just so quiet about it! There's so much less signal to go off of, so much less shared awareness than the aughts and 10's.

Thoughtful, good-faith comment that asks about upstream contributions and reflects on the data-stack ecosystem.
mgfist 2026-11-02 17:04 | removed0/10low_effortjoke | prev | next [–]

HogLake is quite the name ..

HogLake is quite the name ..

A one-line remark about the product name that doesn't engage with the article.
ochre_wren12 2026-11-02 17:08 | rewritten4/10snarkcross_examination | original | prev | next [–]

I worry that six months from now there'll be another post about moving off Trino + HogLake to some newer technology. Couldn't these scaling issues have been caught earlier by testing with mock data at the target size? Migrating production between stacks this often seems like churn that takes time away from shipping new features.

original comment by bhouston

6 months from now: We are moving our warehouse off of Trino + HogLake to newer technology XXX.

This is ridiculous. Why can you not foresee such issues? Do you not do testing with mock data at the size you need? Migrating production between stacks so often means you are not getting new features in. This is pure churn.

Rewrote to drop the mocking prediction and pile of pointed questions, keeping the real criticism about load testing and migration churn.

[flagged]

[flagged]



About | This page on Hacker News | HN Guidelines | Data: HN API

Curious Hacker News is an unofficial, experimental mirror and is not affiliated with, endorsed by, or operated by Hacker News or Y Combinator. Original comments are by their authors on news.ycombinator.com; rewritten text is AI-generated and was not written by the commenter.