Oracle RAC의 기능과 동등한 SQL Server? [닫은]


11

나는 인터넷 검색을했는데 몇 년 전에보다 최근 에이 질문에 대한 답변을 찾을 수 없었으므로 물어볼 것이라고 생각했습니다. Oracle의 RAC 기능은 다운 타임없이 확장 및 고 가용성뿐만 아니라 읽기 및 쓰기 트랜잭션 모두에 대한로드 밸런싱을 제공합니다 (적어도 이해할 수 있듯이 RAC를 사용하는 첫 번째 데이터베이스를 배포하려고합니다) 어떻게되는지 보자).

동등한 기능을 제공하는 SQL Server 기능 세트 (또는 위에 설치할 수있는 타사 구성 요소)가 있습니까? 우리는 페일 오버 이벤트로 인해 약 20-30 초의 SQL 다운 타임이 발생하는 Windows 클러스터링을 항상 사용했지만 항상 견딜 수는 있지만 이상적이지는 않았습니다. 이제 SQL 2012의 AlwaysOn을 사용하면 SQL Server는 약 15 초로 축소하고 읽기 전용 보조 데이터베이스의 개념을 추가하지만 여전히 단일 트랜잭션 포인트를 통해 쓰기 트랜잭션이 숨겨져 야합니다 (많은 트랜잭션이 있으므로 읽기만하더라도 여전히로드 밸런싱이 아님), 노드 장애 또는 패치가 필요한 경우 여전히 다운 타임이 있습니다.

나는 그것이 더 호기심이라고 생각합니다. 이것이 SQL Server가 Oracle보다 뒤에있는 유일한 영역이라고 생각합니다 (적어도 개인적으로 사용 된 기능 중 하나). Microsoft의 동등한 기능이 추가 될 때까지 기다리는 동안 SQL 2014/2015에서 그 격차를 해소하고 자체 SQL Server 배포를 향상시킬 수있는 옵션이 있는지 확인하고 싶습니까?


1
SQL Server가 실제로 Oracle보다 훨씬 떨어지는 지 확신하지 못합니다. 그렇습니다. SQL Server에는없는 기능이 있지만 몇 달 동안 실행 한 후에이 스레드를 다시 방문하여 모든 장미인지 아닌지 알려주십시오. :-) 나는 그것에 대해 경험이 없지만 항상 그것에 대해 좋은 말을하지 않은 동료들.
Aaron Bertrand

2
또한 향후 SQL Server 버전의 기능에 대한 정확한 추측을 기대하지 않기를 바랍니다. 계획 단계에서 이러한 기능이 있는지 여부를 아는 사람들은 말할 수 없습니다. 당신에게도 말하지 못하는 사람들. :-)
Aaron Bertrand

1
@AaronBertrand : 충분히 공평하지만, 나는 그것이 전혀 정확하지 않다는 것을 알기 때문에 어떤 기능 추측도 기대하지 않습니다. AlwaysOn은 개선 사항이지만 (일부 경우에) RAC의 기능을보다 밀접하게 복제하고 그 격차를 좁히기를 희망합니다. MSSQL은 제 생각에 오라클보다 여러 가지 일을 더 잘하지만 이것은 오라클이 배턴을 보유하고있는 한 분야라고 생각합니다.
SqlRyan

1
@rwmnau 다시 한 번 RAC를 구현하고 몇 달 동안 사용하기 전까지 RAC에 대한 찬사를 보냅니다. :-) 당신이 옳을지도 모른다; 그것은 약속하고 당신을 위해 완벽하게 작동하는 모든 것일 수 있습니다. 그러나 상자의 반짝이는 반짝이로 인해 대나무가 될 수 있습니다. :-)
Aaron Bertrand

2
@AaronBertrand : 하, 요점을 찍은. 네트워크 대기 시간에 너무 민감하고 노드 등을 제거하는 것이 빠르다는 등 여러 가지 비판을 들었습니다. 따라서 롤아웃이 끝날 때까지 완전히 판단하여 직접 사용했습니다. . SQL Server에는 많은 HA 옵션이 있지만 "다중 쓰기 가능한 프런트 엔드"공간으로 이동하지 않는 것 같습니다. 어쩌면 내가 이유를 발견하려고 할 것이다 :)
SqlRyan

답변:


8

아니요, SQL Server의 어떤 것도 상자 에서 똑같은 것을 줄 수 없습니다 .

현재 여러 노드에서 동시 쓰기를 허용하는 유일한 SQL Server 기술은 피어 투 피어 복제 입니다. 전체 시스템이 단일 노드의 쓰기 용량을 갖도록하는 방식으로 작동하기 때문에 "쓰기 스케일 아웃"이라고 말하지 않았습니다. 해당 페이지의 소개 단락은 "스케일 아웃"이라고 말하지 않고 "스케일 아웃"이라는 용어를 포함하도록 신중하게 표현되었습니다. 마케팅에 대한 예.

에서 내가 읽은 어떤 오라클 RAC는 점에서 동일하다. 기능적으로,이 구성에서 SQL Server에서 누락 된 유일한 것은로드 밸런싱 솔루션입니다.로드 밸런싱 솔루션은 다음과 같은 경우에 이점 (원하는 방식으로 구현할 수 있음)과 단점 (상자에 없거나 지원되지 않음)입니다. 경쟁 제품과 비교.

