[sql] 데이터베이스 이중화 시 사용되는 복제 알고리즘에 대해 설명해주세요.

동기적 복제

동기적 복제는 모든 데이터 변경이 모든 복제본에 즉시 적용되어야 함을 의미합니다. 즉, 모든 트랜잭션이 모든 복제본에 적용될 때까지 기다려야하며, 이는 복제본 간의 일관성을 유지하는 데 도움이 됩니다. 그러나 이는 지연 문제를 야기할 수 있으며, 네트워크 지연으로 인해 전체 시스템의 성능을 저하시킬 수 있습니다.

비동기적 복제

비동기적 복제는 데이터 변경을 즉시 다른 복제본에 적용하지 않고, 나중에 일정 시간 반복하여 적용하는 방식입니다. 이는 주로 성능을 개선하고, 네트워크 지연에 민감하지 않다는 이점이 있습니다. 그러나 이는 일관성 문제를 야기할 수 있으며, 데이터 변화가 시간에 따라 복제본 간에 일관성을 유지하는 것이 어려울 수 있습니다.

이러한 이중화 복제 알고리즘은 각각의 장단점을 가지고 있으며, 실제 사용 사례에 따라 적절한 방법을 선택해야 합니다.

참고문헌:

  1. Tanenbaum, A. S., & Van Steen, M. (2007). Distributed systems: principles and paradigms. Upper Saddle River, N.J: Pearson Prentice Hall.