나는 24 시간 연중 무휴로 운영되는 웹 서비스를 운영하고 있습니다. 주기적으로 다른 웹 서비스의 데이터로 데이터베이스를 새로 고쳐야합니다. 많은 데이터가 있습니다. 수만 행입니다. (아니오, SQL Server 용 데이터가 많다는 의미는 아니며 다른 웹 서비스에서 파이프를 가져 오는 데 다소 시간이 걸릴 것으로 예상합니다.)SQL Server의 높은 데이터 가용성을위한 최상의 방법
5 분에서 10 분 정도 걸립니다. 실제 데이터 업데이트 부분은 1 분에서 2 분 사이입니다. 즉, 소비자가 이러한 유형의 데이터를 요청할 때 모든 의도와 목적을 위해 서비스가 중단된다는 의미입니다.
데이터를 항상 사용할 수있는 시스템을 구현하고 싶습니다. 마음에 떠오르는 유일한 것은 두 개의 개별 데이터베이스를 유지 관리하는 시스템 유형입니다. 비활성 하나를 채우고 다른 하나를 채우기 전에 활성으로 바꾸십시오.
이 작업을 수행하는 가장 좋은 방법을 잘 모르겠습니다. 나의 현재 아이디어는 하나의 데이터베이스에있는 두 세트의 스키마 (활성 세트에 액세스하기위한 뷰 사용) 또는 각각이 동일한 스키마를 가진 두 개의 데이터베이스를 돌고있다. 응용 프로그램은 두 데이터베이스간에 순환합니다.
이전에 이런 일을 한 사람의 제안이 있습니까?
"많은 데이터가 있습니다. 수만 행입니다." - 그것은 많은 데이터가 아닙니다. 100의 수백만 행은 많은 데이터입니다. ... –
수십만 개의 행을 업데이트하는 데 2 분이 채 걸리지 않습니다 ... 인덱스를 확인해야합니다. –
웹 서비스를 통해 진행되는 경우 병목 현상이 발생할 가능성이 큽니다. 그 자체가 SQL이 아닙니다. 나는 세트 기반이 아니라 RBAR이라는 시간 틀을 기반으로한다고 가정합니다. –