5 ms·
Yelp was founded 2004, 2004 postgres was different than 2024 postgres and storage and server options werent as powerful as today either. There were half a mill
by avereveard 3y ago
Yelp was founded 2004, 2004 postgres was different than 2024 postgres and storage and server options werent as powerful as today either.
There were half a million restaurants back then or thereabout, and they wanted to store ratings and comments.
That is not something you'd be able to put on one single database in 2004.
Why didn't they simplify afterward I can't imagine, but I can see how a business directory at that age looked at the numbers and went yeah not in a database.
- onlypositive 3y agoCassandra was initially released in 2008. Back in 2004 I was running larger MySQL databases than yelp has now: https://www.enterpriseappstoday.com/stats/yelp-statistics.html https://www.enterpriseappstoday.com/stats/yelp-statistics.ht... > That is not something you'd be able to put on one single database in 2004. Sorry, but it was, plenty of companies had much larger databases back then running plain old master slave replication. But even if it wasn't: just don't run it all on one db? Nothing says you need to be able to join on the restaurant table and the comments table. Put them on different servers. That's all you're doing with Casandra anyway.
- tomnipotent 3y agoPostgres didn't ship built-in replication until 2010, and prior replication solutions like Slony were not options I would have enjoyed building a business around.
- onlypositive 3y agoMySQL shipped replication in 2000. This whole conversation is some webscale copium bullshit. I'm out.
- Kototama 3y agoCassandra is highly-available, your suggestion is not.
- onlypositive 3y agoMySQL master slave replication has failover, so it is technically highly available, especially if you have multiple slaves. It was also best practice back then so this argument is kind of weird. Also, whether you need a highly available database for a company like yelp is an implementation detail. Oh no, the database is down, how will Jonny decide where to go for lunch now?!
- Kototama 3y agoCassandra is more close to AP whereas MySQL with clustering is more like CP. So they serve different purpose. See this nice discussion on Stackoverflow: https://stackoverflow.com/questions/36404765/why-isnt-rdbms-partition-tolerant-in-cap-theorem-and-why-is-it-available https://stackoverflow.com/questions/36404765/why-isnt-rdbms-... > Also, whether you need a highly available database for a company like yelp is an implementation detail. You surely know better than them what they need, that's impressive.
- jmalicki 3y agoIf you're not just running it all on one db, why do you have to have all of your different DBs be on the same DB software? I used to work at Yelp, and at least at that time, a big use case of Cassandra was basically for what were essentially materialized views created from log data. At that point in time, MySQL or logs were the "sources of truth", but there were enough transactions going on that it made sense to have things like Cassandra around too for some of the other use cases.
- weego 3y agoI mean, for a start Cassandra wasn't available for years after that date, but either way, whatever Postgres was like back then Cassandra was much more of a piece of shit. Smells like implementing what the cool kids were doing to me.
- hobs 3y agoAgree, unless you were Facebook you at best heard it was cool. Everyone I knew who tried it out immediately went "blecchhh" and switched off or left after they got their company to adopt the technology, heh.
- deleted 3y ago[deleted]
- renegade-otter 3y agoBut there was Oracle. I actually worked on a dual MySQL/Oracle setup in 2004, and MySQL seemed like a toy database.