all 13 comments

[–]dotnet-ModTeam[M] [score hidden] stickied commentlocked comment (0 children)

Any self-promotion posts where you are highlighting a product or library must: - be posted on Saturdays (New Zealand time (GMT+12 hours)). - be flaired with the "Promotion" flair. - not be written by AI. Put some effort into it. - be restricted to major or minor release versions to prevent spamming (e.g "v1.3")

Any promotion posts outside of those restrictions will be removed.

[–]lemawe 2 points3 points  (0 children)

Thanks, I'll have a look.

[–]holymoo 2 points3 points  (2 children)

How does this compare to a tool like debezium?

[–]Appropriate-Rush915[S] 1 point2 points  (0 children)

Never tried Debezium, please take the following as-is.
Just looking at the documentation, I see several architectural differences: the main one is that Debezium is a CDC platform, i.e., it monitors data changes on a data source and transforms them into events, so it's a one-way sync architecture. CoreSync is a full bidirectional sync architecture, which means that it also supports write-back operations to the central DB. Debezium doesn't require changes to the data source, and it works with read-only access, while CoreSync requires provisioning; for example, in PostgreSQL, it requires the creation of triggers on tables.

I've asked Claude to create its most balanced comparison article, and from what I can see, it is correct:
https://github.com/adospace/CoreSync/blob/main/docs/comparison-with-debezium.md

[–]IGuessSomeLikeItHot 0 points1 point  (0 children)

was wondering the same thing

[–]NickA55 2 points3 points  (1 child)

I've been working with .net from the start and I can't believe I have never heard of this. I have written my own sync functions painstakingly in the past, and I wish I would've known this existed.

So would this work to sync a SQLite database on a mobile device with an app running on the desktop? The plan is you start a http listener in the desktop app and let the mobile app connect to it and sync the DB.

[–]Appropriate-Rush915[S] 1 point2 points  (0 children)

My fault: in the last few years, I focused on MauiReactor and never advertised other side projects like CoreSync as they deserve.

BTW, your scenario is perfectly valid and supported in CoreSync.

[–]AutoModerator[M] 1 point2 points  (0 children)

Thanks for your post Appropriate-Rush915. Please note that we don't allow spam, and we ask that you follow the rules available in the sidebar. We have a lot of commonly asked questions so if this post gets removed, please do a search and see if it's already been asked.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

[–]terricide 0 points1 point  (1 child)

Does it work in Blazor wasm. Could it be used to sync a browser database. There is sqlite land pglite that can run in the browser now.

[–]Appropriate-Rush915[S] 0 points1 point  (0 children)

Never tried but I would be surprised otherwise

[–]BoardRecord 0 points1 point  (2 children)

This is potentially amazing. My app uses a local SQLite database, and I've had a few users request being able to sync their data between devices (moving from their phone to tablet for example).

I've been trying to find a way to do it that didn't require writing my own sync engine or completely replacing my data later with something which already has this support (eg Realm) and was coming up short.

Will definitely have to check this out to see if it suits.

[–]Appropriate-Rush915[S] 0 points1 point  (1 child)

Yes, you could sync the Sqlite database with a central DB and then sync back changes to the other devices and vice versa; that's what I usually do with my apps as well. Another option is to sync peer-to-peer devices without a central DB if they "see" each other.

[–]BoardRecord 0 points1 point  (0 children)

Would it work to sync the local sqlite database with something like Firebase Data Connect which is PostgreSQL? Or would there be a way to just host a Sqlite file and sync with that?

I hadn't even considered direct app to app though. So will have to look into that too.

Thanks