SQL Server VS Oracle
SQL Server를 공부하고 있지만 Oracle에 대해서는 잘 모릅니다.누가 그것들을 공평하게 비교해 줄 수 있나요?SQL Server 2000과 Oracle 9i의 비교를 읽은 적이 있습니다만, 조금 최신이 아닙니다.SQL Server 2008이 Oracle 11g/i를 따라잡았습니까?
SqlServer를 수년간 사용하고 Oracle을 4개월 동안 사용한 후 0.02달러만 지불하면 됩니다.
SqlServer는 훨씬 사용하기 쉬우며, 이를 통해 항상 서버와 씨름하는 것이 아니라 데이터베이스 작업에 집중할 수 있습니다(일부 비즈니스 문제를 해결할 수 있습니다.
Oracle은 많은 설정을 구성하기 때문에 잘못된 설정을 할 수 있는 많은 방법이 있습니다.이것에 의해, 파티션, 사용하는 인덱스의 종류등에 관한 논의가 끊이지 않게 됩니다.논의하는 동안 아무도 사업상의 문제에 대해 생각하지 않는다.
유추:저는 좋은 렌즈와 간단한 설정을 가진 올림푸스 카메라를 가지고 있었습니다.멋진 사진을 만들었기 때문에 모든 종류의 노브와 다이얼을 갖춘 DSLR로 업그레이드했습니다.그래서 피사체 대신 카메라에 집중하느라 사진이 반감되지 않았다.
이것이 SQL과 Oracle의 차이점입니다.SQL은 작업하기 쉬우므로 더 많은 작업을 수행할 수 있습니다.화이트보드에서 작업 코드로 아이디어가 훨씬 빠르게 전달됩니다.매우 큰 데이터베이스를 추진할 때만 Oracle이 우위를 점할 수 있지만, 그것조차 확신할 수 없습니다.Oracle이 SQL에서 처리할 수 없는 것은 없다고 생각합니다.
편집: 또한 컨텍스트를 PL/SQL로 전환하기 때문에 Oracle은 대용량 데이터 볼륨의 데이터베이스 내 분석 기능이 매우 부족합니다. 따라서 데이터에서 실행하려는 몇 가지 복잡한 기능이 있는 경우에는 Oracle을 사용하지 마십시오.반면 MS SQL은 이 문제를 겪지 않고 이 영역에서도 빛을 발합니다.네트워크 통합
저는 이렇게 말하고 싶어요.
- Oracle은 훨씬 더 나은 절차 언어를 가지고 있습니다.T-SQL은 PL/SQL에 비해 절반밖에 완성되지 않았습니다.
- SQL Server에는 훨씬 뛰어난 최적화 기능이 있습니다.Oracle을 사용할 때는 모든 쿼리를 힌트하여 완료하는 데 시간이 오래 걸리지 않도록 해야 했습니다. SQL Server는 그냥 작동합니다.다만, 서버의 설정이 잘못되어 있을 가능성이 있기 때문에, 다음의 포인트로 넘어갑니다.
- SQL Server는 훨씬 사용하기 쉽습니다.Oracle을 관리하려면 전담 DBA가 필요하지만 거의 모든 Bozo에서 SQL Server를 계속 실행할 수 있습니다.
- Oracle은 보다 우수하고 예측 가능하며 문서화된 동시성 모델을 보유하고 있습니다.
- Oracle의 문서는 대부분의 면에서 우수합니다.
- SQL Server는 와의 통합성이 향상됩니다.NET(devil Linq2SQL 등).
- Oracle을 사용하는 경우 TOAD도 구입해야 하지만 SQL Server에 포함된 Management Studio가 적합합니다.
- Oracle에는 확장 가능한 인덱싱과 같이 더 쿨하지만 거의 필요하지 않은 기능이 있습니다.
굳이 선택한다면 SQL Server를 선택하겠습니다.최적화 기능이 더 우수하기 때문입니다.그러나 SQL Server에서 여러 사람이 같은 행을 사용할 경우 안전하다고는 생각하지 않습니다.
이것이 공평한지는 모르겠지만, 이 두 가지를 모두 사용해 본 경험이 있습니다.
Oracle은 SQL Server가 아직 따라잡지 못한 몇 가지 뛰어난 기능을 통해 다소 "강력한" 것으로 보입니다.
SQL Server는 훨씬 사용하기 쉽고 마이크로소프트 제품과의 통합성도 뛰어납니다(사용하는 경우).즉, NET의 개발입니다).
궁극적으로 지금은 큰 차이가 없다.다른 한쪽이 할 수 없는 일은 거의 없지만, 기본 설정은 다소 다른 경향이 있습니다.
가장 분명한 차이점은 Oracle은 SEQUENCE를 사용하고 SQL Server는 자동 증가 열을 사용한다는 것입니다.각각 장단점이 있다.어떤 사람들은 둘 중 하나를 선호한다.
SQL Server에서 Top N 쿼리를 실행한 경험으로 볼 때 Oracle보다 조금 더 쉬운 것 같습니다.
Oracle은 즉시 MVCC를 사용합니다(커밋되지 않은 데이터는 다른 트랜잭션에서 읽을 수 있도록 차단되지 않으며 데이터베이스는 일관된 보기를 유지합니다).최근에야 발견한 SQL Server에도 이 옵션이 있지만 기본 옵션이 아니라 상당히 다른 옵션입니다.트랜잭션 격리 수준인가 뭔가.
PL/SQL과 T-SQL의 구문은 일부 영역에서 상당히 다르지만 개념은 대부분 동일합니다.
개인적으로 SQL Server Management Studio는 정상이지만 데이터 Import/export가 자동 증가 프라이머리 키와 함께 작동하지 않는 등 일부 영역에서 문제가 있었습니다.이것은 SQL Server 2005에서 몇 년 전부터 알려진 버그입니다.나는 그들이 2008년에 그것을 고쳤는지 아닌지 모르겠다.PL/SQL Developer(Oracle의 일부로 제공되지 않고 별도의 상용 제품)를 사용하면 수입과 내보내기가 쉬워졌습니다.
Oracle에는 VARCHAR (2) columsn에 대한 성가신 제한이 있습니다. 길이는 4k로 제한됩니다.SQL Server(64k?)에 훨씬 더 오래 있습니다.
SQL Server 보안 모델이 이상하다는 것을 알게 되었습니다.TCP 는 디폴트로 무효가 되어 있습니다(Windows 인증 전용).그 후 로그온과 사용자를 셋업 할 필요가 있었습니다.난 그걸 전혀 이해하지 못했어.Oracle에서는 다음과 같이 복잡한 것처럼 보였지만,
CREATE USER blah IDENTIFIED BY password;
GRANT CONNECT TO blah;
완료(단, RESOURCE와 같은 다른 권한/롤을 부여하는 것은 매우 일반적입니다).
관리직에서 백업/복원 방법을 알아내지 못했습니다.복구는 누군가가 데이터베이스에 연결되어 있지만 복구를 실행하려고 하는 사람은 나라고 말하는 데 실패합니다.
그리고 그 중 많은 부분이 SQL Server 경험이 부족하기 때문에 발생한다는 것을 누가 알기 전에 잘 알고 있습니다.그러나 솔직히 말하면, 여전히 일관성이 있고, 개념의 휴대성이 기대되고 있습니다.
저는 소프트웨어 개발자입니다.저는 주로 데이터베이스 위에 소프트웨어를 작성합니다(적어도 팀이 그렇게 할 수 있도록 돕습니다.
오라클내가 무언가를 하고 싶을 때마다, 그것에 대한 나의 과거 경험은 현재의 일을 어떻게 해야 하는지 이해하는 데 도움이 되지 않는다.수수께끼 같은 에러 메시지에 대한 유용한 설명을 찾기 위해 많은 시간을 소비했지만 OP가 Oracle 지원에 문의했다는 몇 개의 게시물을 발견했습니다.의 Import 은, Import가 경우, 에러( 쪽인가 가하고 있는 되었습니다.이러한 툴은 다음과 같은 오류가 있습니다.NOT NULL
Oracle 10g oracle oracle oracle oracle oracle oracle oracle oracle oracle oracle oracle 。구속을 해제해도 Import가 아무것도 하지 않고 행업하는 문제가 발생하고 있습니다.데이터 펌프 얘기가 나와서 말인데, 로컬에서만 작동합니다.수출입하다프로시저에서 오류가 발생하면 컴파일에 실패했음을 알 수 있지만 사용할 수 없는 상태로 프로시저 오브젝트가 생성됩니다.그런 다음 명령을 실행하여 오류를 표시해야 합니다.사용자 및 권한 시스템이 불량합니다.는 Oracle입니다만, 할 수 하려면 "Oracle"을 허가해야 합니다.ALTER DATABASE
permission(사용자에게 필요한 것보다 훨씬 더 많은 권한을 부여합니다).공간 정크인 경우 SRID 3857에 대해 생성되는 WKT를 구문 분석할 수 없습니다(좌표가 충분히 커져서 숫자 구문을 구문 분석할 수 없을 때 0.00000e6 형식의 숫자를 뱉습니다).네, 많은 것들이 구체적인 예들이지만, 제가 하고 싶은 일을 할 수 없는 이런 종류의 문제에 부딪히는 것은 저에게 일상적인 경험이며, 한 가지 작업 중에 여러 가지 문제가 발생합니다.
SQL Server를 사용해 본 경험이 한정되어 있을 뿐이지만, 지금까지 한 일은 그다지 힘들지 않습니다.훨씬 더 쉽게 문제를 파악할 수 있었고, 문제가 무엇인지 알아내는 데 도움이 되지 않는 오류 메시지를 본 기억이 없습니다.SQL Server를 보다 광범위하게 사용해 온 동료들도 비슷한 경험을 보고했습니다.
저 혼자일 수도 있지만 Oracle을 사용하는 작업은 항상 귀찮고 지루한 과정으로 보입니다. 이상한 오류를 찾아내고 필요한 기능이 없어지고 스스로 구현해야 하는 문제(예를 들어 키 자동 증가)를 해결하려고 합니다.결론부터 말하자면, Oracle은 더 나은 성능을 발휘할 수 있을 것입니다. 그러나 Oracle을 작동시키기 위한 시간과 비용이 있어야만 Oracle을 조정할 수 있습니다. 그리고 이를 조정하는 방법과 개발자에게 학습시킬 수 있는 비용도 마련됩니다.Oracle은 배우고 사용하기가 매우 어렵습니다.
SQL Server에 대해 잘 모르지만 SQL Server vs.오라클은 종교적인 논쟁이다.Windows, Mac, Linux 중 어느 쪽이 더 나은지 물어보는 것이 좋습니다.
SQL Server와 Oracle은 모두 뛰어난 개발자, 운영 및 IT 지원 사례를 제공하는 엔터프라이즈 대응 데이터베이스입니다.둘 다 올바르게 구성 및 크기를 조정하면 원하는 모든 데이터 세트를 처리할 수 있으며, 잘못 구성 및 크기를 조정하면 둘 다 중단될 수 있습니다.
「사용의 용이성」에 대해서는, 말씀드린 대로 SQL Server의 사나이입니다만, SQL Server는 매우 사용하기 쉽다고 생각합니다(admin).물론 SQL Server의 관점에서 생각하기 때문에 Oracle은 귀찮은 존재라고 생각합니다.마찬가지로 Oracle 관리자/개발자들은 Oracle과 SQL Server가 낯설기 때문에 Oracle을 쉽게 사용할 수 있다고 생각합니다.
그때의 진정한 차이점은 Oracle은 크로스 플랫폼이지만 SQL Server는 크로스 플랫폼이 아니라는 것입니다.다만, Windows를 Linux로 대체하는 것을 검토하고 있지 않기 때문에, 큰 문제는 없습니다.
SQL Server 및 Oracle과 함께 다양한 프로젝트를 수행해 왔습니다.내 생각:
- SQL Server는 와 더 잘 작동합니다.그물
- 일반적으로 SQL Server는 설치 및 작업이 더 쉽습니다.개발자로서 SQL Server용 DBA는 거의 필요 없었지만 Oracle에서는 항상 DBA가 필요한 작업을 수행해야 하는 것 같습니다.
- 저장 프로시저를 쓸 때는 T-SQL(SQL Server)보다 PL/SQL(Oracle)을 더 선호합니다.
- Oracle은 하드웨어 요건이 더 큰 것 같습니다.
- SQL Server용 기본 관리 도구는 Oracle에 포함된 도구보다 사용하기 쉽습니다.
- 개발 숍에서는 이 둘을 거의 혼재시키지 않습니다.
최신 버전의 SQL Server와 Oracle은 모두 Enterprise에 대응하고 있으며, 그 기능은 거의 비슷합니다.
물론 같은 방식으로 동작하지는 않지만, 대체로 양쪽에서 달성할 수 있는 것은 퍼포먼스와 기능 면에서 거의 동일합니다.
기사를 많이 참조하려면 Google에서 검색하십시오.SQL vrs Oracle
라이선스 계약과 지원 계약에는 차이가 있다고 확신하고 있습니다.
Oracle SQL Server를 선택합니다.이 두 가지를 비교하면 SQL Server에서는 할 수 없었던 일이 있습니다(SQL Server DBA는 제 역할 중 하나였습니다).
오라클 DBA 범위는 매우 작은 합니다.Oracle에는 여러 대의 서버와 데이터베이스가 있으며, 그 규모도 컸습니다.
제 생각에 이것은 기존의 기술/기능 문제가 아닌 관리/비용 문제로 귀결되고 특정 애플리케이션이 다른 데이터베이스보다 한 데이터베이스에 더 적합하다는 부록이 추가되어 있습니다.
i와 g의 의미에 대한 최선의 추측은 (찾지 않고)입니다.
i는 인터넷 준비가 되어 있고 g는 그리드가 활성화 되어 있습니다.
다음은 SQL Server 2010에 대한 몇 가지 정보입니다.Microsoft는 SQL Server 로드맵을 제시합니다.
다음은 Microsoft와 Oracle의 비교입니다.퍼포먼스 향상 | 확장성 향상 | 가치 향상
Oracle과 Microsoft의 비교: Oracle(r) Database 10g Release 2는 Microsoft SQL Server 2005를 정면 비교에서 능가합니다.
Oracle의 장점은 튜닝 측면입니다. Oracle에서는 거의 모든 것을 변경할 수 있습니다.SQL Server에서 해당 수준의 커스터마이즈가 가능한지 모르겠습니다.
도구 측면에서는 SQL Server가 매우 사용하기 쉽습니다(제한이 있지만 여전히 매우 쉽습니다).
통합...사용하시는 경우에 따라 다릅니다.Java를 사용하는 경우 SQL Server(Oracle도 함께 사용할 수 있음)를 NET으로 선택한 다음 Oracle을 사용하여 SQL Server에 연결할 수도 있습니다(Java를 사용하여 SQL Server에 연결할 수도 있습니다.
MySQL이나 PostgreSQL과 같은 무료 데이터베이스 서버(그리고 Python/Django 및 를 사용하므로)와 거의 동일한 품질과 고급 기술을 사용할 수 있기 때문에 어떤 것을 선택할지 묻는다면 NONE!이라고 대답하겠습니다.NET은 매우 잘 통합됩니다.)
어떤 걸 고를까요?글쎄요, 둘 다 사용해 보세요.설치해서 플레이하는 데 하루 이상 걸리지 않습니다. :)둘 다 장점이 있고 둘 다 훌륭합니다. 어느 DBMS를 선택하든 상관없습니다(MySQL, PgSQL, MSSQL 또는 Oracle).
Oracle에는 SQL Server에는 없는 기능이 많이 있다고 생각합니다.이는 MSSS에서 동일한 작업을 수행할 수 없다는 것을 의미하지는 않습니다. 그러나 이러한 기능은 Oracle이 동일한 작업을 더 빠르게 수행할 수 있음을 의미합니다.
표 클러스터
같은 블록/페이지에 여러 테이블의 데이터를 저장할 수 있습니다.테이블, 열, 인덱스 및 제약 조건을 포함하는 시스템 테이블을 예로 들어 보겠습니다.테이블 클러스터가 없는 경우 테이블과 모든 열, 인덱스 및 제약 조건을 추출하려면 상위 테이블의 이름 인덱스를 쿼리한 다음 상위 테이블로 이동하여 해당 행이 있는 페이지/블록을 읽습니다.그런 다음 PK를 가져와 열 테이블의 FK 인덱스에 해당 값을 입력하고 rowid를 가져와 해당 행이 있는 블록/페이지로 이동한 후 다른 두 테이블에 대해 반복합니다.어...정말 많은 일이네요
Oracle에서는 Table_PK를 기반으로 이들 4개의 테이블이 모두 같은 테이블클러스터에 존재하도록 지정할 수 있습니다.그래서 판독치는 다음과 같습니다.클러스터 인덱스에서 해당 테이블의 위치를 확인하고 블록 하나 또는 두 개로 4개 테이블의 데이터를 모두 가져옵니다.보일라.
두 시스템 모두 4개의 테이블로 표시되므로 애플리케이션별로 똑같이 보이지만 읽기 시간을 최소화하는 것이 중요한 경우 Oracle은 더 빠르게 수행할 수 있습니다.
Cletus가 언급했듯이 Oracle은 SQL Server와는 근본적으로 다른 잠금 구조를 가지고 있습니다.Tom Kyte(그의 사이트는 환상적인 무료 리소스)가 즐겨 말하듯이 "Writer는 독자를 차단하지 않고, Reader는 Writer를 차단하지 않습니다."SQL Server 2005와 비슷한 기능이 내장되어 있습니다만, 행의 버전 관리를 tempdb에 실장했습니다.이것은 특별히 확장성이 있다고는 생각되지 않습니다.이 기능은 기본적으로 꺼져 있기 때문에 마이크로소프트 직원들은 이 기능에 대해 별로 확신하지 못하는 것 같습니다.
Oracle은 또한 쿼리에 대해 매우 다른 캐싱 구조를 가지고 있기 때문에 바인딩된 변수 또는 플레이스 홀더를 사용하면 큰 차이를 만들 수 있습니다. 즉, "하드" 구문 분석(즉, SQL 구문을 처음 보는 것처럼 확인하는 데이터베이스)을 최소한으로 유지할 수 있습니다. 즉, "소프트 구문 분석"(변수 채우기)만 오버헤드를 차지합니다.10g 이후부터는 바인드 "피킹"도 제공되므로 데이터가 왜곡되지 않고 바인드 변수를 사용할 수 있습니다.
또한 매우 효율적이고 능률적인 전체 텍스트 검색 기능 및 행 수준 버전 관리 기능도 있습니다.
최종 사용자(IT 이외)로서 Oracle에 대한 경향(및 편견)이 있습니다.저는 Oracle에서 3년간 근무하고 있습니다만, 지금은 MSSS의 세계에 빠져 있습니다.개인적으로 SQL Server 환경은 직관적이지 않고 매우 '버그'하다고 생각합니다.코드를 작성하지는 않지만 대규모 데이터셋을 쿼리하여 확장성이 더 뛰어난 데이터셋(OSD)을 찾아야 합니다.
언급URL : https://stackoverflow.com/questions/689807/sql-server-vs-oracle
'programing' 카테고리의 다른 글
WordPress 테마 편집기가 없습니다. (0) | 2023.03.18 |
---|---|
ORA-12170: TNS: Connect 타임아웃 발생 (0) | 2023.03.18 |
이게 뭐야? (0) | 2023.03.18 |
Angular 지시어 템플릿에 조건부로 데이터 속성 추가 (0) | 2023.03.18 |
패키지에 "홈 페이지"를 사용합니다.json, localhost 패스를 망치지 않고 (0) | 2023.03.18 |