중화사전망 - 서예자전 - Sqlserver 와 Oracle 의 주요 차이점은 무엇입니까?
Sqlserver 와 Oracle 의 주요 차이점은 무엇입니까?
2.Oracle 은 DBA 에게 실제 상황에 따라 매개변수를 조정하여 애플리케이션 성능을 최적화할 수 있는 유연성을 제공합니다. 이는 입문난이라는 단점이 있습니다. 반면 Sql server 는 사용하기 쉽습니다.
아키텍처
Oracle 의 파일 아키텍처는 다음과 같습니다.
데이터 파일. 실제 데이터
로그 파일. 원격 데이터 객체
제어 파일. 세포 독성 t 림프구 (cytotoxic lymphocyte 의 약자)
매개변수 파일. 오라
Sql server 의 파일 아키텍처는 다음과 같습니다.
。 데이터 사전
。 데이터 파일
。 로그 파일
Www.2cto.com
Oracle 스토리지 구조:
Oracle 에는 두 개의 block 매개 변수인 pctfree (채우기 계수) 와 pctused (재사용 계수) 가 있습니다. block 을 제어하여 block 자체가 있는 시기와 새 정보 (block 저장 상황에 대한 분석 메커니즘) 를 수용할 공간이 부족한 시점을 결정할 수 있습니다.
이렇게 하면 데이터 행 연결 및 행 마이그레이션 가능성이 줄어듭니다. 블록 크기 (OLTP 및 DSS 블록) 를 설정할 수 있습니다
Oracle 에서 연속 블록은 분할 영역으로 그룹화되고 분할 영역은 동적으로 할당될 수 있으므로 공간 할당 횟수를 줄일 수 있습니다 (분할 영역 할당은 동일하거나 자체 증가할 수 있음).
Oraclel 에서 테이블은 여러 영역으로 구성될 수 있으며, 각 세그먼트는 할당할 테이블스페이스를 지정합니다 (세그먼트 유형은 데이터 세그먼트, 인덱스 세그먼트, 롤백 세그먼트, 임시 세그먼트, 현금 세그먼트). 또한 Oracle 은 사용자 정의 비즈니스 규칙, 조건 또는 사양에 따라 테이블을 파티셔닝하고 디스크의 데이터를 물리적으로 분리할 수 있습니다.
이로 인해 디스크 경합 가능성이 크게 줄어듭니다.
Oracle 에는 7 개의 기본 테이블스페이스가 있습니다.
시스템 테이블스페이스 (데이터 딕셔너리 및 데이터 관리 자체에 필요한 정보 저장)
Rbs 롤백 테이블스페이스
Temp 임시 테이블스페이스
도구대화형 테이블스페이스
사용자 기본 테이블스페이스
Indx 인덱스 테이블 영역
Dbsys fu 데이터 테이블 공간
서로 다른 데이터는 서로 다른 테이블스페이스에 배치됩니다 (데이터 사전은 실제 데이터와 별도로 저장됨). Oracle 에서 기본 테이블 (스토리지 시스템 매개 변수 정보) 은 암호화되어 아무도 액세스할 수 없습니다. 사용자의 보기가능 보기를 통해서만 볼 수 있습니다.
Sql server 스토리지 구조
최소 할당 단위로 페이지당 8k (제어 불능, 페이지 저장이 부족한 분석 메커니즘) 로 8 개의 연속 페이지를 하나의' 확장' 으로 결합하여 할당 시 소모되는 자원을 더욱 줄일 수 있습니다. (할당이 유연하지 않음). Sql server 에서 데이터는 테이블에 저장되고 테이블은 데이터베이스에 저장됩니다.
Sql server 에는 www.2cto.com 이라는 다섯 가지 기본 데이터베이스가 있습니다.
주 (데이터 사전)
모드 (템플릿 저장)
임시 데이터베이스
Msdb (일정 정보 및 로그 정보 저장)
Pubs (샘플 데이터베이스)
실제 데이터는 데이터 사전에 저장됩니다. 시스템 매개변수 정보에는 보안 메커니즘이 없습니다.
Oracle 로그인 관리:
시스템/관리자 (초기 계정)
시스템/변경 설치 열기
설치/Oracle (설치 계정)
Scott/tiger (테스트용 샘플 데이터베이스)
Oracle 에서 기본적으로 세 명의 시스템 사용자만 있고 Oracle 은 사용자를 통해 로그인합니다.
Sql server 로그인 관리:
Sql server 인증
Windows 인증
Sql server 에서 데이터베이스는 windows 사용자 계정 또는 SQL server 인증을 통해 연결됩니다.
Sql 은 언어가 아니라 Oracle 데이터베이스로 지시어를 전송하는 방법입니다.
Sql 의 Null 은 문자나 숫자가 아니라 기본 데이터입니다. Oracle 은 이 문제를 해결하기 위한 nvl 기능을 제공합니다.
Oracle 의 문자열 연결은 string1‴ string2 이고 SQL 은 string 1+string2 입니다.
집합 연산: SQL 에는 union (통합 연산) 만 있고 Oracle 에는 MINUS (차이 연산), interect (교차 연산) 및 union (통합 연산) 이 포함되어 있습니다.
인덱스: SQL 인덱스는 전체 텍스트 인덱스를 포함한 클러스터된 인덱스와 비클러스터된 인덱스로 구분됩니다.
Oracle 인덱스는 b+ 트리 인덱스, 비트맵 인덱스, 함수 인덱스, 역방향 인덱스,
기본 키 인덱스, 해시 인덱스, 로컬 인덱스 Www.2cto.com
Oracle 의 데이터 유형은 기본 데이터 유형, 파생 유형, 열 객체 유형, 테이블 객체 유형, 구조 유형 등 더 복잡합니다.
Sql 의 데이터는 비교적 간단하며 몇 가지 간단한 기본 데이터 유형만 트랜잭션 작업을 제공할 수 없습니다.
Sql 에서 트랜잭션이 처음부터 끝까지 잘못되면 시작 전으로 롤백됩니다.
Oracle 에서는 트랜잭션 기능화 및 정확한 위치 지정 오류, 저장점은 저장점 표시, 롤백은 롤백 오류의 저장점을 표시하는 데 사용됩니다.
Sql 에는 단 하나의 루프만 있으며, 사용하기에 유연하지 않다. Oracle 에는 많은 루프 (loop loop, while loop, for loop) 가 있습니다.
Sql 에서 커서 사용은 복잡하므로 여러 커서를 동시에 열 수 없습니다. 글로벌 변수 @ @ @ fast _ statues 가 하나뿐이고 커서를 선언하는 것이 번거롭고 커서를 닫을 때 메모리를 비우지 않기 때문입니다. Oracle 의 커서는 모두 통일된 단일 커서이며 속도가 향상되어 다중 사용자가 비동기적으로 읽을 수 있고 선언도 간단합니다. 커서 이름 select 의 문 하나만 선언하면 됩니다.
내결함성 메커니즘: SQL 의 오류 메커니즘은 복잡하며 오류 설명을 제공하지 않습니다. Oracle 에는 미리 정의된 오류, 미리 정의되지 않은 오류, 사용자 정의 오류 등 세 가지 유형의 내결함성이 있습니다. 사용자 정의 오류 중 SQL 에는 없는 sqlcode 오류 번호와 sqlerrm 오류 설명의 두 가지가 있습니다.
파일 스키마: SQL 포함. 마스터 데이터 파일입니다. Ndf (확장 파일, 여러 파일을 가질 수 있음) ,
。 Ldf (온라인 redo 로그 데이터에 저장되는 여러 로그 파일이 있을 수 있음). 로그 파일의 단점 중 하나는 로그 파일이 작고 정교하면 SQL 이 자동으로 작동을 중지하고 수동 개입을 기다리므로 로그를 자주 모니터링하여 시스템의 안정적인 작동을 보장해야 한다는 것입니다.) 갑골문은 다음을 포함한다. 마스터 데이터 파일입니다. Rdo (재해 데이터 백업용 로그 파일). Ctl (데이터 딕셔너리의 논리적 테이블스페이스와 컴퓨터의 리두 로그 파일에 데이터베이스의 물리적 파일을 매핑하여 데이터 일관성을 보장하는 제어 파일) 및. Ora (매개변수 파일) 입니다.
Sql 은 로컬 데이터베이스만 백업할 수 있고, 온라인일 수 없으며, 백업 압축률이 낮고, 설치 공간이 많습니다. Oracle 은 온라인 백업 기능과 전용 백업 시스템을 갖춘 7 가지 백업 메커니즘을 제공합니다.
기본적으로 Oracle 에는 세 개의 로그가 있습니다. 먼저 로고노에 쓰겠습니다. 1, 로그 2 번, 로그 3 번 작성. 로그가 가득 차면 Oracle 은 로그 번호의 내용을 자동으로 준비합니다. 1 을 선택한 다음 새 로그 정보를 비우고 기록합니다. 그리고 Oracle 로그에는 재사용 기능이 있습니다. 로그에 대해 여러 개의 미러를 생성하고 동일한 로그 정보를 여러 로그 파일에 동시에 기록하여 디스크 손상을 방지할 수 있습니다.
Sql server 는 데이터베이스당 하나의 로그 파일만 할당할 수 있습니다. 또한 로그가 가득 차면 로그가 작동을 중지하고 수동 개입을 기다리므로 자동으로 재사용할 수 없습니다. Www.2cto.com
Oracle 의 제어 파일은 데이터베이스 파일의 물리적 위치와 유효성을 기록하고, Oracle 시스템을 열 때마다 자동으로 데이터를 검증하고, 유효성을 확인하며, 데이터 손실을 방지하며, Oracle 데이터 관리의 엄격함을 반영합니다.
SQL 서버에는 이러한 보안 메커니즘이 없으며, 데이터베이스의 정보를 사용한 후에만 데이터가 존재하는지 여부를 알 수 있습니다.
Oracle 의 매개 변수 파일인 init.ora 는 조정 가능합니다. 즉, 데이터베이스 크기에 따라 Oracle 의 시스템 리소스 사용을 조정하여 가장 합리적인 리소스 할당과 Oracle 의 최적의 성능을 얻을 수 있습니다.
Sql server 의 구성 매개 변수는 고정적이며 시스템 리소스 할당도 고정되어 있으므로 많은 사용자의 요구를 동시에 처리할 수 없으며 중소 규모 데이터베이스로서의 사용이 제한됩니다.
Oracle 은 블록을 최소 저장 단위로 영역별로 공간을 할당합니다. 사용자는 필요에 따라 블록 크기를 정의할 수 있으며, 영역은 균등하거나 증분적으로 할당될 수 있으므로 시스템의 i/o 작업을 크게 줄이고 데이터베이스 성능을 향상시킬 수 있습니다.
Sql server 에서는 확장 유형을 사용하여 페이지 단위 또는 8 페이지 단위로 공간을 할당함으로써 수동 개입이 불가능합니다. 잦은 스토리지 또는 대용량 데이터 스토리지의 경우 i/o 작업이 잦아 생산성이 저하됩니다.
Oracle 의 SQL 문은 표준화되어 전체 함수 및 데이터 유형을 제공합니다. Oracle 은 사용자가 오류의 위치와 원인을 쉽게 파악하고 수정할 수 있는 정교한 오류 메커니즘을 제공합니다. 사용자 고유의 오류 유형을 정의하여 논리적 오류를 검사할 수도 있습니다. Oracle 의 데이터 유형 변환 및 커서 정의도 매우 편리합니다. 따라서 SQL 서버보다 코드를 작성하고 유지 관리하는 것이 훨씬 편리합니다.
Sql server 는 클래스 c 언어를 사용하므로 코드를 유지 관리하고 보는 것이 더 어렵습니다. Sql server 에 구조, 배열 및 개체를 정의할 수 있는 데이터 유형이 너무 적습니다. Sql server 에서 프로세스 메커니즘을 정의할 수 없습니다. 유형 변환이 매우 불편합니다. Sql server 에서 커서의 정의는 매우 복잡하며 여러 개의 사용자 정의 커서를 동시에 열 경우 SQL server 의 심각한 결함인 커서 변수가 하나만 있습니다.
Oracle 의 사용자는 데이터 요구 사항에 따라 블록을 생성할 때 채우기 계수 (사용 가능한 공간의 백분율) 및 재사용 계수 (블록의 저장 데이터가 차지하는 공간이 이 비율보다 낮은 경우에만 사용 가능한 것으로 다시 표시) 를 정의할 수 있습니다. 레코드 변경의 빈도와 데이터 양의 크기에 따라 적절한 채우기 및 유휴 계수를 설정할 수 있습니다.
SQL 서버에는 단 하나의 채우기 요소가 있으며, 이는 Oracle 과 정반대로 정의됩니다. Oracle 은 남은 여유 공간의 백분율을 정의합니다. 그러나 SQL server 에는 재사용 요소가 없습니다. 페이지의 데이터가 채우기 계수보다 낮지만 나머지 공간에 새 데이터를 삽입할 수 없는 경우에도 페이지가 사용 가능으로 표시됩니다. 시스템이 새 데이터를 쓸 때 이 페이지를 방문하면 시간이 낭비된다. 이러한 페이지를 폐페이지라고 하며, 시스템이 새 데이터를 삽입할 때 사용 가능한 페이지를 찾는 데 많은 시간을 낭비합니다.
Oracle 은 테이블을 생성할 때 데이터를 저장하는 테이블스페이스를 정확하게 정의할 수 있으며, 한 테이블을 여러 테이블스페이스에 개별적으로 저장할 수도 있습니다. 이렇게 하면 데이터가 많은 테이블을 특정 필드에 따라 개별적으로 저장할 수 있어 질의에 높은 효율성을 제공할 수 있습니다.
Www.2cto.com
정보기술이 급속히 발전함에 따라 데이터 처리는 점점 더 많은 수량을 요구할 뿐만 아니라 점점 더 높은 품질을 요구합니다.
운영 체제의 안정성은 데이터베이스에 매우 중요합니다. 데이터베이스 운영 플랫폼에서 Oracle 은 모든 주요 플랫폼에서 실행할 수 있습니다. Oracle 데이터베이스는 고객이 특정 요구 사항에 가장 적합한 솔루션을 선택할 수 있도록 개방형 전략 목표를 채택하고 있습니다. 고객은 다양한 타사 어플리케이션 및 도구를 사용할 수 있습니다. 개발자에게 큰 지원입니다. 그러나 SQL server 는 windows 에서만 실행할 수 있으며 비교적 단조롭습니다. 그러나 윈도우 플랫폼에서의 SQL sever 성능, windows 운영 체제와의 전반적인 통합, 사용 편의성, Microsoft 개발 플랫폼과의 통합은 Oracle 보다 훨씬 강합니다. 그러나 windows 운영 체제의 안정성과 신뢰성은 모두에게 분명합니다. 또한 Microsoft 의 전략적 목표는 고객을 windows 플랫폼 환경에 잠그는 것입니다. Windows 성능이 향상되어야 SQL server 가 더욱 향상될 수 있습니다. 운영 플랫폼에서 Oracle 은 SQL server 보다 완전히 우수합니다.
데이터에서 볼 수 있듯이 Oracle 의 보안 인증은 인증 수준이 가장 높은 iso 표준 인증을 획득했으며 SQL server 는 보안 인증을 받지 못했습니다. 이는 Oracle 의 보안이 SQL server 보다 높다는 것을 증명합니다.
제품을 구매할 때 가장 먼저 고려하는 것은 당연히 제품의 성능이다. 성능을 고려할 때, 물론 이 제품이 얼마를 쓸지도 중요한 문제다. 데이터베이스 시스템 구축 및 실행 하드웨어 및 소프트웨어 구입 초기 비용뿐만 아니라 교육 및 사후 유지 관리 비용도 포함됩니다. Orcale 데이터베이스의 가격은 SQL server 데이터베이스보다 훨씬 높습니다. 왜 Oracle 데이터베이스가 SQL server 데이터베이스보다 훨씬 높습니까? 한편 Oracle 의 초기 비용은 비교적 높습니다. 특히 툴 소프트웨어를 고려할 때 Oracle 의 많은 툴은 별도로 구입해야 합니다. Oracle 은 Microsoft 에서 제공하는 무료 SQL server 도구 소프트웨어보다 더 비쌉니다. 그러나 SQL server 는 windows 에서만 실행할 수 있기 때문에 일반적으로 SQL server 데이터베이스의 안정성이 떨어지는 것으로 간주됩니다. Oracle 의 성능 우위는 여러 사용자에게 반영되지만 SQL server 의 성능 우위는 여러 사용자에게 충분하지 않습니다.
Sql server 작업은 분명히 orcale 보다 간단합니다. Java 와 dotnet 의 개발 플랫폼을 사용해 본 적이 있다면, 기본적인 차이점은 Oracle 과 SQL 서버가 다르다는 것입니다. Oracle 의 인터페이스는 기본적으로 Java 기반이며, 대부분의 도구는 dos 인터페이스, 심지어 sqlplus 입니다. SQL 서버는 VB 와 같은 완벽한 그래픽 인터페이스를 갖추고 있어 dos 창을 거의 볼 수 없습니다. Sql server 의 enterprise manager 는 여러 서버를 중앙 집중식으로 관리할 수 있는 완벽한 그래픽 인터페이스를 갖춘 통합 관리 콘솔을 제공합니다. Oracle 에는 자체 엔터프라이즈 관리자도 있으며, 일부 측면에서는 SQL server 를 능가하는 성능도 있지만 설치가 어렵습니다.
Carale 데이터베이스와 SQL server 데이터베이스 중 어느 것이 더 빠릅니까? 실제로 처리 유형, 데이터 분포, 하드웨어 인프라 등 불확실한 요소가 많기 때문에 대답하기 어려운 질문입니다.
Sql server 2000 은 웹을 완벽하게 지원하는 데이터베이스 제품으로, 확장 가능한 마크 업 언어에 대한 핵심 지원과 인터넷 및 방화벽 외부에서 쿼리할 수 있는 기능을 제공합니다. 확장성, 유연성, 확장성, 경제성을 갖춘 Oracle 은 SQL server 보다 수백 배 빠른 보안 기능을 갖추고 있지만 구현 가격은 SQL server 보다 수백 배 높습니다.
실제로 각 업종의 데이터베이스 선택은 데이터베이스의 특성과 자신의 비즈니스 요구 사항 및 인프라에 대한 종합적인 고려에 의해 결정됩니다.