Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

To the other good points, I'd add that when people start making queries that aren't O(1) or O(n), modern computers and networks are capable of reasonably conveniently moving around amounts of data where it becomes practical for remote client to use its rather substantial power to answer questions on a gigabyte or two of data with its own computing power, and if enough people are doing this at once the combined client power they can have can easily overpower any reasonable amount of cloud compute you might be willing to deploy for this problem as they run non-trivial queries. I may be happy for dozens of clients to download some data and chew through some O(n log n) with mixed O(n^2) components on their own whereas I would not care to provision enough cloud compute to handle it all.

I think people forget that as cheap as cloud compute is, client compute is even cheaper. Generally it's already paid for. (Marginal electricity costs are lost in the noise of everything else you're supporting a client user with.) And while the years of doubling every 1.5 years may be gone, clients do continue to speed up, and they are especially speeding up in ways that databases can take advantage of (more cores, more RAM, more CPU cache). Moving compute to clients can be a valuable thing in some circumstances on its own.



This exact argument has been made since people had PCs on their desks (the 1990s, at least). We're still trying to figure out how to do it well.


Yes, but as the numbers advance from "the remote desktop has like 128KB" and "the remote desktop can chew through gigabytes without much stress", the delta between O(n) and O(n^2) opens up a lot more. It is perhaps a bit counterintuitive, but as systems grow in capability that delta grows.


Server capacity has grown along with it if not even faster.

A server in 1990 had total storage and RAM roughly comparable to a low-end mobile phone today.


Server capacities have not grown at O(n^2) on data sets.

Computational complexity classes are not intuitive things. You can't just go "oh, that's much bigger than that so it must that many times better".




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: