|
![]() |
Sync Explained |
In this section, we will clarify what sync is (and isn't) and how to make an informed choice about the method you choose. In the subsequent pages we will discuss technical considerations and the basic setup of each type. But let us clarify: this section isn't long because sync is complicated. It's long due to the variety of options available. Sync Simplified Sync is an incredibly simple and logical concept. You have a database on Mac A. You want that database on Mac B. On Mac A, you upload the database to a sync location accessible to both machines. On Mac B, you access the same sync location and import the database. Now both Macs have a local copy of a database. When anything changes on either Mac, they are transmitted to each other via the sync location. The only variation is if Mac B already has a copy of the database, it will be able to merge with the sync data in the sync location. That's it: simple. And every sync is conceptually the same, following the same essential pattern shown here:
So you're essentially only using steps 2 and 4 when you want to sync new or unsynced databases, something that likely won't happen often. In fact, the only practical difference is, a Bonjour sync transmits directly between the devices so you wouldn't use step 2. Indexing and Sync Often people index content from the local repository of a cloud service like Dropbox. The question then arises: "If I have my data on Dropbox' servers and I sync to Dropbox via DEVONthink, aren't I just using twice the space?" The answer is practically, yes. In the Show Info for a sync location in the Sync settings there is an option Synchronize contents of indexed items. Unchecking this will sync only the metadata for the files, not the contents. However, you should only disable this option if:
For the most flexibility, it is advisable to ensure you have enough storage space for syncing. Choosing a Sync Method Choosing a sync method requires assessing your needs while being aware of technical considerations. Regarding syncing, the first question you need to ask yourself is, "Do I need a remote sync option?". Consider these questions…
If the answer is no to these questions, a local sync on your network is suggested. 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 below that can inhibit proper syncing. If you do need a remote sync option or just want to pursue that avenue for syncing, you need to understand and accept the potential pitfalls involved:
That all being said, here are the sync methods available in DEVONthink: Bonjour: Bonjour is a direct connection sync between two Macs that are on the same local network. It is fast, private, and generally reliable with no intermediary sync location.
Local Sync Store: A local sync store syncs to a specialized folder residing on a commonly accessible location, like a drive on your network. It can also be stored on a connected external drive or thumb drive. It is generally very fast and very private.
Dropbox: A Dropbox sync transmits and stores sync data directly on Dropbox' servers.
iCloud: There are actually two iCloud syncs: a iCloud (Legacy) sync and a CloudKit (iCloud) sync. Both transmit and store sync data on Apple's servers.
WebDAV: A WebDAV sync transmits and stores sync data on a WebDAV server, whether locally, e.g., on an NAS or via a commercial cloud provider.
Common Questions There are many questions we get over and over, so here are some important things to understand as well as clarifying some of the terminology.
What is a sync store? : A sync store is a special folder on a server or service (the 'sync location') that DEVONthink uses to store sync data for your syncing databases. Give it a name made only of alphanumeric characters. A concatenated name, e.g., What is a 'copy of the database'? : One detail to understand about syncing: Only true copies of a database will sync together. Two databases having the same name but created independently are not the same database. These databases will never sync together. This is also why you shouldn't create a database on the receiving machine, hoping to "fill it up" with data from the source database. If you copy the database ( What is an encryption key? : Regarding the privacy of your synced data, all sync methods allow you to specify an optional (but recommended) encryption key for a sync location. The key is an alphanumeric string of your choice and length. This key is used to "scramble" or "descramble" the sync data using AES-256 encryption and the data is stored in an encrypted state. All databases synced to a location using an encryption key will sync encrypted data. Bear in mind, if you specify a key when syncing, you must use the same encryption key when setting up the same sync location on other devices running DEVONthink or DEVONthink To Go. If you get a message in the
Log window or popover about an
What are the Local and Remote sections for? : As noted above, a database must be local to the machine so it must either be open in DEVONthink or imported from the sync location. For a non-Bonjour sync location, Local section of the Databases list displays all local open databases. For a Bonjour location, the Local section displays databases that are open both on the local machine and the Bonjour server machine. In both cases, the Remote section displays any databases that aren't open locally or those that have never been imported to the local machine. Remember this: You cannot sync to a remote database. It must be imported locally, then you work with and sync the local copy. Can I use more than one sync method at the same time? : Indeed this is supported behavior. For example, you may want to set up a Bonjour or a local sync store for syncing on your local network and a remote sync option for syncing when you're out and about. However, if you want to sync via two cloud-synced services, e.g., Dropbox and iCloud, you should not sync the same databases via two different methods. Doing so could cause conditions where one cloud-service's sync data would be out of date, causing conflicts with syncing. Each sync location is updated independently so changes may not be received in one location before it syncs. Additionally, unnecessary duplicates might be caused, especially if the Conflicts setting in Sync preferences is set to Duplicate documents. Lastly, syncing a database to multiple remote locations may waste space and bandwidth in some cases. Should I use one sync store per database? : This is either a personal choice or a requirement of your specific situation. A sync location can be used with one, several, or all databases. Multiple sync stores can be employed for different sync situations and/or different devices, e.g., to synchronize specific databases via one sync store for personal use and sync others via a second sync store for business purposes. In situations where you need to sync certain databases to certain individuals, you can use one sync store for each subset of databases. And while this shouldn't be the first consideration, if you'd like to use one sync store per database or for a subset of them, it may lessen the time troubleshooting a sync issue with a particular database. How quickly will it sync? : DEVONthink's sync does not run constantly. To balance performance and reduce unnecessary network noise, it syncs on an interval. While the interval can vary by sync method, a good standard to consider is: sync will initiate up to 45 seconds after a change is saved in a database and every 4.5 minutes of idle time when set to Automatic. You can set a different interval, noting a longer interval, e.g., Hourly, can help lessen the resource load. Another consideration with a remote sync is the quality of the network and server responses. If your network is slow or poor quality or the remote servers are slow, not responding quickly, or bandwidth is being throttled, the speed of the sync will be affected. Syncs on your local network, e.g., Bonjour, are much less likely to be affected. Sync is my backup: If you've spent any time on our forums, you will have heard this before. Sync is neither advertised nor advocated as a backup method. A proper backup:
Sync fulfills none of those criteria. For a discussion on proper backups, see A Word About Backups in the opening chapter of the help.
I'll just put my databases in (name your cloud service): This is not data-safe and never has been. The mechanisms used by cloud services are not compatible with package files, like our databases. Due to the number of broken databases we've seen over the years, DEVONthink will neither sync nor open databases stored in these locations. We suggest keeping them in a folder in your home folder, like I want to access my databases from one location: To clarify, you can't store your databases in the cloud. They must be stored locally, whether that's on the internal hard drive or a connected external drive. As NAS is possible but you should do this only if you're on gigabit Ethernet or better. I want to find my files in the sync location: Your databases do not "live in the cloud". And sync does not merely copy your databases and files into any sync location. It transmits raw, chunked, and optionally encrypted DEVONthink-specific data, only useful to DEVONthink and DEVONthink To Go. You cannot go into a sync location and retrieve a specific file, and neither could anyone else, friend or foe. |