2008-09-24 2 views

답변

1

오라클 사람들이 오라클이 더 낫다고 알려주고, SQL Server는 SQL Server가 더 좋다고 알려줍니다. 나는 그것들이 꽤 똑같이 확장한다고 말한다. 당신이 더 잘 알고있는 것을 사용하십시오. 당신은 SQL 서버뿐만 아니라 오라클에서도 그 크기의 데이타베이스를 가지고 있습니다.

0

또한 응용 프로그램의 용도에 따라 달라질 수 있습니다. 업데이트가 거의없는 삽입물 만 사용하는 경우 MSSQL이 확장 성과 성능 측면에서 더 우수 할 것이라고 생각합니다. 그러나 많은 업데이트가 있다면 오라클은 더 잘 확장 될 것입니다

4

Oracle 또는 MSSQL의 확장/성능 향상 여부는 질문 15 번입니다. 데이터 모델은 Oracle, MSSQL, Informix 또는 기타 다른 제품을 실행하는지 여부에 관계없이 최초의 make-it 또는 break-it 항목입니다. 데이터 모델 구조, 어떤 종류의 응용 프로그램, DB에 액세스하는 방법 등 개발자가 대형 시스템 등을 목표로 삼을 수있을만큼 충분히 잘 알고있는 플랫폼은 스스로에게 묻어야 할 첫 번째 질문입니다.

21

Oracle과 SQL Server는 모두 공유 디스크 데이터베이스이므로 많은 양의 데이터를 테이블로 검색하는 쿼리의 디스크 대역폭에 의해 제약을받습니다. Teradata, Netezza 또는 DB/2 Parallel Edition과 같은 제품은 데이터베이스가 각 노드에 수평 파티션을 저장하는 'shared nothing' 아키텍처입니다. 이러한 유형의 아키텍처는 각 노드의 로컬 디스크가 SAN의 중앙 병목 현상을 통해 제한되지 않으므로 최상의 병렬 쿼리 성능을 제공합니다.

