# Dateisynchronisation

Dateisynchronisation (auch Dateisynchronisierung, File Synchronisation oder kurz Filesyncing oder File Syncing) ist die Übertragung von digitalen Dateien (englisch Files) und die automatische Ausführung aller notwendigen Dateitransaktionen zur Erzeugung eines einheitlichen Datenbestands an unterschiedlichen Orten. Im allgemeinen Sprachgebrauch wird Filesynchronisation vor allem mit den internetbasierten Dateidiensten zum geräteübergreifenden Abgleich von Dateibeständen verbunden, wie sie seit 2010 zum Beispiel durch Dropbox populär gemacht wurden. Filesynchronisation kann aber auch innerhalb eines Rechnernetzwerks oder zwischen unterschiedlichen Ordnern eines Computers (beispielsweise per rsync) erfolgen.

## Funktionsweise

Filesynchronisation erfordert mindestens zwei beteiligte Geräte, das heißt Arbeitsplatzrechner, Notebook, Tabletcomputer oder Smartphone, auf denen ein Teil oder der gesamte Datenbestand synchronisiert werden soll. Filesynchronisation ist aber auf eine Gerät-zu-Gerät-Beziehung beschränkt und die Anzahl der beteiligten Geräte kann deutlich größer sein.
Das Ziel eines geräteübergreifend einheitlichen Datenbestands erreicht Filesynchronisation durch das kontinuierliche Monitoring des Dateisystems und den fortlaufenden Abgleich der Dateibestände. Bei Ausführung einer Dateitransaktion wie zum Beispiel Dateierstellungen, -löschungen und -änderungen wird diese identifiziert und die notwendigen Instruktionen und Informationen an alle andere beteiligten Geräte übermittelt. Wird beispielsweise auf einem Gerät eine Datei neu erstellt, dann wird diese auf die anderen beteiligten Geräte übertragen und dort abgespeichert. Wird eine Datei geändert und eine Version mit einem neueren Versionsstand erzeugt, dann wird diese ebenfalls übertragen und die alte Version gelöscht beziehungsweise archiviert.
Von zentraler Bedeutung für die Funktion der Dateisynchronisation sind Zeitstempel (englisch time stamps) von Dateien. Zeitstempel enthalten Informationen, wann eine Datei erstellt, geändert oder gelöscht wurde. Sie signalisieren damit der Synchronisationssoftware, was mit einer Datei zu tun ist. Beispiel: Hat eine Datei beispiel.txt auf Gerät 1 ein Änderungsdatum, das vor dem Datum der Datei auf Gerät 2 liegt, so weiß die Synchronisationssoftware, dass auf Gerät 2 Änderungen an der Datei vorgenommen wurden und diese daher auf das Gerät 1 übertragen werden muss. Metainformationen von Dateien, zu denen Zeitstempel gehören, werden bei der Synchronisation der Dateien logischerweise mitübertragen und auf dem Zielgerät abgespeichert.
Die Synchronisation kann manuell oder automatisch (zum Beispiel durch ein spezifisches Ereignis oder in regelmäßigen Abständen) angestoßen werden.

## Anwendungsfelder

Filesynchronisation ist insbesondere für verteilt und mobil arbeitende Teams von großer Bedeutung. Die Synchronisation – vor allem wenn automatisch getriggert – stellt sicher, dass Dateiänderungen unmittelbar anderen Teammitgliedern zur Verfügung gestellt werden.
Ein weiterer populärer Anwendungsfall von Filesynchronisation ist der Datenabgleich zwischen zwei Geräten eines Nutzers, beispielsweise zwischen einem Computer am Firmen- und einem Rechner am Heimarbeitsplatz.
Es ist häufig zu sehen, dass Synchronisationsoftware neben der reinen Sync-Funktionalität weitere Komfortfunktionen bietet. Zu diesen Funktionen gehören unter anderem:
* Filesharing (dann häufig ‘Sync and Share’ genannt)
* Dateiversionierung
* Online Bearbeitung von Dateien
* Dateikommentierung

## Technische Umsetzung

Die technische Umsetzung kann auf unterschiedliche Art und Weise erfolgen. Zu unterscheiden sind insbesondere Architekturentscheidungen der Softwareentwickler und die verwendeten Sync-Algorithmen.
Die meisten Softwarelösungen nutzen eine Client-Server-Architektur. Populäre Public-Cloud-Anbieter wie Dropbox und OneDrive nutzen diese ebenso wie die beliebten Private-Cloud-Lösungen ownCloud und Seafile. Andere Lösungen verwenden Peer-to-Peer oder hybride Ansätze (zum Beispiel TeamDrive).
Unterschiedlich ist auch die Handhabung von Dateiänderungen. Während manche Filesyncing Lösungen die Delta-Kodierung unterstützen (beispielsweise Seafile), müssen andere Lösungen bei einer Änderung die gesamte Datei übertragen (zum Beispiel Nextcloud).

## Anbieter von Filesynchronisation

Der Anbietermarkt für Filesynchronisation ist unübersichtlich. Es gibt zahlreiche Unternehmen, die Filesynchronisation als Dienstleistungen anbieten. Die Preismodelle und der sonstige Angebotsumfang kann sehr unterschiedlich sein.
Daneben gibt es Anbieter von Softwarelösungen, mit denen sich Arbeitsgruppen beziehungsweise insbesondere Unternehmen ihre eigene Filesynchronisationsinfrastruktur aufbauen und betreiben und sich somit von einem Dienstleistungsanbieter unabhängig machen können. Abgesehen von der zentralen Synchronisationsfunktion als Kernfunktionalitäten unterscheiden sich die Lösungen in erweiterten Funktionen sowie in Performance, Anpassbarkeit sowie Skalierbarkeit.
Viele NAS von Herstellern wie QNAP oder Synology bringen ebenfalls Dateisynchronisationsfunktionen mit.

### Bekannte Anbieter von Filesynchronisation als Dienstleistung

* Dropbox
* Google Drive
* iCloud
* Microsoft OneDrive
* SpiderOak
* Strato HiDrive
* Tresorit

### Bekannte Anbieter von Filesynchronisationssoftware

* Nextcloud
* ownCloud
* Pydio
* Seafile
* Syncthing
* TeamDrive