| ▲ | Show HN: LinkedQL – Live Queries over Postgres, MySQL, MariaDB(github.com) | |||||||||||||||||||||||||
| 28 points by phrasecode 6 days ago | 18 comments | ||||||||||||||||||||||||||
LinkedQL is a new SQL client that supports live queries over any Postgres, MySQL, and MariaDB database. You get result sets that self-update differentially as rows change in your database – via inserts, updates, deletes. Works with no extra tooling/ORM layer or GraphQL servers. You opt into live mode simply with a flag: client.query('SELECT ...', { live: true }). More at: https://linked-ql.netlify.app/capabilities/live-queries LinkedQL is written in JavaScript and runs in both client and server environments. GitHub + docs: https://github.com/linked-db/linked-ql Demo examples included. I’d love feedback: • Anything confusing? • Anything seems useful or dangerous? • Anything else that'd make you consider LinkedQL for production? Thanks for taking a look — happy to answer any questions. | ||||||||||||||||||||||||||
| ▲ | stephen 12 hours ago | parent | next [-] | |||||||||||||||||||||||||
Can you description the deployment setup, somewhere in the docs/maybe with a diagram? I get this is a backend library, which is great, but like does it use postgres replication slots? Per the inherited queries, do they all live on 1 machine, and we just assume that machine needs to be sufficiently beefy to serve all currently-live queries? Do all of my (backend) live-queries live/run on that one beefy machine? What's the life cycle for live-queries? Like how can I deploy new ones / kill old ones / as I'm making deployments / business logic changes that might change the queries? This is all really hard ofc, so apologies for all the questions, just trying to understand -- thanks! | ||||||||||||||||||||||||||
| ||||||||||||||||||||||||||
| ▲ | ilkhan4 6 days ago | parent | prev | next [-] | |||||||||||||||||||||||||
A few questions/comments after skimming the docs: - How does authz work? Can I use Postgres RLS? If not, how would you address row or column-level permissions in a system that uses this? - If you're using logical replication to sync with PG, is there a limit to the number of clients you can have connected? I see there is a lot of work around de-duping live queries, but how well does that work in practice? - Any thought to making an extension for Postgres? My main hesitation right now is that I have to go through an NPM package to use this but a lot of our tooling expects a plain Postgres connection. - REALLY looking forward to seeing how the schema migration story looks. Overall, it seems to address most of the use-cases where I'd reach for an ORM or API server so I'm really interested to see where this could go. | ||||||||||||||||||||||||||
| ||||||||||||||||||||||||||
| ▲ | phrasecode 6 days ago | parent | prev | next [-] | |||||||||||||||||||||||||
Author here — a bit more detail on architecture and guarantees Happy to dig into internals if anyone’s curious — how live updates propagate, how JOINs and complex queries resolve, consistency expectations, worst-case scaling, etc. To keep the main post short, here are deep-dive links if you want to explore: • Live update mechanics https://linked-ql.netlify.app/capabilities/live-queries • Engineering paper (replication pipelines, differential projection, query inheritance) https://linked-ql.netlify.app/engineering/realtime-engine Totally open to questions — I’m hanging around the thread to learn what concerns matter most. | ||||||||||||||||||||||||||
| ▲ | evanelias 15 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||
Your docs say live queries for MySQL and MariaDB are "coming soon", but your post here strongly suggests they're already supported. Is this actually implemented yet or not? | ||||||||||||||||||||||||||
| ||||||||||||||||||||||||||
| ▲ | nthypes 17 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||
This is an backend library? How to enable Live queries in the frontend? | ||||||||||||||||||||||||||
| ||||||||||||||||||||||||||
| ▲ | esafak 17 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||
Please follow https://www.conventionalcommits.org/ | ||||||||||||||||||||||||||
| ||||||||||||||||||||||||||
| ▲ | nthypes 18 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||
How you solve scale of Live queries different from Zero sync? zero.rocicorp.dev | ||||||||||||||||||||||||||
| ▲ | necubi 18 hours ago | parent | prev [-] | |||||||||||||||||||||||||
The docs and the comments here are clearly LLM generated. Please don't submit AI slop to HN, or at the very least talk about it in your own words! The commit history is legitimately insane though: https://github.com/linked-db/linked-ql/commits/master/ | ||||||||||||||||||||||||||
| ||||||||||||||||||||||||||