데이터 동기화
Data synchronization
동기화는 소스에서 타깃 데이터 스토리지로 또는 그 반대로 데이터 간의 일관성을 확립하는 프로세스이며, 시간이 지남에 따라 데이터의 지속적인 조화가 이루어집니다.PDA 등, 파일 동기나 모바일 디바이스 동기 등, 다양한 애플리케이션의 기반이 됩니다.
또한 공용 키 서버를 동기화하기 위한 암호화에서도 동기화가 유용할 수 있습니다.
파일 기반 솔루션
파일 동기화, 버전 제어(CVS, Subversion 등), 분산 파일 시스템(Coda 등) 및 미러링(rsync 등)에 사용할 수 있는 도구가 있습니다.그러나 버전 제어 및 파일 동기화 도구만이 여러 파일 복사본의 수정을 처리할 수 있습니다.
- 파일 동기화는 일반적으로 외장 하드 드라이브의 홈 백업 또는 USB 플래시 드라이브의 전송을 위한 업데이트에 사용됩니다.자동 프로세스를 통해 이미 동일한 파일 복사를 방지할 수 있으므로 수동 복사에 비해 상당한 시간을 절약할 수 있을 뿐만 아니라 더 빠르고 오류가 발생하기 [1]쉽습니다.
- 버전 제어 도구는 여러 사용자가 동일한 파일을 동시에 수정하려고 하는 상황에 대처하는 것을 목적으로 하며 파일 동기화는 한 번에 하나의 파일 복사본만 편집할 수 있도록 최적화되어 있습니다.따라서 버전 제어 도구를 사용하여 파일을 동기화할 수 있지만 전용 프로그램을 사용하면 오버헤드가 줄어듭니다.
- 분산 파일 시스템은 여러 버전의 파일을 동기화하는 것으로 간주될 수도 있습니다.이를 위해서는 일반적으로 파일을 저장하는 장치가 항상 연결되어 있어야 하지만 Coda와 같은 일부 분산 파일 시스템에서는 연결이 끊긴 후 조정이 가능합니다.대부분의 파일 시스템은 버전 그래프를 유지하지 않기 때문에 일반적으로 분산 파일 시스템의 병합 기능은 버전 관리 시스템의 기능보다 더 제한됩니다.
- 미러(컴퓨팅):미러는 데이터 세트의 정확한 복사본입니다.인터넷에서 미러 사이트는 다른 인터넷 사이트의 정확한 복사본입니다.미러 사이트는 동일한 정보의 여러 소스를 제공하기 위해 가장 일반적으로 사용되며 대규모 다운로드에 대한 안정적인 액세스를 제공하는 방법으로 특히 유용합니다.
이론 모델
연구 문헌에는 데이터 동기에 관한 여러 이론 모델이 있으며, 이 문제는 슬레피안의 문제와도 관련이 있다.정보 이론의 늑대 부호화.모델은 데이터가 동기화되었다고 간주하는 방법에 따라 분류됩니다.
정렬되지 않은 데이터
순서 없는 데이터 동기화 문제(세트 조정 문제라고도 함)는 대칭 S S ( A- B ) ( B- A )( ( \ S_} =()를 계산하려는 시도로 모델링됩니다. 숫자의(\B})[2] 및 (\displaystyle S_{B})입니다이 문제에 대한 몇 가지 해결 방법은 다음과 같습니다.
- 도매이체
- 이 경우 로컬 비교를 위해 모든 데이터가 하나의 호스트로 전송됩니다.
- 타임스탬프 동기화
- 이 경우 데이터에 대한 모든 변경 내용이 타임스탬프로 표시됩니다.동기화는 이전 [3]동기보다 나중에 타임스탬프와 함께 모든 데이터를 전송함으로써 진행됩니다.
- 수학적 동기화
- 이 경우 데이터는 수학적 개체로 처리되며 동기화는 수학적 [2][4][5]프로세스에 해당합니다.
순서부여 데이터
경우A\displaystyle _와 _의 2개의 리모트스트링을 조정해야 합니다.일반적으로 이러한 문자열은 편집 횟수(즉, 문자 삽입, 삭제 또는 수정)까지 차이가 난다고 가정합니다.다음으로 데이터 동기는 A\ \ _ { } B\ \ _ { } 사이의 편집 거리를 0으로 하는 프로세스입니다.이는 모든 파일 시스템 기반 동기화(데이터가 정렬된 위치)에 적용됩니다.이에 대한 많은 실제 적용은 위에서 설명하거나 참조한다.
경우에 따라서는, 「싱글」이라고 불리는 프로세스(스트링을 「싱글[clarification needed]」[6]로 분할하는 것)를 통해서, 문제를 순서가 없는 데이터 중 하나로 변환할 수 있습니다.
에러 처리
폴트 톨러런스 시스템에서는 분산형 데이터베이스가 데이터의 손실 또는 파손에 대처할 수 있어야 합니다.일반적으로 첫 번째 단계는 복제입니다. 여기에는 데이터의 복사본을 여러 개 만들고 변경 시 모두 최신 상태로 유지해야 합니다.단, 인스턴스의 손실이나 파손이 발생했을 때 의존할 복사본을 결정해야 합니다.
가장 간단한 방법은 진실의 유일한 원천인 단일 마스터 인스턴스를 갖는 것입니다.변경 내용은 다른 인스턴스로 복제되며, 이전 마스터에 장애가 발생하면 이러한 인스턴스 중 하나가 새 마스터가 됩니다.
Paxos와 Raft는 페일오버 중에 발생하는 일시적인 영향을 해결하기 위해 존재하는 보다 복잡한 프로토콜입니다. 예를 들어, 두 인스턴스가 동시에 마스터라고 생각하는 경우입니다.
비밀 공유는 노드 전체의 장애가 매우 빈번한 경우에 편리합니다.이렇게 하면 동기화가 명시적 복구 프로세스에서 각 읽기의 일부로 이동하며, 일부 데이터를 읽으려면 여러 노드에서 인코딩된 데이터를 검색해야 합니다.일부 노드에서 손상되거나 오래된 데이터가 존재할 수 있는 경우 오류 수정 코드를 사용하면 이 방법을 사용할 수도 있습니다.
DHT와 블록체인은 많은 노드(수백에서 수십억) 간의 동기화 문제를 해결하려고 합니다.
「 」를 참조해 주세요.
- SyncML, 주로 캘린더, 연락처, 이메일 동기화용 표준
- 동기화(컴퓨터 과학)
레퍼런스
- ^ A. Tridgell (February 1999). "Efficient algorithms for sorting and synchronization" (PDF). PhD thesis. The Australian National University.
- ^ a b Minsky, Y.; Ari Trachtenberg; Zippel, R. (2003). "Set reconciliation with nearly optimal communication complexity". IEEE Transactions on Information Theory. 49 (9): 2213–2218. CiteSeerX 10.1.1.73.5806. doi:10.1109/TIT.2003.815784.
- ^ "Palm developer knowledgebase manuals". Archived from the original on 2002-03-11. Retrieved 2007-01-09.
- ^ Ari Trachtenberg; D. Starobinski; S. Agarwal. "Fast PDA Synchronization Using Characteristic Polynomial Interpolation" (PDF). IEEE INFOCOM 2002. doi:10.1109/INFCOM.2002.1019402.
- ^ Y. 민스키와 A.Trachtenberg, 스케일러블 세트 조정, Allerton Conference on Communication, Control, and Computing, 2002년 10월
- ^ S. Agarwal; V. Chauhan; Ari Trachtenberg (November 2006). "Bandwidth efficient string reconciliation using puzzles" (PDF). IEEE Transactions on Parallel and Distributed Systems. 17 (11): 1217–1225. doi:10.1109/TPDS.2006.148. S2CID 4300693. Retrieved 2007-05-23.