SQL Server를 사용한 부하 분산 수행하고 모든 프로그램 액세스에 투명성을 제공하기 위해

Windows Server에서 Microsoft SQL Server로드 균형 조정을 수행하고 모든 프로그램 액세스에 투명성을 제공하기 위해 현재 존재하는 것 이것이 내장되어 있거나 솔루션을 구매해야합니까?

오늘 웹 서버 또는 SQL Server에 대한 다른 데이터베이스 액세스의 관점에서이를 쉽게 수행 할 수있는 솔루션이 있는지 확인하려고합니다.



답변

마법사를 통해 실행할 수있는 MS SQL Server에 대한 “표준”로드 밸런싱 설정이 없습니다.

이것은 데이터베이스 아키텍처 결정이며 서버 수준이 아닌 데이터베이스 수준 에서 구현 됩니다. 기술은 다음과 같습니다.

  • 데이터베이스 서버 확장 / 연합
  • 파티셔닝
  • 보고 요구 사항을 오프로드
  • 아마도 복제

누군가 동의하지 않으면 클러스터링 로드 밸런싱 이라는 존경받는 MS SQL 그림으로 기사를보고 싶습니다 . 위에서 인용 한 기사에는로드 밸런싱에 대한 언급이 없습니다. 예를 들어, Microsoftie (Chas Boyd)는 여기가 없다고 말합니다 .

OP에 대한 나의 질문은 어떤 종류의 부하가 될 것입니까?

데이터베이스 서버는 일반적으로 IO와 메모리에 바인딩되므로 적절한 디스크 구성 (적절한 파일 그룹으로)과 가능한 많은 RAM이 위의 솔루션보다 훨씬 더 많이 사용됩니다.

잊지 마십시오 : SQL Server 2005 / Windows 2003 Enterprise 32 비트는 32GB RAM (26-28GB 데이터 캐시가 있음)으로 이동하며 NTFS 마운트 지점으로 인해 드라이브 문자로 제한되지 않습니다. x64는 …


답변

먼저 할 수 있다면 몇 가지를 정리하고 싶습니다.

SQL Server 클러스터링은 Windows 클러스터링을 기반으로 구축 된 가용성 기술입니다. 하드웨어 수준에서 중복성을 제공하며로드 밸런싱, 즉 처리로드 분배와 같은 기술과 관련이 없습니다.

또한 데이터베이스 미러링 및 로그 전달은 주로 다양한 형태의 가용성을 구현하기위한 기술입니다.

이제 원래 질문에… ..

불행히도 SQL Server에서로드 밸런싱을위한 “즉시”솔루션을 사용할 준비가되어 있지 않습니다.

SQL Server 복제 기술 을 사용 하여 트랜잭션 처리 부하 분산을 고려한 분산 데이터베이스 환경을 구현할 수 있지만 응용 프로그램은 기본 아키텍처를 “인식”해야합니다.

이 접근 방식은로드 밸런싱 된 서비스를 제공하기 위해 주어진 애플리케이션의 개발 및 사용자 정의가 필요합니다.

자세한 내용은 명확하고 이해하기를 바랍니다. 물론 문의 사항이 있으면 언제든지 직접 문의 해주세요.


답변

Cirtrix NetScaler 또는
솔루션에서 Native SQL로드 밸런싱 솔루션을 확인하십시오
.


답변

트랜잭션의 10 % 만 기록되는 쓰기 데이터베이스가 10/90으로 매우 높지 않은 경우 하드웨어로드 밸런서 위에서 SQL 2005 이상에서 피어 투 피어 복제를 사용하여 요구를 충족시킬 수 있습니다. 상자에 아무것도 없습니다.


답변

한 그룹의 DB가있는 AlwaysOn 그룹은 서버 A에서 기본으로 작동하고 나머지 DB 그룹은 서버 B에서 기본으로 작동하여로드 밸런싱 솔루션으로 생각할 수 있습니다. 로그인, 연결된 서버, 운영자, 경고, 데이터베이스 메일 설정과 같은 서버 수준 개체의 수동 동기화를 개발하면됩니다.


답변

SQL Server와 별도로 데이터베이스로드 균형 조정을위한 새로운 기술을 사용할 수 있습니다. 이 소프트웨어 솔루션은 2012 년 또는 2014 년 Always On과 통합되며 자동 읽기 / 쓰기 분할 및 기타로드 밸런싱 기술을 지원합니다. 이 투명한 SQL로드 밸런싱 소프트웨어의 두 가지 예로 SQL Server 용 NetScaler DataStream 또는 ScaleArc를 찾으십시오 .