• 0 Posts
  • 31 Comments
Joined 1 year ago
cake
Cake day: August 16th, 2023

help-circle





  • You think in Reddit’s 20 year history no one has thought of indexing comments for data science workloads?

    I’m sure they have, but an index doesn’t have anything to do with the python library you mentioned.

    Analytics workflows are never run on the production database, always on read replicas

    Sure, either that or aggregating live streams of data, but either way it doesn’t have anything to do with ElasticSearch.

    It’s still totally possible to sync things to ElasticSearch in a way that won’t affect performance on the production servers, but I’m just saying it’s not entirely trivial, especially at the scale reddit operates at, and there’s a cost for those extra servers and storage to consider as well.

    It’s hard for us to say if that math works out.

    It’s incredibly naive to think that they don’t have a vested interest in identifying organic engagement

    You would think, but you could say the same about Facebook and I know from experience that they don’t give a fuck about bots. If anything they actually like the bots because it looks like they have more users.


    1. To compare every comment on reddit to every other comment in reddit’s entire history would require an index, and if you want to find similar comments instead of exact matches, it becomes a lot harder to do that efficiently. ElasticSearch might be able to do it, but then you need to duplicate all of that data in a separate database and keep it in sync with your main database without affecting performance too much when people are leaving new comments, and that would probably be expensive.
    2. Comparing combinations of comments is probably impossible. Reddit has a massive number of comments to begin with, and the number of possible subtrees of those comments would just be absurd. If you only care about comparing entire threads and not subtrees, then this doesn’t apply, but I don’t know how useful that will be.
    3. Programmers just do what they’re told. If the managers don’t care about something, the programmers won’t work on it.





  • If your connection is stable, the latency will more or less be the same, but TCP will consume more bandwidth because of acknowledgement packets, making it harder to keep your connection stable.

    On an unstable connection, TCP latency will skyrocket as it resends packets, while UDP will just drop those packets unless the game engine has its own way of resending them. Most engines have that, but they only do it for data that is marked as “important”. For example using an item is important, but the position of your character probably isn’t, because it’ll be updated on the next tick anyway.






  • Postgres normalizes table and field names to lowercase, unless you put them in quotes. It’s also case sensitive.

    That means if you use quotes and capital letters when creating the table, then it’s impossible to refer to that table without using quotes.

    It also means if you rename the table later to be all lowercase, then all your existing code will break.

    Still a much better database than MySQL though.