SQL Server와 Oracle 중 확장성 측면에서 더 나은 것은 무엇입니까?
MS SQL 서버와 Oracle 중 확장성 측면에서 더 나은 것은 무엇입니까?
예를 들어 데이터 크기가 500TB에 도달하는 경우 등입니다.
Oracle과 SQL Server는 모두 공유 Disk 데이터베이스이므로 대용량 데이터를 테이블로 검색하는 쿼리에 대해 Disk 대역폭의 제약을 받습니다.Teradata, Neteza 또는 DB/2 Parallel Edition과 같은 제품은 데이터베이스가 개별 노드에 수평 파티션을 저장하는 '공유 무(無)' 아키텍처입니다.이러한 아키텍처 유형은 각 노드의 로컬 Disk가 SAN의 중앙 병목 현상을 통해 제한되지 않으므로 최상의 병렬 쿼리 성능을 제공합니다.
공유 Disk 시스템(예: 오라클 Real Application Clusters 또는 Clustered SQL Server 설치)은 여전히 공유 SAN이 필요하므로 스트리밍을 위한 대역폭이 제한됩니다.VLDB에서는 테이블 검색 성능을 심각하게 제한할 수 있습니다.대부분의 데이터 웨어하우스 쿼리는 대규모 데이터 블록에 걸쳐 테이블 또는 범위 검색을 실행합니다.쿼리가 몇 퍼센트 이상의 행에 도달할 경우 단일 테이블 스캔이 최적의 쿼리 계획인 경우가 많습니다.
노드에 여러 개의 로컬 직접 연결 디스크 어레이를 사용하면 더 많은 디스크 대역폭을 얻을 수 있습니다.
Oracle DW Shop(유럽의 주요 통신업체)에서 하루에 600GB를 로드하는 Oracle 기반 데이터 웨어하우스를 운영하고 있음을 알고 있으므로 공유 Disk 아키텍처가 마운트 불가능한 제한을 초래하지는 않는 것으로 보입니다.
MS-SQL과 Oracle 사이에는 몇 가지 차이점이 있습니다.IMHO Oracle은 다음과 같은 이유로 SQL Server보다 더 나은 VLDB 지원을 제공합니다.
Oracle은 고속 데이터 웨어하우스 쿼리에 적합한 인덱스 구조인 비트맵 인덱스를 기본적으로 지원합니다.이들은 실행 길이 인코딩이고 상대적으로 적은 공간을 사용하기 때문에 근본적으로 I/O 트레이드오프를 위한 CPU를 수행합니다.반면, 마이크로소프트는 인덱스 교차점이 눈에 띄게 느리지 않다고 주장합니다.
Oracle은 SQL Server보다 테이블 파티셔닝 기능이 우수합니다.IIRC SQL Server 2005의 테이블 파티셔닝은 단일 열에서만 수행할 수 있습니다.
Oracle은 SQL Server보다 다소 큰 하드웨어에서 실행할 수 있지만 상당히 큰 일부 시스템에서는 SQL Server를 실행할 수 있습니다.
Oracle은 Materialized views와 Query rewrite를 보다 성숙하게 지원하여 관계형 쿼리를 최적화합니다.SQL2005는 쿼리 재작성 기능이 있지만 문서화가 잘 되어 있지 않으며 프로덕션 시스템에서 사용되는 것을 본 적이 없습니다.그러나 Microsoft에서는 실제로 공유 아무것도 구성을 지원하지 않는 Analysis Services를 사용할 것을 제안합니다.
실제 데이터 볼륨을 가지고 있고 Oracle과 Teradata와 같은 공유 아무것도 없는 아키텍처 중에서 선택하지 않는 한 Oracle과 SQL Server 간에 실질적인 차이가 거의 없을 것입니다.특히 SQL 2005가 도입된 이후로 SQL Server의 파티셔닝 기능은 충분히 우수한 것으로 평가되고 있으며 이를 기반으로 성공적으로 구현된 멀티 테라바이트 시스템의 예도 많습니다.
500TB를 말할 때는 크기가 크고 전문화된 것입니다.적절한 전문가가 있는 컨설팅 회사에 가서 기존 기술 세트, 기존 기술 스택과의 통합, 예상 사용량, 백업/복구/DR 요구사항 등을 살펴보겠습니다.
간단히 말해, 스택 오버플로우의 의견을 바탕으로 제가 진행할 프로젝트는 아닙니다.의도된 위법 행위는 아니지만, 고려해야 할 요소가 너무 많고, 그 중 많은 부분이 비즈니스 기밀 사항이 될 것입니다.
Oracle과 MSSQL 중 어느 쪽의 확장/성능이 더 우수할 것인지는 질문 #15입니다.데이터 모델은 Oracle, MSSQL, Informix 등을 실행하는 경우에 관계없이 최초의 Make-it 또는 Break-it 항목입니다.데이터 모델 구조, 어떤 종류의 애플리케이션, DB에 액세스하는 방법, 개발자들이 대형 시스템을 대상으로 할 만큼 잘 알고 있는 플랫폼 등이 여러분 스스로에게 첫 번째 질문입니다.
저는 오라클에서 DBA로 일한 적이 있지만(몇 년 전부터), 정식 DBA로는 아니지만 MSSQL을 광범위하게 사용하고 있습니다.제 조언은 대부분의 경우 두 가지 모두 사용자가 선택할 수 있는 모든 것을 충족시킬 것이며 성능 문제는 제품의 기본 특성보다 데이터베이스 설계 및 배포에 훨씬 더 의존적일 것이라는 것입니다.두 경우 모두 절대적이고 완전하게 견고합니다(MSSQL은 많은 사람들의 의견에서 MS가 만드는 최고의 제품이므로 MS에 대한 일반적인 인식으로 인해 눈이 멀어지지 않도록 해야 합니다).
제 경험상 Oracle은 MSSQL보다 더 높은 수준의 DBA 지식과 유지보수를 필요로 하는 경향이 있기 때문에 시스템 규모가 매우 크고 진정한 엔터프라이즈급(대규모 사용자, 여러 대의 가동 시간 등)이 되지 않는 한 MSSQL을 선호합니다.또한 Oracle은 초기 구축 비용과 DBA 고용 비용 모두에서 비용이 더 많이 드는 경향이 있습니다.엔터프라이즈 시스템을 고려할 때 OTOH는 Oracle이 우위를 점할 것이며, 이는 합리적인 비용을 지불할 수 있다면 그들의 지원은 타의 추종을 불허하기 때문이기도 합니다.
저는 design이 더 중요하다고 말한 사람들의 의견에 동의해야 합니다.
저는 다양한 맛의 초고속 및 초고속 데이터베이스를 사용해 왔습니다. (가장 나쁜 것은 오라클 데이터베이스이지만, 오라클의 잘못은 아닙니다.)데이터베이스의 설계, 데이터베이스를 인덱싱하고 파티션을 분할하고 쿼리하는 방법은 제품이 MSSQL 서버인지 Oracle인지 여부보다 확장성과 훨씬 더 많은 관련이 있습니다.
테라바이트급 데이터베이스 경험을 갖춘 Oracle 데이터베이스를 더 쉽게 찾을 수 있을 것으로 생각됩니다(대규모 데이터베이스 실행은 SQL의 특정 기능을 알고 있는 것과 마찬가지로 전문 사항임). 하지만 이는 해당 지역에 따라 달라질 수도 있습니다.
오라클 사람들은 오라클이 더 낫다고 말하고, sql 서버 사람들은 sql 서버가 더 낫다고 말할 것입니다.그들의 규모는 거의 비슷하다고 봅니다.당신이 더 잘 아는 것을 사용하세요.SQL 서버 뿐만 아니라 오라클에도 그 크기의 데이터베이스가 있습니다.
NARDY 데이터베이스 크기(1TB 이상이면 충분히 크고 500개 이상이면 가능)를 확인할 수 있습니다.TB는 매우 거대합니다. 그러면 운영 지원이 요구 사항 목록에서 매우 높은 순위에 올라야 합니다.그만큼 많은 데이터를 가지고 시스템 사양을 만지작거릴 필요가 없습니다.
그 정도 크기의 시스템을 백업하려면 어떻게 해야 합니까?OS를 업그레이드하고 데이터베이스 패치를 적용하시겠습니까?확장성과 신뢰성이 고민입니까?
저는 Oracle과 MS SQL을 모두 사용해 본 경험이 있으며, 매우 큰 시스템(사용자, 데이터 또는 중요성)의 경우 Oracle이 운영 지원 및 데이터 관리에 더 적합하도록 설계되었습니다.
여러 인스턴스의 여러 데이터베이스에 분산된 1TB 이상 SQL Server 데이터베이스를 백업 및 복원하려고 했을 때 트랜잭션 로그 파일이 각 데이터베이스에 의해 곳곳에 흩어져 있고 모든 데이터베이스가 동기화 상태를 유지하려고 했습니까?행운을 빌어요.
Oracle의 경우 REDO 로그 세트(1개)와 아카이브 로그 세트(2개)가 하나의 데이터베이스(1개)를 가지고 있으므로 애플리케이션 및 데이터를 변경(재파티셔닝)하지 않고 하드웨어 노드만 추가할 수 있습니다.
(1) redo 로그는 당연히 미러링됩니다. (2) 아카이브 로그는 물론 여러 위치에 저장됩니다.
또한 응용프로그램의 용도에 따라 달라집니다.업데이트가 거의 없는 Inserts만 사용한다면 MSSQL이 더 확장성이 있고 성능 면에서도 더 좋을 것으로 생각합니다.하지만 업데이트가 많으면 Oracle의 스케일업 성능이 향상됩니다.
두 플랫폼에서 동일한 데이터베이스(도식, 데이터 등)를 구현한 사람을 발견하기 전까지는 해당 질문에 대해 객관적인 답변을 얻을 수 있을지 매우 의문입니다.
하지만 두 데이터베이스 모두에서 수백만 명의 행복한 사용자를 찾을 수 있다는 사실을 감안할 때, 어느 쪽도 확장성이 뛰어나다고 해도 과언이 아닙니다(Sql 2005의 300TB 구현이 매우 반응이 좋아 보이는 것을 본 적이 있습니다).
Oracle은 고품질 수동 필름 카메라와 같습니다. 최고의 사진을 찍기 위해 최고의 사진작가가 필요하고 MS SQL은 자동 디지털 카메라와 같습니다.옛날에는 물론 모든 전문 사진작가들이 필름 카메라를 사용할 것이고, 이제는 얼마나 많은 전문 사진작가들이 자동 디지털 카메라를 사용하는지 생각해 보세요.
언급URL : https://stackoverflow.com/questions/126188/sql-server-and-oracle-which-one-is-better-in-terms-of-scalability
'source' 카테고리의 다른 글
| mysql에서 외부 키의 이름을 변경하려면 어떻게 해야 합니까? (0) | 2023.09.17 |
|---|---|
| mysql_connect(): 헤더 및 클라이언트 라이브러리 마이너 버전 불일치 라이브러리:100005 (0) | 2023.09.17 |
| 폴리곤 PHP에서 점 찾기 (0) | 2023.09.17 |
| UINavigationBar [iOS 7]에서 왼쪽, 오른쪽 UIBarButton 항목의 빈 공간을 편집하는 방법 (0) | 2023.09.17 |
| 현재 날짜보다 30일 전에 얻는 방법은? (0) | 2023.09.17 |