
cedric-f
Hi, I have a questions regarding S3Drive. When mounting my storage (s3) to a drive in Windows (Z:): Can I insert and remove files in that mount and it will sync to S3?
And a follow up question: If this works, whats the difference when setting up a sync (2-way I guess)? Sync does not use virtual files right but the mount does right?
They're similar things from a user perspective, but they are entirely different beasts when it comes to underlying technical approach.
In principle you can use both, but each of them has its pros&cons.
With two-way sync, your files are present fully on both-ends which has storage implications, but will also work when internet connection is unstable or not present at all. Changes aren't synchronized online, but only when script runs (e.g. periodically). When script runs it puts some load on both local machine and remote back-end, as it does the comparison.
With mount, files are fetched to local cache (VFS) on-demand. It exposes remote filesystem as a local filesystem, but it will never be 100% local, some delay when listing or fetching files will appear (subject to connection speed, latency and back-end speed/load).
When writing/uploading files they will be uploaded to local cache first and then mount will asynchronously change to the back-end, which means that your FS will say it's all done, but in practice there will be some delay before it lands in remote storage.
You can try both and see what works better for you. If you need fast local copy and can afford storage implications, then I would probably go with two-way sync. If you deal with bigger dataset, can't fit that data locally and are fine with some potential delay/disruptions when internet connection is slower, then mount should do the job.
We're working on some improvements for both approaches. E.g. we would like to clearly inform user when mount still does some operations behind the scenes, so user can be sure that their data was synchronized before they close their PC.
For two-way sync we would like to offer some degree of "online" synchronization without necessity of running full sync.
1