3 ms·
If the songs the user has listened to would be stored on the client, it would be trivial to run code on the client to compute anything over that data, rather th
by akrymski 6y ago
If the songs the user has listened to would be stored on the client, it would be trivial to run code on the client to compute anything over that data, rather than expecting the original service to execute arbitrary code.
You can move code to the data, or the data to the code.
- miki123211 6y agoExcept that sometimes you have a phone, a computer and a smart TV, and syncing the data between all of those is non-trivial. It's easier to assume the server as the source of truth. Sometimes you want to work with big data banks that you have no hope of ever storing. Your listening history is small enough to fit on your phone. Amazon's whole product directory, with reviews and indexes for quick data retrieval, is not.
- akrymski 6y agoSyncing data is an easier problem than what the parent is trying to solve. RSync is one such solution. If you want to run compute over big data, you replicate the database with a server you own and run compute on a copy of the data. Realistically that is what Amazon would have to do for you either way - they'd be running replicas you could compute over. And those replicas need to say in sync via db replication. Secure competition over anonymized datasets is useful for security reasons, not efficiency reasons IMHO.