4 ms·
Apple powers iCloud Core Data with SQLite. This way it uses the same DB engine locally on your Mac and iPhone, and the server backend in their data centers. I
by BulgarianIdiot 4y ago
Apple powers iCloud Core Data with SQLite. This way it uses the same DB engine locally on your Mac and iPhone, and the server backend in their data centers.
I don't know if they've swapped the backend, or just use it as-is. SQLite can scale vastly if you use it for file IO and do sharding/replication on top of it as a separate concern. I've done ad-hoc (extremely crude) versions of that in some apps.
- hot_gril 4y agoIsn't each cloud CoreData store just for a single user, so high concurrency isn't needed?
- BulgarianIdiot 4y agoYes, we have natural sharding by user. However Core Data also can create shares which multiple users can access. I don't think this typically causes high concurrency, it's more like a Dropbox file share or a Google docs file share for a few users at a time. This definitely helped them make the choice to run SQLite on the server. But I still think it's super cool. We're talking 1.8 billion devices with data stored as SQLite files in the cloud.
- T-Winsnes 4y agoI would assume single account but multiple devices, so you could have multiple connections syncing at once.
- hot_gril 4y agoDoing that serially wouldn't be particularly slow. Most likely 4 devices at most.
- deleted 4y ago[deleted]