iCloud drive for database storage & sync?

Hello, I am getting confused after reading some posts. Is it generally a good idea to keep database in iCloud Drive? Would that technically solve both the storage and sync?

Would all data be accessible on iOS devices via DEVONthink Go?

Also if I shared the database folder via iCloud sharing with my wife, would she be able to access the same or there is a risk in corrupting database if she would accidentally edit something at the same time? Or perhaps a read only sharing mode would be possible, as I would be the main user of the app, but would like to keep my wife in the loop if I were to keep all documents in DevonThink.

Or perhaps OneDrive would be better for storage, sync and sharing purpose?

Don’t put your database in any cloud service.

There are two concepts: DT database, that is the place used by DT to store its things and sync database, that is a remote repository used to sync databases between devices.

And there is a 3rd concept: indexed items. Indexed item is an item (e.g. a PDF) that is stored outside the program database but DT is aware of it (and stores locally metadata enough to know it and allow search on it). If you use this, the real file must be in local as well (could be in a cloud folder, but that file or files must be present locally without any kind of sync-on-demand as Dropbox or OneDrive.

1 Like

Why is that, would you care to explain why is it a bad idea to place database in a cloud service/drive?

Because clouds are not reliable enough for that. A DT database is a very complex bundle and it is designed to be used locally only.

Thank you. However if DT database is stored locally, how can it be accessed remotely from iOS devices or other Macs?

Go to Preferences and in the Sync tab set up your sync.

Devices do not access DT database. They access a syncstore stored wherever. DT puts a specially coded file as a syncstore on a server from the data in its local database. This includes files in the database and copies of indexed files. Then other devices access this syncstore to get a copy of some or all data in that store.

You don’t put the actual database file in a cloud because it is dynamic; it continually changes and allowing another device to connect to it may lead to data corruption.

2 Likes

@mbbntu @pvonk Thank you. So having DT database stored locally on a hard drive + setup remote sync via iCloud for instance, will I be able to access all data from other devices through iCloud sync or not?

Yes, you will be able to access all data. I take it you don’t yet have DEVONthink, because all these things are covered in the manual, which would be your best source of information.

Edit: actually, you can download the manual here: https://www.devontechnologies.com/support/download/extras

And sync is covered in the manual and Help in In & Out > Sync. This discusses the philosophy and basic procedures for the sync methods we support.

And especially note the Q & A at the end of the section.

Thank you, yes I read about but it’s not as clear as it may appear to regular users. I have the DT app installed on my Mac but before I give it a proper go I wanted to make sure I will be able to achieve the above.

So if sync grants access to the whole data, then the size of it is probably around the same as database itself? Is it possible to share the sync with another iCloud user by sharing the sync folder / data? What happens to sync if simultaneous changes are made on different devices? Does it “merge” the changes properly?

So if sync grants access to the whole data, then the size of it is probably around the same as database itself?

Technically no, but that’s a good way to think about it so you can ensure you have space available.

Is it possible to share the sync with another iCloud user by sharing the sync folder / data?

No. You cannot sync across Apple IDs. It’s meant for personal syncing.

What happens to sync if simultaneous changes are made on different devices?

This is managed by the Preferences > Sync > Conflicts in DEVONthink and Settings > Sync: Conflicts in DEVONthink To Go.

Does it “merge” the changes properly?

The definition of properly in conflict resolution is subjective. It will either duplicate documents or preserve the last saved document.

An easy option is using a Bonjour sync when you and your wife have your devices on, running DEVONthink, on your local network.

DEVONthink usually creates a folder called Databases inside your user folder on your Mac, and that is where your databases live locally. I have seven in mine, presently totalling 7.66 GB. I have set up sync via the Swedish service CloudMe, and the DEVONthink sync store on their servers is displaying as 8 GB. It may be rounding up the display for convenience or simplicity. I have an iMac, a MacBook Pro, an iPad, and an iPhone, all set up to sync via the syncstore on CloudMe. However, I have also set up the iMac to be the local “server” using Bonjour. This means I can get fast sync via Bonjour when I am at home, but can also sync via CloudMe when I am out and about. I used to use iCloud but found it slow and unreliable, so I changed. Others seem to have no problem with it, so you might have to suck it and see. CloudMe is a pretty cheap service.

@mbbntu @BLUEFROG Thank you. All is clear here. I wonder if the database would be accidentally lost due to HD damage, would that be possible to rebuild it from Sync?

I would say that sync should never be considered as a substitute for backup. I not only have sync to four devices, I have my iMac backed up by Time Machine and Carbon Copy Cloner (two partitions on the same external hard drive) and also by Backblaze (complete backup in the cloud). My MacBook gets backed up to its own external hard drive. Storage is cheap. Loss of data also means lost time, lost money and large doses of anguish and frustration. Make sure you have a proper backup strategy.

You’re welcome :slight_smile:

@mbbntu is correct here. While it may be possible to reimport from a sync location, sync is ​not ​a backup, neither advertised nor advocated as such. We strongly advocate proper primary backups using TimeMachine (or similar snapshot-style backup applications) and external drives. Also, you should read the recent series of articles we posted.

In iCloud drive you can actually share a folder since quite recently.
Would for example OneDrive work in such case? To share a sync folder with my wife? Just thinking about the best way to leave access to data for my wife in case of some emergency.

In iCloud drive you can actually share a folder since quite recently.
Would for example OneDrive work in such case?

No, this will not work for syncing.

Just thinking about the best way to leave access to data for my wife in case of some emergency.

Can you provide an example instance of when this may need to happen?

PS: If you are considering a remote sync option - and just having a cloud account does not make it an optimal choice in all situations - you can use a common Dropbox or CloudMe account, i.e., logging in with the same credentials, you can both sync to the same sync location.

There was a thread before on this where someone had similar concern of leaving access to kids/wife in case of emergency. The emergency could be death for instance. If people devote their “lives” into DT database, then having closest family members ability to access the data would be great.

Yes, sharing credentials could be a solution, thanks. I just wonder what is the technical limitation that the sync folder cannot be shared between users of different accounts. The sync folder location would still be the same, just with two different users having access to it.

What would be the optimal choice than if not the cloud?

What would be the optimal choice than if not the cloud?

My treatise:
Any remote sync location has inherent weaknesses due to:

  • Network conditions - local and remote
  • Remote server reachability and response times
  • Maximum concurrent connection limitations imposed by the service
  • Bandwidth throttling measures employed by cloud services

These are limitations sync cannot overcome, any more than your web browser can.

For the optimal experience, you should use a remote sync option when you need to. Just having a Dropbox, iCloud, etc. account does not make it an optimal solution for all situations.
This doesn’t mean you can’t successfully use a remote solution. It just means there are some stumbling blocks that can occur when using them - blocks caused by the conditions mentioned, not our sync engine - and they can inhibit proper syncing.

A local sync on your network could be just as effective. It’s also fast, generally reliable, and private. This could be Bonjour, a local sync store on a Mac, or potentially WebDAV on an NAS.

2 Likes