I spent a while looking at this group, Cloudkit docs, examples etc.
and -- PLEASE do correct me if I'm wrong! -- I realized that the only
way Cloudkit can persist data to disk seems to be through Tokyo
Cabinet, while some time ago it was also possible to use SQLite or
MySQL...
This is correct. At one point, CloudKit did use SQLite for the default store, moving to DataMapper for a while so that other databases could be used.
While I do like Tokyo cabinet, I'm not 100% happy because it's not
exactly cross-platform (Windows...?), so I was wondering if there's
any other adapter available.
The in-memory adapter is the only other one available today, but that will change in the next release.
What about allowing periodic and/or on-
demand "dumps" of MemoryTables? Would that be feasible?
To make this work for the current release, one could either extend the in-memory adapter or create a new adapter that had the same interface, writing to disc upon receiving a trigger event (such as time or size).
The plan for this next release is to use the JavaScript bridge (see the jsonquery branch on GitHub) and do most of the persistence work on the JavaScript side. This new store will have adapters for file storage (on the server) and will be used in the browser as well (using HTML5 storage, for example).
-Jon