Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
ochiba
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
7 ms
·
31.
▲
by
ochiba
2y ago
I'm one of the co-founders of PowerSync [1]. We did a Show HN last year [2] PowerSync is a Postgres<>SQLite sync engine. We spun it off from an industrial app platform where the core sync system has been in production for more th
32.
▲
by
ochiba
3y ago
Okay great. In that case I can also recommend Supabase [1] since it's an easy way to spin up a Postgres backend and gives you auth, edge functions, etc. [1] https://supabase.com/
33.
▲
by
ochiba
3y ago
I am quite familiar with this space. What is your backend/database stack? That is a factor. I'm a cofounder of PowerSync [1] which provides bi-directional sync between Postgres and SQLite and has a client SDK for React Native. The
34.
▲
by
ochiba
3y ago
> Using SQLite in a filesystem offers many advantages w.r.t performance and reliability. Do these advantages translate over when using WebAssembly SQLite over OPFS? I would say generally yes. SQLite is known for its performance, and wit
35.
▲
by
ochiba
3y ago
The server-free architecture described at the end of the article does not seem to involve syncing data to somewhere else — it seems the data would only reside on the user's local device.
36.
▲
by
ochiba
3y ago
I agree, and the other downside is that with the server-free approach described in the article, there wouldn't be a backup of your data off your device. The author does mention privacy concerns — hence the appeal of storing the data lo
37.
▲
Postgres and Yjs CRDT Collaborative Text Editing, Using PowerSync
(powersync.com)
2 points
by
ochiba
3y ago
|
0 comments
38.
▲
by
ochiba
3y ago
It's worth noting that Firebase doesn't have a true offline-first architecture, but rather cloud-first: By default, queries run against the cloud and results of those specific queries are temporarily cached on the client. By defau
39.
▲
by
ochiba
3y ago
To clarify, there will be two self-hostable versions: - A paid self-hosted version, full-featured: This will be released in the next couple of months. - An free open-source self-hosted version, with core features: This will be released with
40.
▲
by
ochiba
3y ago
Thanks for the additional info. As another commenter mentioned, since you are using MongoDB, it may be worth looking into MongoDB Realm / Atlas Device Sync.
41.
▲
by
ochiba
3y ago
ElectricSQL's architecture is documented here: https://electric-sql.com/docs/reference/architecture#primary... https://electric-sql.com/docs/reference/architecture#data-fl... The do
42.
▲
by
ochiba
3y ago
A detailed comparison can be found here: https://www.powersync.com/blog/electricsql-vs-powersync
43.
▲
by
ochiba
3y ago
Yes!
44.
▲
by
ochiba
3y ago
Note that dynamic control from the client-side over what is synced is currently supported to an extent via token parameters from the client, and this will potentially be expanded in the future. > You mention using a flag column, but woul
45.
▲
by
ochiba
3y ago
This is an interesting use case and sounds like it could be a fit. What stack is the software that runs on the Linux devices? Also feel free to shoot me an email if you'd like to discuss the use case privately (email in bio) or chat on
46.
▲
by
ochiba
3y ago
Are you perhaps thinking of Web SQL? Web SQL was deprecated but Wasm SQLite with IndexedDB or OPFS as the underlying storage layer is gaining more adoption. https://developer.chrome.com/blog/from-web-sql-to-sqlite-was..
47.
▲
by
ochiba
3y ago
> In the given design, am I understanding correctly that this means that a local commit could be seen as “committed” by the user but then later the server rejects it because of conflicts right? > it does mean that you could lose data
48.
▲
by
ochiba
3y ago
For sure, working only with a local SQLite database does simplify state management in many cases. For the most part you don't need an additional state management system/library. Meta had an interesting article a few years back abo
49.
▲
by
ochiba
3y ago
That's strange, we are unable to reproduce this on our end — both URLs load correctly for our team. I'll shoot an email to the address in your bio to see if there's any details you could perhaps share that could help us debug
50.
▲
by
ochiba
3y ago
The client does not update its state to the authoritative state of the server as long as there's pending writes present in the client's upload queue. If there is an error with uploading a write to the server (either a network erro
51.
▲
by
ochiba
3y ago
The initial self-hostable version will be available as part of the paid service, but there is also a free open-source self-hostable version planned for next year: The PowerSync Service will move to an open-core model in 2024: An open-source
52.
▲
by
ochiba
3y ago
The company behind PowerSync is profitable https://www.powersync.com/company and is not currently actively seeking investment
53.
▲
by
ochiba
3y ago
You can use any Postgres database as long as it supports enabling logical replication and PowerSync can connect to it. Details here: https://docs.powersync.com/usage/installation/database-setup The PowerSync Servi
54.
▲
by
ochiba
3y ago
The goal is basically to help you build offline-first apps. In the offline-first paradigm, app code works directly with a client-side embedded database, which automatically syncs with a backend database in the background. This is in contras
55.
▲
by
ochiba
3y ago
It is on our near-term roadmap to support ORMs for the client-side SQLite database. Our goal with ORMs is to fit in with existing popular libraries on each platform (e.g. Flutter, React Native, etc.), rather than creating a PowerSync-specif
56.
▲
by
ochiba
3y ago
Co-founder (Conrad) here. SQLite does indeed have a narrow set of types. Timestamps in Postgres are converted to text in SQLite in a format that is compatible with ISO8601 and SQLite's functions. Type conversions are documented here:
57.
▲
Offline-First/Local-First Is a Big Deal, Especially for the Web
(powersync.com)
3 points
by
ochiba
3y ago
|
0 comments
58.
▲
by
ochiba
3y ago
> One plus point compared to CRDTs is that you get to decide how you want to deal with conflicts yourself, with simple, sequential code. I'm not up to date with the latest in CRDT-land but I believe it can be complicated to add appl
59.
▲
by
ochiba
3y ago
I agree. We had similar conclusions around the implementation of PowerSync (sync engine enabling offline-first applications). Instead of CRDTs we went with the architecture of a central server authority and a form of server reconciliation [
60.
▲
by
ochiba
3y ago
Thanks for the clarification
More ›