A sincronização de arquivos (ou sincronia) em computação é o processo de garantir que arquivos de computador em dois ou mais locais sejam atualizados com os mesmos dados (ou de acordo com determinadas regras).
O termo é usado para se referir à sincronização bidirecional, quando os arquivos atualizados são copiados em ambas as direções, geralmente com o objetivo de manter os dois locais idênticos.
Já no espelhamento de informações, por vezes chamado sincronização unidirecional, os arquivos atualizados são copiados de um local de origem para um ou mais locais de destino, mas nenhum arquivo é copiado de volta para o local de origem. Na maior parte dos casos, contudo, o termo sincronia é usado para referir-se ao modelo bidirecional.
A sincronização de arquivos é frequentemente usada para backups domésticos em discos rígidos externos ou para atualizações de arquivos de trabalho, tendo o Dropbox, Nextcloud, OneDrive, Google Drive e iCloud como soluções comerciais populares para este fim.
Alguns softwares de backup também oferecem suporte à sincronização de arquivos em tempo real. O processo automático evita a cópia de arquivos já idênticos e costuma ser muito mais rápido do que a cópia manual, além de ser menos propenso a erros.
Características comuns As características comuns dos sistemas de sincronização de arquivos incluem:
Criptografia para segurança, especialmente ao sincronizar pela Internet. Comprimir quaisquer dados enviados através de uma rede. A detecção de conflitos ocorre quando um arquivo modificado em uma fonte não foi sincronizado em outra fonte antes de alterá-lo. Conflitos não detectados podem levar à sobrescrita de cópias do arquivo com a versão mais recente, causando perda de dados. O suporte a arquivos abertos garante a integridade dos dados ao copiar arquivos de dados ou aplicativos que estejam em uso ou arquivos de banco de dados que estejam bloqueados exclusivamente. Suporte específico para o uso de um dispositivo de armazenamento intermediário, como um disco flash removível, para sincronizar duas máquinas. A maioria dos programas de sincronização pode ser usada dessa forma, mas fornecer suporte específico para isso pode reduzir a quantidade de dados armazenados em um dispositivo. A possibilidade de pré-visualizar quaisquer alterações antes de serem implementadas. A possibilidade de visualizar as diferenças entre versões de um mesmo arquivo. Backup entre sistemas operacionais e transferência entre computadores em rede. Capacidade de editar ou usar arquivos em vários computadores ou sistemas operacionais.
Tipos de sincronia bidirecional A sincronia bidirecional, ou seja, aquela em que ocorre cópias em ambas as direções, podem ocorrer em tempo real, sob demanda ou seguindo outros padrões de atualização. Alguns combinam rotinas de sincronias automáticas (em tempo real, baseada em eventos e periódicas) com rotinas manuais (sincronia sob demanda).
Sincronia em tempo real Neste modelo, as alterações são propagadas imediatamente, como em aplicativos de construção colaborativa de documentos, em onde as mudanças são propagadas em tempo real para todos os editores, porque o sistema detecta todas as alterações e envia imediatamente para os consumidores conectados. É indicado para uso em sistemas de baixíssima latência e para colaboração em tempo real. Exige um custo e complexidade operacional maior. O editor colaborativo Google Docs opera com este modelo de sincronia.
Sincronia baseada em eventos Neste modelo, a sincronia é disparada por eventos de mudança, como geração de um pedido, atualização de um cliente ou alteração de um status, por exemplo. Indicado quando os sistemas precisam reagir rapidamente a mudanças para evitar conflitos/divergências nos dados. Muito usado em e-commerce, marketplaces e sistemas de logística, como o Shopify ou o Salesforce, para manter aplicativos sincronizados com os dados da loja e receber notificação near-real-time dos eventos de compra, devolução, alteração no estoque etc.
Sincronia periódica É o modelo em que a sincronização é disparada por tempo, via scheduler. Neste modelo, os sistemas acumulam as alterações e executam ciclos de sincronização em intervalos definidos, que variam de acordo com a natureza da operação. É indicado em sistemas nos quais um atraso nos dados não prejudicam seriamente a operação, como servidores de hospedagem de arquivos domésticos, clientes de email desktop como o Outlook e o Mozilla Thunderbird, geralmente entregando uma solução híbrida de sincronia periódica com possibilidade de executar uma atualização sob demanda.
Sincronia sob demanda No modelo sob demanda, a sincronização só acontece quando um usuário (ou um processo) dispara manual e explicitamente a ação, comum em sistemas para trabalho offline e/ou com múltiplos pontos de acesso, onde o usuário dispõe dos dados localmente em cada ponto e, ao finalizar suas alterações, dispara novamente a sincronia para enviar para o servidor central. É indicado para operações controladas, onde não há ganho operacional com a sincronia em tempo real. Exige um custo menor, e requer dos usuários atenção à possibilidade de conflitos de dados no caso de uso em mais de um ponto. A versão desktop do sistema de flashcards Anki faz uso desse modelo, sendo necessário que o usuário sincronize seus cartões manualmente ao finalizar uma sessão. Outro exemplo é o gerenciador de senhas open source KeePass.
Comparação com o acesso a arquivos compartilhados A sincronia não deve ser confundida com o compartilhamento de acesso.
O acesso compartilhado permite que uma pessoa acesse arquivos armazenados em outro computador ou servidor, diferente daquele de onde o acesso está ocorrendo no momento, por meio de uma conexão de rede local ou da Internet. Nesse modelo de acesso, o arquivo permanece em um local central, e os usuários acessam esse local diretamente (e, por isso, costuma depender de uma conexão ativa e estável com o provedor central).
Já a sincronização funciona com cópias do mesmo arquivo mantidas em dois ou mais dispositivos, como um computador e um serviço de armazenamento na nuvem. Quando há alteração em uma das cópias, o programa de sincronia compara as versões e atualiza os arquivos nos demais locais. Esse processo permite, inclusive, que o usuário trabalhe mesmo sem estar conectado à Internet por algum tempo, sincronizando as mudanças quando a conexão for reestabelecida.
Possíveis preocupações com a segurança As soluções de sincronização de arquivos para uso individual e doméstico são populares, porém, para uso empresarial há a preocupação de que informações corporativas se espalhem por dispositivos não gerenciados e por serviços em nuvem que não são controlados pela organização. [ <span title="This claim needs references to reliable sources. (October 2018)">citação necessária</span> ]
Ao usar serviços em nuvem, os riscos à privacidade dos dados podem ser mitigados com o uso de uma solução de sincronização de arquivos que ofereça criptografia de ponta a ponta em vez de criptografia simples de transporte ( HTTPS ) ou criptografia em repouso.
Ver também
Espelho (computação) Acesso a arquivos compartilhados
Referências
Categoria:Computação Categoria:Internet