sitelink1 | |
---|---|
sitelink2 |
SQL Server Replication
이름에서도 알 수 있듯이 SQL Server Replication은 둘 이상의 SQL Server 데이터베이스에서 데이터를 복제할 수 있게 해 줍니다.
SQL Server 2000과 함께 제공되는 이 기술은 SQL Server 2005의 모든 버전과 SQL Server CE에도 포함되어 있습니다.
SQL Server Replication에 대하여
가끔은 여러 데이터베이스에 같은 데이터의 사본을 보관하며, 자동으로 해당 데이터를 동기화하는 것이 유용할 수 있습니다.
예를 들어 웹 서버 그룹에서 실행되는 어플리케이션들이 각기 그 기기 상에 위치하고 있는 동일한 데이터베이스들에 읽기 요청을 한다면, 어플리케이션의 확장성과 가용성을 높일 수 있습니다.
이를 위해서는 모든 업데이트들이 반드시 단일 데이터베이스 인스턴스로 수집되었다가 읽기 전용 사본으로 보내져야 할 것입니다. SQL Server Replication은 바로 이와 같은 상황을 위해 디자인되었습니다.
SQL Server Replication을 사용하는 경우
SQL Server Replication에 관한 주요 통합 시나리오들은 다음과 같습니다:
- 하나 이상의 SQL Server 인스턴스에서 테이블 간에 데이터를 복제하는 경우. 그러한 인스턴스들은 필요에 따라 가끔식만 연결되는 모바일 장치나 서버 또는 클라이언트에서 실행될 수 있습니다. SQL Server Replication은 전체 테이블을 복사하기 보다 증분적인 Row-level 변경 사항들을 복제하고, 업데이트들이 거의 실시간으로 전파되도록 합니다.
- IBM과 Oracle 데이터베이스에 복제되는 데이터에 대한 소스로 SQL Server를 사용하는 경우.
- SQL Server, IBM, Oracle 데이터베이스에 복제되는 데이터를 위한 소스로 Oracle을 사용하는 경우. 이 경우, 데이터는 먼저 SQL Server 데이터베이스에 복제되고, 그런 다음 다른 데이터베이스에 복제됩니다.
데이터 복제는 여러 시나리오들에서 매우 유용하며, 따라서 SQL Server Replication도 매우 다양한 방법으로 적용 가능합니다.
그리고 사실상, 이 기술이 통합을 위한 도구로 보일 수 있지만, SQL Server Replication 은 데이터 동기화를 위한 솔루션으로 보는 것이 정확합니다.
SQL Server Replication과 그 밖의 통합 기술
동일한 데이터 소스를 실시간으로 동기화해야 한다면, SQL Server Replication이 가장 좋은 방법입니다.
이 외에는 어떤 통합 기술도 변경 사항이 일어났을 때 신속하게 이를 파악하여 전달하는 지원 기능을 제공하지 않습니다.
BTS 2006나 기타 통합 기술을 사용해 사용자 지정 복제 어플리케이션을 작성할 수 있지만, 이러한 작업을 올바르게 수행하는 것은 매우 어렵습니다.
뿐만 아니라 SQL Server Replication에 포함된 기능이나 그만큼의 성능도 제공하지 못할 것입니다.
SQL Server Replication은 선택된 테이블의 모든 열, 또는 테이블 열들의 일부를 사용해 동일하게 데이터를 복제합니다.
반면 데이터의 유지 관리는 같은 형식으로 합니다.
SSIS는 데이터가 이동할 때 이를 변환하는 추가 기능을 가지고 있어서, 다른 구조를 가진 전체 테이블들을 복제하기에 훨씬 좋습니다.
그러나 SQL Server Replication와 달리, SSIS는 증분적인 Row-level 변경 사항들의 복제를 지원하지 않으며(이는 전체 테이블을 복제합니다), 이는 대개 SSIS의 성능이 보다 낮다는 것을 뜻합니다.
ETL 도구로서 SSIS는 동일한 데이터를 복제하는 것 보다는 서로 다른 데이터를 통합하는 것에 집중하며, 전자의 경우를 위해서는 SQL Server Replication가 개발되어 있습니다.