2008-10-19 2 views
5

데이터베이스 프로젝트를위한 아키텍처 구축을 시작해야하지만 실제로 엔진 간의 차이점을 알지 못합니다.postgresSQL mysql oracle differences

누구나이 세 엔진의 장점과 단점을 설명 할 수 있습니까? 우리는 그들 중 하나를 선택해야하고 실제로 그들에 대해 알고있는 유일한 것은 이것이다 :

  • MySQL의 & 포스트 그레스 :
    • 무료하지만 오라클 보안 등
    • MySQL은 같은 너무 좋지 않다 문제 (이것이 사실입니까?)
  • 오라클 다음에
    • 최상의 데이터베이스 엔진 비싼 세계

누군가는 그들 사이의 다른 차이점을 취소 할 수 있습니까? 이것은 중/대형 (우리는 약 100 ~ 200 개의 테이블을 생각하고 있습니다) 프로젝트로 저비용으로 무엇을 선택합니까? 그리고 더 높은 예산으로?

차이점을 명확히하는 데 도움을 주셔서 감사합니다.

ps : 기존 게시물을 복제하지 않기를 바랍니다. 그러나 검색을 시도했지만 아무 것도 찾지 못했습니다.

답변

12

몇 년 전에 번역 엔진을 써야했습니다. 한 세트의 SQL을 피드하고 현재 연결된 엔진의 dialect로 변환합니다. 내 엔진은 Postgres (AKA PostgreSql), Ingres, DB2, Informix, Sybase 및 Oracle, 그리고 ANTS에서 작동합니다. 솔직히, 오라클은 내가 가장 좋아하는 제품이 아니다. (더 많은 것은 아래에있다.) 불행히도 mySql과 SQL Server는 목록에 없다 (당시 RDBMS는 심각한 RDBMS로 간주되지 않았지만 시간은 변했다).

  • 소유

    • 데이터 유형
    • 한계
    • 다란 : - 그리고 만들기 및 백업 복구의 용이성 - 품질이나 성능의 엔진에 관계없이

      여기에 주요 차이점의 영역은 단어

    • null 의미 (아래 참조)
    • 따옴표 의미 (작은 따옴표 ', 큰 따옴표 또는 e ither)
    • 문 완성의 의미
    • 기능을 의미
    • 취급 (인라인 주석이
    • 최대 속성을 허용할지 여부를 '지금'및 입/출력 기능 형식과 같은 일정한 키워드)
    • 포함
    • 날짜는
    • 길이 최대 속성 수
    • 연결 의미/보안 패러다임.

      신탁 = VARCHAR (%의 x)를 사이베이스 = 텍스트 DB2 = "LONG VARCHAR"인포믹스 = LVARCHAR 포스트 그레스 = VARCHAR : 모든 전환 데이터를 지루하지 않고

    , 여기에 하나 개의 데이터 유형 LVARCHAR에 대한 샘플입니다 (% x) ants = varchar (% x) ingres = varchar (% x, % y)

    내 생각에 가장 큰 문제는 null 처리입니다. Oracle SILENTLY는 빈 입력 문자열을 null 값으로 변환합니다. ... 어딘가에, 오래 전, 누군가가 "Null의 17 가지 의미"에 대해 작성한 글을 읽었습니다. 그리고 실제 포인트는 null이 매우 가치 있고 null 문자열과 빈 문자열 사이의 구분이 유용하고 사소한! 오라클은이 문제에 대해 큰 실수를 저질렀다고 생각합니다. 다른 이들 중 누구도이 행동을 보지 못했습니다 (내가 본 것).

    두 번째로 가장 좋아하는 제품은 ANTS였습니다. 왜냐하면 다른 모든 제품과 달리 두 번째 제품은 완벽한 구문에 대한 바보 같은 규칙을 적용했기 때문에 ANT가 아니 었습니다. 표준에 대한 완벽한 준수를 제공하는 유일한 DB 회사 일 수도 있습니다. 엉덩이에 코드를 작성하는 왕실의 고통.

    내가 좋아하는 곳은 Postgres이다. _real_world_ 상황에서 매우 빠르며, 큰 지원을 받고 있으며 오픈 소스/무료입니다.

  • +0

    varchar2가 아닌 varchar2를 사용하는 것이 좋습니다. –

    +0

    업데이트 해 주셔서 감사합니다. 엔진으로 다시 전파되는지 확인하고 잠시 시간을내어 다른 업데이트도 찾아 보겠습니다. RT –

    3

    은 위키 피 디아의 비교 표를 참조하십시오 : http://en.wikipedia.org/wiki/Comparison_of_object-relational_database_management_systems & & http://en.wikipedia.org/wiki/Comparison_of_relational_database_management_systems

    오라클 또는 최고의되지 않을 수도 있습니다. 비싸지 만 그게 최선은 아닙니다.

    DB2를 보셨습니까? 사이베이스? 테라 데이타? MS SQL?

    +0

    ty, 저는 학생이고 그것은 대학 프로젝트를위한 것입니다. db 선생님은 그것들에 대해서만 이야기하고 있었기 때문에 저는 ms sql에 대해 알고 있었지만 다른 것에 대해서는 전혀 몰랐습니다. Tks 링크 : – fmsf

    +0

    HTH :) ..MS SQL, Oracle, MySQL 또는 PostgreSQL이 될 수있는 모든 rdbms에 붙어 있습니다. – warren

    +0

    무료 또는 오라클 중에서 선택할 수 있습니다 – fmsf

    4

    서로 다른 SQL 구현 간의 차이점은 적어도 두려운 점이 많습니다. 이 보드는 그들 모두를 헤아리기에 충분하지 않습니다.

    당신이 물어야 할 필요가있는 경우, 당신은 또한 사안에 대한 유효하고 결정적인 결정에 도달 할 수있는 지 여부를 자문해야합니다.

    A comparison von MYSQL and Postgres can be found here

    오라클은 또한 기능 감소 Express (XE) edition을 제공합니다,하지만 무료로 사용할 수. 또한 배우는 지식이 거의 없다면 스스로 배워야하며, 나는 하나만 선택하고 그것을 사용하여 배우기 시작할 것입니다.

    +0

    나는 워렌을 위해 남긴 동일한 코멘트, 나는 학생이고 수업 중 프로젝트를 위해 연구를 해왔다. 그러나 우리는 무엇을 사용하는 것이 더 낫지는 알 수 없다. Univ는 우리에게 oracle의 열쇠를줍니다. 링크 및 참조 용 Tks – fmsf

    +0

    Prod에서 XE 만 사용하려면 XE가 필요합니다. 당신이 그것을 시험해보고 있다면 ... 엔터프라이즈 에디션을 다운로드하고 모든 기능을 배우십시오. –

    2

    저 예산 시나리오의 경우 오라클이 궁금합니다. 100-200 개 테이블은 크지 않으며 일반적으로 스키마의 테이블 양은 척도가 아닙니다. 데이터 세트 및 처리량은 다음과 같습니다.

    http://www.mysqlperformanceblog.com/ (및 그 뛰어난 책)에서 MySQL이 어떻게 대규모 배포를 처리 할 수 ​​있는지 살펴볼 수 있습니다.

    일반적으로 요즘 대부분의 RDBMS는 매우 심각한 응용 프로그램에서 필요한 거의 모든 것을 수행 할 수 있습니다.

    관련 문제