반대로, 오라클 RAC는 당신에게 SQL Server와 같은 일을 포기하지 않는 상자 밖으로 중 하나. 예를 들어 실시간 네트워크 대기 시간으로 인해 서로 100km 이내에있는 노드로 RAC를 구현하는 것이 좋지만 Peer-to-Peer 복제에는 그러한 제한이 없습니다. (하나의 솔루션이 다른 솔루션보다 낫다는 말은 아닙니다. 단지 솔루션이 다르다는 것을 지적하고 있습니다. 비즈니스는 특정 요구에 가장 적합한 솔루션을 선택해야합니다.)


1
100km의 주된 이유는 Oracle이 여러 노드에서 ACID를 준수하기 때문에 고속 상호 연결을 통해 서로 통신해야하며 빛의 속도가 문제가되기 때문입니다. 비슷한 구성의 SQL Server는 변경 사항을 전파하며 두 노드가 단일 데이터베이스가 아닌 ACID가 아닌 특정 시간 내에 동일한 행을 업데이트하면 행 수준 충돌을 일으킬 수 있습니다. RAC 인스턴스 집합은 단일 데이터베이스이며 이는 구별입니다.
Philᵀᴹ

@ 필 : 그렇습니다. 제 요점은 다릅니다.
Jon Seigel

6

저는 SQL 2000-2012, Oracle 11g 및 Oracle 11g RAC를 모두 지원하는 DBA입니다.

SQL 2012의 IMO, Always On 가용성 그룹은 훨씬 적은 비용으로 RAC의 가용성과 확장성에 매우 가깝고 복잡합니다. 미러에 대해 쿼리하여 읽기를 확장 할 수 있지만 모든 DML을 기본 서버로 보내려고합니다 (SQL Server 미러는 업데이트 할 수 없음). 기본 SQL Server가 충돌하면 미러 중 하나에 대한 장애 조치가 거의 즉각적입니다. 장애가 발생한 노드의 커밋되지 않은 트랜잭션이 남아있는 노드에 의해 롤백 될 때 노드가 충돌하면 RAC도 비슷한 일시 중지를 경험합니다.

RAC에 비해 SQL 2012 AAAG의 가장 큰 장점 (IMHO)은 공유 아키텍처가 아니라는 것입니다. RAC는 스토리지를 공유합니다. 실패하면 전체 클러스터가 다운 된 것입니다. 그것은 모두가 잊어 버리는 것처럼 보이는 RAC의 거대한 SPOF입니다. 이를 방지하려면 대기 서버를 설정해야합니다. 이것이 RAC가 되길 원한다면 비용은 더욱 복잡해집니다.


1
RAC의 SPOF에 대한 좋은 지적.
StanleyJohns

5

귀하의 질문에 대한 대답은 아니오입니다. SQL Server에는 동등한 기능이 없습니다. SQL Server에는 원하는 종류의 내결함성을 제공하는 측면이 있지만 ( DB 미러링 및 미러 인식 응용 프로그램을 사용하는 경우 SQL Server 2005 와는 달리) Oracle RAC에는 1 : 1이 없습니다.


1

AlwaysOn의 더 나은 비교는 Oracle의 Data Guard 기능입니다. 액티브-패시브 클러스터링. (예, 대기에서 읽을 수는 있지만 읽기 전용이므로 여전히 하나의 노드 만 활성화됩니다 ")

Oracle RAC는 완전히 다른 동물이며 액티브-액티브 클러스터링입니다. Microsoft가이를 구현하려는 경우 아무런 움직임도 보지 못했습니다.


-2

AlwaysOn이 포함 된 SQL Server 2012/2014에는 Oracle RAC와 밀접한 관련이있는 많은 기능이 추가되어 있으며 경우에 따라 개선 될 수도 있습니다. (RAC를 사용하면 Oracle 데이터 서버, 웹 로직 및 JDBC를 사용하고 단일 데이터 센터에서 작동해야하며 앱은 하나의 RAC 클러스터에만 연결할 수 있습니다. 공유 스토리지는 RAC가 클라우드에서 작동하지 않음을 의미합니다) .

AlwaysOn을 사용하면 읽기 전용 보조 장치 (4 개 중 12 개, 14 개 중 8 개) 및 자동 장애 조치가 지원됩니다. 몇 가지 문제가 있습니다. AlwaysOn은로드 밸런싱을 지원하지 않습니다. 스크립트를 작성하지 않으면 항상 목록에 첫 번째 서버가 그려집니다. 장애 조치도 앱에 영향을줍니다. 투명하지 않으므로 앱을 다시 시작해야 할 수도 있습니다.

완전한 공개-나는 AlwaysOn을 강화하는 소프트웨어를 만드는 회사에서 일합니다. 우리의 소프트웨어 분산 데이터베이스로드 전면 SQL 서버 종료 -이 응용 프로그램 대신 / 쓰기 분할 읽어 않습니다, 응답 시간을 기반으로 부하가 스팬 데이터 센터, 큐 인바운드 쓰기가 / 트랜잭션 장애 조치 중 그 응용 프로그램 오류가 표시되지 않도록하는 것이 균형 않습니다 . Microsoft, Dell, Quicken Loans 및 기타 기업 이 ScaleArc 소프트웨어를 사용하여 SQL Server AlwaysOn을 강화하고 앱 변경없이 RAC와 유사한 기능을 얻는 방법을 확인하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.