공유 디스크 시스템 (Oracle과 같은 Real Application Clusters 또는 Clustered SQL Server 설치는 여전히 심각하게 달성 할 수있는 테이블 스캔 성능을 제한 할 수있는 VLDB에. 스트리밍 대역폭을 제한 한 공유 SAN가 필요합니다. 대부분의 데이터웨어 하우스 쿼리를 많은 데이터 블록에서 테이블 또는 범위 스캔을 실행하십시오. 쿼리가 몇 퍼센트 이상의 행에 도달하면 단일 테이블 검색이 최적의 쿼리 계획이되는 경우가 많습니다.

노드의 다중 로컬 직접 연결 디스크 배열은 더 많은 디스크 대역폭.

나는 오라클 DW 가게 (전공 유럽 ​​전화 회사)에게 하루 600GB를로드하는 오라클 기반 데이터웨어 하우스가 있으므로 공유 디스크 아키텍처는 극복 할 수없는 한계를 부과하지 않는 것처럼 보입니다.

MS-SQL과 Oracle 사이에는 몇 가지 차이점이 있습니다. 이럴 오라클은 다음과 같은 이유로 SQL 서버보다 더 VLDB 지원이 :

  • 오라클은 인덱스 구조 고속 데이터웨어 하우스 쿼리에 적합 bitmap indexes에 대한 네이티브 지원을하고있다. 그들은 런 - 랭스 인코딩되고 상대적으로 적은 공간을 사용하기 때문에 본질적으로 I/O 교환을위한 CPU를 수행합니다. 반면에 마이크로 소프트는 Index Intersection이 그다지 느리지는 않다라고 주장한다.

  • 오라클은 SQL Server보다 나은 테이블 파티셔닝 기능을 제공합니다. IIRC SQL Server 2005의 테이블 분할은 단일 열에서만 수행 할 수 있습니다.

  • 한 일부 quite respectably large 시스템에서 SQL 서버를 실행할 수 있지만, 오라클, SQL Server가 아닌 somewhat larger hardware에서 실행할 수 있습니다
  • .

  • 오라클은 관계형 쿼리 최적화를 위해 Materialized viewsQuery rewrite에 대한 성숙한 지원을 제공합니다. SQL2005는 일부 쿼리 재 작성 기능을 가지고 있지만 문서화가 잘되어 있지 않으며 프로덕션 시스템에서 사용되는 것을 보지 못했습니다. 그러나 Microsoft에서는 실제로 공유되지 않는 구성을 지원하는 Analysis Services을 사용할 것을 제안합니다.

당신이 진정으로 성경 데이터 볼륨이 있고 오라클과 당신은 아마 오라클과 SQL 서버 사이에 약간의 실질적인 차이를 볼 것 같은 테라 데이타와 같은 공유 아무것도 아키텍처 사이에서 선택하지 않는. 특히 SQL2005가 소개 된 이래 SQL Server의 파티션 기능이 충분하다고 간주되어 plentyexamplesmulti-terabyte 시스템에 성공적으로 구현되었습니다.

+0

아주 좋은 요약! –

+0

내가 SAN에서 본 주요 probl; em은 그들을 구성하는 사람들입니다. 그들은 전용 스핀들 및 다중 컨트롤러의 필요성을 이해하지 못합니다. Oracle Optimized Warehouse 사양을 보면 초당 20GB를 초과하는 여러 가지가 표시됩니다. 그것은 할 수 있습니다. –

+0

SAN은 여전히 ​​아무리 큰 단일 리소스입니다. 비공유 시스템에서는 각 노드에 로컬 I/O를 사용할 수 있으므로 스토리지 및 대역폭을 노드 수와 함께 확장 할 수 있습니다. – ConcernedOfTunbridgeWells

3

오라클 DBA로 근무했지만 (몇 년 전부터) 공식적인 DBA는 아니지만 지금은 광범위하게 MSSQL을 사용합니다. 내 조언은 대다수의 경우 모두 당신이 그들에게 던질 수있는 모든 것을 만날 것이고 당신의 성능 문제는 제품의 기본 특성보다 데이터베이스 디자인과 배치에 훨씬 더 의존 할 것이고, 두 경우 모두 절대적으로 그리고 완전히입니다 견고한 (MSSQL은 MS가 많은 사람들의 의견을 반영하는 최고의 제품이므로 MS의 일반적인 인식을 저지시키지 마십시오).

내 자신의 시스템이 매우 크고 진정한 엔터프라이즈 레벨 (엄청난 수의 사용자, 여러 개의 9 가동 시간 등)이되지 않는 한, 나는 오라클이 DBS 지식의 높은 수준을 요구하기 때문에 유지 보수 및 유지 보수를 MSSQL보다 더 효율적으로 수행 할 수 있습니다. 오라클은 초기 배포와 DBA를 고용하는 데 드는 비용이 더 비쌉니다. OTOH 엔터프라이즈 시스템을 살펴 본다면 오라클이 우위를 차지할 것입니다. 여유가 있다면 그다지 도움이되지 않을 것입니다.

0

두 플랫폼 모두에서 동일한 데이터베이스 (스키마, 데이터 등)를 구현 한 사람이 나올 때까지 객관적인 대답을 얻을 수 있을지 의심 스럽습니다.

두 데이터베이스에서 수백만 명의 행복한 사용자를 찾을 수 있다는 점을 감안할 때 어느 쪽이든 말할 만하다고 말할 수는 없습니다. (나는 Sql 2005의 300 TB 그게 꽤 반응이있는 것 같았습니다)

3

저는 deisgn이 더 중요하다고 말하는 사람들과 동의해야합니다.

저는 여러 가지 다른 맛의 슈퍼 패스트 및 초 저속 데이터베이스로 작업했습니다 (오라클 데이터베이스가 최악 이었지만 오라클의 잘못이 아닙니다). 데이터베이스 설계 및 인덱싱을 결정하고 파티션을 나누어 쿼리하는 방법은 제품이 MSSQL Server 또는 Oracle에서 제공 한 것보다 확장성에 더 많은 관련이 있습니다.

terrabyte 데이터베이스 환경에서 더 많은 오라클 dbas를 쉽게 찾을 수 있다고 생각합니다. (대용량 데이터베이스 실행은 특정 SQL 구문을 알고있는 것과 같은 전문 분야이지만) 지역에 따라 다를 수 있습니다.

2

OBSCENE 데이터베이스 크기 (1TB가 넘고 500TB가 엄청 크다)에 도달하면 운영 지원이 요구 사항 목록에 올라와야합니다. 그 많은 데이터로, 당신은 페니 시스템 사양을 곤란하게하지 않습니다.

시스템의 크기를 어떻게 백업 하시겠습니까? OS를 업그레이드하고 데이터베이스를 패치 하시겠습니까? 확장 성 및 안정성에 대한 우려가 있습니까?

저는 오라클과 MS SQL 모두의 경험이 있으며, 실제로 큰 시스템 (사용자, 데이터 또는 중요도)에 대해서는 오라클이 운영 지원 및 데이터 관리를 위해보다 잘 설계되었습니다.

모든 사람이 여러 인스턴스에서 여러 데이터베이스로 분할 된 1TB + SQL Server 데이터베이스를 백업하고 복원하려고 시도했습니다. 트랜잭션 로그 파일은 각 데이터베이스에서 모든 곳에서 스팟 아웃되고 모든 데이터를 동기화 상태로 유지하려고합니까? 좋은 결과 내길 바랄 게.

오라클에서는 하나의 REDO 로그 세트 (1)와 하나의 아카이브 로그 세트 (2)를 사용하여 하나의 데이터베이스가 있으므로 ("비공개"접근 방식에 동의하지 않습니다) 추가 하드웨어를 추가하면됩니다 응용 프로그램 및 데이터를 변경 (즉, 다시 분할)하지 않고 노드.

(1) 리두 로그는 물론 미러링됩니다. (2) 아카이브 로그는 물론 여러 위치에 저장됩니다.

+0

Teradata를 사용하는 데이터베이스는 여전히 논리적으로 하나 있습니다. Netezza는 그보다 조금 바보입니다. 실제로 수정 된 PostgreSQL 서버를 실행하는 Linux 박스로 가득 찬 랙에 그치지 않습니다. 심지어 개별적으로로드해야합니다. – ConcernedOfTunbridgeWells

5

500TB로 말하면, 그것은 (a) 크고 (b) 특수화 된 것입니다. 기존 기술 세트, 기존 기술 스택과의 통합, 예상되는 사용법, 백업/복구/DR 요구 사항을 살펴보기 위해 적절한 전문가와 함께 컨설팅 회사에 갈 것입니다 ...

즉, 일종의 프로젝트 stackoverflow에서 의견을 기반으로 향하고있을 거라고. 공격 의도는 없지만, 고려해야 할 요소가 너무 많습니다. 많은 부분이 비즈니스 기밀 일 것입니다.

0

오라클은 고품질 사진 필름 카메라처럼 최고의 사진 작가가 가장 적합한 사진을 찍고 MS SQL은 자동 디지털 카메라처럼 사용해야합니다. 예전에는 모든 전문 사진 작가가 필름 카메라를 사용하고 이제는 얼마나 많은 전문 사진 작가가 자동 디지털 카메라를 사용하는지 생각합니다.

+1

그 대답은 기술적 인 사실에 근거한 것이 아니라 의견과 비슷합니다. – david

관련 문제