Live data from Hacker News

Bluesky migrates to single-tenant SQLite

github.com

161–170 of 247 posts

Re: Bluesky migrates to single-tenant SQLite

#161
post #91

Earlier quoted context omitted.

Some more for y'all! bsky-social-ge2mz-mfmpi bsky-social-hykwa-x3ox4 bsky-social-gh4mt-2od6p bsky-social-dejzy-mmcxf edit: all gone :(

Snagged bsky-social-hykwa-x3ox4

4 more: (prepend bsky-social-)

7poji-p36pm

irn4h-ncvic

2hb2e-xhxnb

2k4na-5qiqu

Re: Bluesky migrates to single-tenant SQLite

#162

Earlier quoted context omitted.

Commit your code and commit it often. There's no reason not to.

Sure, commit often while you're working. But then when you're done, turn it into a series of patches for a reviewer to read. In the words of Greg Kroah-Hartman, "pretend I'm your math teacher and show your working". In a maths assignment, you spend ages making a big mess on a scrap of paper. Then when you've got the solution, you list the steps nice and clearly for the teacher as if you got it right first time. In so…

Why on Earth did people flag this? Indeed, you won't have a good time sending series of 50 "wip" commits to any kernel mailing list. Having a good split with proper commit messages and cover letter will both make your code much easier to understand for current reviewers and any future "code archeologist" who will have to fix bug in that code 10 years down the line.

Am I living in a bubble and all the glorified 500k TC FAANG devs from HN really routinely submit a changes consisting of a tangled mess of 50 "wip" commits for their code review without any repercussions?

Re: Bluesky migrates to single-tenant SQLite

#165
post #163

Will the BGS also be federated, or is that to be the centralized big spider in Bluesky's web?

In theory you can migrate between BGSes, but you can always just use one at any point in time.

In practice no one will switch because it makes no sense to do it. If there happen to ever be more than one real BGS contender, it will be from something like Cloudflare that will just replicate everything Bluesky Inc decides.

Re: Bluesky migrates to single-tenant SQLite

#168
post #163

Will the BGS also be federated, or is that to be the centralized big spider in Bluesky's web?

In theory you can migrate between BGSes, but you can always just use one at any point in time. In practice no one will switch because it makes no sense to do it. If there happen to ever be more than one real BGS contender, it will be from something like Cloudflare that will just replicate everything Bluesky Inc decides.

I don't know if it does not make sense. AFAIU these BGSes could be special-purposed e.g. for a business, community or topic of interest. Why wouldn't it make sense to synchronise the collected data between these BGSes and get a combined view on the data? With just a single BGS we have another centralized big tech platform. I think decentralized BGSes are a major factor in how interested people are in becoming part of the ecosystem.

Re: Bluesky migrates to single-tenant SQLite

#169

I sure hope they don’t ever want to change their db structure. Why not use Postgres with RBAC (Row Based Access Control).

- simpler db client

- simpler cloud architecture

- simpler resource management

- simpler partial backups/restore

- simpler compliance with law enforcement

- partitioning might be easier, e.g. when handing "user account storage which should be undo-able for a while" (e.g. long term absent users data could be moved to cold storage, blocked/deleted users data could move to some scheduled for deletion space allowing undoing it for a while but then reliable auto deleting them, a copy of users data where crime detection triggered (e.g. CASM) could be moved to a quarantine space, etc. And each of the spaces can be completely different servers with different storage methods and retention policies, virtual access control and physical access control. Sure you can have all of that with RBAC + partitioning + triggers + roles in postgres, but it's the personal data store of a user so you don't need cross users FK constraint enforcement and it makes it much easier to make sure you don't miss anything wrt. access controll or forgetting to partition/move some columns of a new table etc.)

- maybe simpler billing for storage ("just" size of DB)

now simpler doesn't mean better, but often it pays of as long as you don't run into the limits of what is possible with the simpler architecture (and as far as I can tell you can shard this approach really nice, so there at least there shouldn't be scaling performance limits, scaling cost and future feature complexity limits might still apply)

Re: Bluesky migrates to single-tenant SQLite

#170
post #16

What do they mean by "Since SQLite does not support concurrent transactions" - it supports them, as long as you don't access the .db file through a file share (UNC, or NFS, etc) - https://www.sqlite.org/wal.html I've been using this to update/read db from multiple threads/processes on the same machine. You can also do snapshotting with the sqlite backup API, if you want consistent view, and to not hold on transaction…

Have patience and eventually hctree [1] will become stable and will be offered to us to choose between its traditional backend mechanism and the newly implemented to support concurrency!

[1] https://sqlite.org/hctree/doc/hctree/doc/hctree/index.html

Post reply on HN