• 0 Posts
  • 10 Comments
Joined 1 year ago
cake
Cake day: June 14th, 2023

help-circle
  • The point about a binary protocol is interesting, because it would inherently solve the injection issue.

    However, constructing an ad-hoc query becomes tedious, as you’re now dealing with bytes and text together. Doing so in a terminal can be pretty tedious, and most people would require a tool to do so. Compare this against SQL, where you can easily build a query in your terminal. I think the tradeoff is similar to protobuf vs json.

    You could do a text representation (like textproto), but guess what? Now injection is an issue again.

    Another thing would be the complexity of client libraries. With SQL client libraries, the library doesn’t need to parse or know SQL - it can send off the prepared statement as-is. With a binary protocol, the client libraries will likely need to include a query builder that builds the byte representation since no developers are going to be concatenating bytes by hand, which makes the bar higher for open-source libraries. This also means that if you add a new query feature to your DB, all client libraries will likely need to be updated to use the feature.

    And you’re still going to need to tune and optimize queries for this new DB. That’s just the nature of the beast: scaling is hard especially when you can’t throw money at the problem.

    Quite frankly, it’s a lot of hard tradeoffs to not need to use prepared statements or query builders. Injection is still is an issue for SQL today, but it’s been “solved” as much as it possibly can.








  • I’ve posted about this before and I think a lot of people disagree, but some centralization is good. There has to be a no-thought option for when people want to join Lemmy. After they learn more about federation, they can move on to another instance.

    The reason why kbin grew so fast is because for a lot of people, Kbin = kbin.social (See how “kbin” links to kbin.social on: list of alternatives on Reddit)

    I believe this also explains Beehaw’s growth despite their onerous rules. When someone recommends Beehaw, they don’t need to think about which instance of Beehaw they want to join, they just go to Beehaw.

    A lot of people are dogmatic about federation, but I quite frankly think that if you are going to die on the hill, don’t complain when you die.