소규모 프로젝트에 적합한 Oracle의 기능은 무엇입니까?


13

Oracle의 라이센싱 처리 [a] (및 비용은 적음)를 감안할 때 PostgreSQL 또는 MySQL 대신 Oracle을 선택하는 데 결정적인 요소가 무엇인지 항상 궁금했습니다.

우리 회사는 전용 DB 관리없이 데이터베이스를 실행하는 하나의 간단한 Windows 서버 상자가있는 소규모 프로젝트의 경우에도 거의 항상 Oracle (XE)을 선택하고 있습니다. (참고 것을 작은 않습니다 하지 데이터를 의미 항상 오라클 XE의 다소 작은 크기의 제약을 맞게됩니다.)

나는 항상이 선택에 의문을 제기했지만 적어도 하나의 데이터베이스 제품에만 노출되는 이점이 있습니다.

그럼에도 불구하고 RDBMS가 필요한 새 프로젝트가 주어졌지만 데이터베이스가 너무 작 습니다. 단순한 Windows 서버 상자 에서 실행되는 Oracle의 고유 한 기능 (너무 많은 전용 관리없이)은 Oracle을 선택합니다. 다른 RDBMS?

추가 컨텍스트 : 많은 데이터베이스 배포가 고객 사이트에서 "낮은 관리"모드로 실행됩니다. 즉, 데이터베이스가 한 번 설정됩니다. 사이트의 올바른 동작 및 성능에 대한 초기 테스트가 있습니다. 그 후에 데이터베이스가 실행됩니다. 정기 관리가 수행되지 않았습니다. 문제가 발생한 경우에만 (전용 DBA가 아닌) 기술자가 데이터베이스를 검사하여 무슨 일이 일어나고 있는지 알아 내려고합니다. 백업은 대부분 오프라인 백업으로 수행됩니다. 일부 프로젝트에서 고객은 RDBMS가 관여하는 것을 신경 쓰지 않습니다. 그들은 자신의 앱을 블랙 박스로 보거나 작동하지 않습니다.

[a] : 제가 일하는 곳 에서 현지 오라클 담당자가 수입이 적을 경우 제품 판매에 관심이 많지 않기 때문에 소규모 프로젝트에 대한 적절한 라이센스를 얻는 데 여러 프로젝트 관리자가 몇 달 동안 반복적으로 소요 되었습니다.


"항상 XE의 작은 크기 제약 조건에 맞지 않는"데이터에 대해 XE를 어떻게 선택합니까?
잭 topanswers.xyz 시도라고

@Jack : XE를 사용한다면, XE를 사용하지 않는다면 ...-) :-)
Martin

11.2 Express Edition은 베타 버전이며 사용자 데이터 제한이 4GB에서 11GB로 확장되었습니다. oracle.com/technetwork/database/express-edition/…을
Leigh Riffel

오라클은 PIVOT을 보유하고 있으며 MySQL과 Postgres는 그렇지 않습니다. 상황에 따라 큰 장점입니다.
Phil Lello

1
@ 필 Lello : PostgreSQL은 들어있는 contrib 확인, PIVOT가 않습니다 postgresql.org/docs/current/static/tablefunc.html
프랭크 Heikens

답변:


12

Oracle 및 postgres에 대해서만 답변을 시도 할 수 있습니다. 지난 몇 년 동안 Oracle을 독점적으로 사용하고 지난 2 년 동안 만 postgres를 사용한 후 postgres를 좋아 합니다. Oracle보다 사용하기 편리한 작은 방법이 너무 많으며 MVCC와 같은 많은 중요한 이점을 공유합니다. 관리하기 쉽고, 신뢰할 수 있고, 훌륭한 문서를 가지고 있으며, 물론 무료입니다.

그러나 postgres는 다음과 같은 일부 영역에서 Oracle과 일치하지 않습니다.

  • RAC-내가 아는 데이터베이스에 대해 더 나은 클러스터링 기술이 없다
  • RMAN-postgres의 기본 백업 및 복구 기능보다 훨씬 우수합니다. 특히 블록 변경 추적 및 증분 백업 (다른 백업에 적용하여 최신 전체 백업을 유지할 수 있음)
  • 오라클 지원-존재합니다. postgres 지원? 별로
  • 포스트그레스 세계에 아날로그가없는 IOT, '보안 파일'및 압축 기술과 같은 다른 많은 기능

흥미롭게도 XE에는 이러한 기능이 거의 없거나 손상되었습니다. XE 대신 postgres를 선택하고 다른 모든 것은 동일하다고 생각하지만 ...

...이 중 어느 것도 Oracle을 선택해야하는 가장 큰 두 가지 이유를 다루지 않습니다.

  1. 이미 Oracle을 사용하고 있으며 막대한 투자를하고 있습니다 (데이터베이스 독립성은 어리석은 신화입니다)
  2. 개발자와 DBA는 Oracle을 알고 있으며 그 기능을 최대한 활용합니다 (어쨌든 데이터베이스 독립성으로서 어리석은 신화가 아닐까요?)

편집하다:

매번 XE 대신 postgres를 선택하는 한 가지 상황은 보안이 우려되는 경우입니다. 데이터베이스 또는 데이터베이스의 응용 프로그램이 공용 인터넷에 노출되어 있으면 XE가 좋은 아이디어인지 확실하지 않습니다.


rgd. RMAN-오라클의 백업 기능이 Postgre의 백업 기능보다 "더 나은"기능이라고 생각하십니까? 저 관리 환경에서 유지됩니까 (Q 편집 참조)?
Martin

@Martin-RMAN은 강력하고 매우 성숙하여 여러 가지 복구 상황을 통해 나를 본 것처럼 신뢰합니다. 그렇지 않은 한 가지는 '단순'입니다. 값 비싼 DBA를 사용하지 않고 수행하는 것처럼 들립니다. 현재 오프라인 백업에 RMAN을 사용하고 있습니까? 클라이언트 사이트에서 (일일?) 여러 Gb 백업을 어떻게 배송합니까?
Jack은 topanswers.xyz를 사용해보십시오.

SQL 서버에는 HA 클러스터링이 있으며 이는 Oracle의 RAC와 같습니다.
StanleyJohns

@stan the dba SQL Server의 클러스터링 옵션에 대해 읽은 바에 따르면 RAC와 전혀 비교할 수 없으며 대부분 rac와 같은 진정한 확장 솔루션이 아니라 장애 조치 솔루션입니다.
Matthew Watson

Oracle을 선택해야하는 두 번째 이유는 첫 번째 IMO와 거의 같습니다. 기본적으로 당신은 최선을 다하고 있습니다. -지원에 관해서는 Postgres에도 존재합니다. 우수한 메일 ​​링리스트에 만족하지 않으면 해당 지역에서 유료 지원을 제공하는 회사에 대해이리스트 를 확인하십시오 .
eevar

9

오라클 에이펙스 . 데이터베이스에 내장 된 편리하고 사용하기 쉬운 웹 애플리케이션 환경. 간단히 말해서 웹 UI / 애플리케이션 로직 / 데이터베이스가 포함 된 '단일 박스'애플리케이션을 단일 통합 패키지로 배포하는 것이 매우 간단합니다.

추신. 11g XE (현재 베타 버전)는 스토리지를 10GB 이상으로 확장합니다.


APEX의 경우 +1 그것의 문제와 그렘린이 있지만, 나는 사랑 빠르고 쉽게 지상 응용 프로그램을 얻기 위해이. 가능한 한 RAD for Oracle이 생각합니다.
Kerri Shotts

5

Express Edition에서는 Oracle의 다른 플래시백 옵션을 사용할 수 없지만 Flashback Query 는 사용할 수 있습니다 . 그것에 대한 질문에 따르면 , 다른 데이터베이스에는이 기능이 없으므로 select 문이 과거의 시점에서 데이터를 쿼리 할 수 ​​있습니다. 플래시백 데이터는 현재 데이터와 결합되어 현재 테이블에 삽입되어 실행 취소 유형 작업, 임시 변경 및 메소드에 의한 변경 사항을 한 곳에서 비교하는 데 유용합니다.

다른 데이터베이스에는 Oracle Express Edition에없는 다른 것들이 있습니다.


5
postgres는 'AuthID Current User vs. Definer', 'Constraints Check', 'Deferrable Constraints', 'Date add and 빼기', 'Hierarchical Queries', 비 스키마 트리거, 대부분의 'Analytic Functions', 일부 'Collection Functions'를 선택합니다. 'XML 기능', (적어도)도 '멀티 플랫폼'상자 '를 만들거나 교체', 최대 1GB CLOB와
잭 말한다 topanswers.xyz 시도

@JackPDouglas 경쟁이 "다른 모든 것"일 때 전문가 목록을 만드는 것은 어렵습니다. 정보 주셔서 감사합니다.
레이 리펠

@Leigh-동의합니다. 목록이 Martin에게 도움이 될 것 같네요. 적어도 현재 (v10) XE에서 RMAN은 언급되지 않지만 기본적으로 사용되지는 않지만 포함되어 있습니다. 그냥 하나의 니트는-선택 : XE는 4로 제한됩니다 또는 11GB 후 정말 : 지원되지 않습니다 128TB까지 CLOB의 경우
잭 topanswers.xyz 시도라고

@JackPDouglas 당신은 이미 RMAN을 언급했으며 귀하의 답변 (또는 다른 것)을 대체하려고하지 않았습니다.
레이 리펠

@JackPDouglas 클로브를 잘 잡으십시오. XE에서는 작은 clob가 유용 할 수 있고 데이터베이스가 커지면 매우 큰 clob를 지원하는 플랫폼에있는 것이 유용 할 수 있으므로 목록에 남겨 두었습니다.
레이 리펠

4

우선, 이미 Oracle Know-How가 존재하지만 다른 RDBMS에는 해당되지 않는 요소를 과소 평가해서는 안된다고 생각합니다. 다른 사람들을위한 지식을 쌓는 데는 시간과 돈이 필요하며 처음에는 실수도 동반 될 수 있습니다.

또한 소규모 프로젝트가 언젠가는 성장하지 않을지 여부를 절대 알 수 없습니다. 그러면 XE에서 Standard Edition One으로, Standard Edition에서 Enterprise Edition으로 매우 매끄럽고 빠른 업그레이드가 가능합니다. 다른 RDBMS에서 마이그레이션하는 데는 시간과 비용이 훨씬 많이 듭니다. 결론 : 귀하의 회사가 올바르게하고 있다고 생각합니다. 좋아, 약간 편견이있을 수 있습니다 :-)


위엘 나는 오라클에 대한 ... 흠 ... 방법을 주변에서 알고 말할 것 I 'd는 아마로와 마찬가지로 많은 Postgre 플러스 내가 할 수있는 곳에 지점에 도착 googleing 조금 놀아 3 시간 필요 오라클과 함께 할 수 있습니다. (PL / SQL 제외) 그리고 저는 여기에서 Oracle 고급 사용자 중 하나라고 생각합니다.-)-그러나 업그레이드 경로에 대한 당신의 주장은 확실히 유효합니다.
Martin

@Martin : 그것은 좋은 징조가 아닙니다 ... 포괄 응용 프로그램의 일부로 ~ 2 년 동안 우리 프로젝트 중 하나에 postgres를 사용해 왔지만 여전히 제대로 수행 할 수 없습니다 (부분적으로 인해 내가 사용하는 응용 프로그램의 부분은에 크게 의존 count()하며 postgres의 achilles 뒤꿈치처럼 보입니다). 나는 stackoverflow 에 플래너에 영향을 미치는 방법
Joe

2

Oracle의 멋진 기능 중 하나는 Oracle Resource Manager와 같은 기능으로 모든 응용 프로그램마다 별도의 데이터베이스를 구축하는 것보다 하나의 데이터베이스에서 응용 프로그램을 훨씬 쉽게 통합 할 수 있습니다. 이것이 조직에서 사용되지 않은 것 같습니다. 나는 당신이 언급 한 것처럼 프로젝트를 위해 과거에 통합 데이터베이스를 설계했습니다.

  • 모든 프로젝트에는 자체 하드웨어가있었습니다
  • 모든 프로젝트에는 자체 라이센스가 있습니다
  • 모든 프로젝트에는 자체 스토리지가있었습니다

이로 인해 모든 프로젝트 중 가장 간단한 프로젝트조차 시작하는 데 몇 달이 걸렸으며 시장 출시 시간이 매우 중요한 시점에서 이는 죽이는 일입니다. 어떤 이유로 든 많은 사람들이이를 놓치고 정치적인 이유로 무시하기도합니다.

이에 대한 해결책은 매우 간단합니다. 하나의 심각한 데이터베이스를 만들고 모든 프로젝트 / 애플리케이션에 고유 한 스키마를 제공하고 사용자에게 액세스하며 몇 개월이 아닌 몇 시간 내에 실행됩니다. 이와 같은 작업을 수행하려는 경우 유사한 가동 시간 요구 사항이있는 응용 프로그램을 결합하면 유리할 수 있습니다. Oracle은 점점 더 많은 온라인 유지 관리 옵션을 제공하지만 때로는 몇 시간 동안 다운 타임을 얻는 것이 훨씬 쉽습니다. 미리 정의 된 시간 창이 있으면 많은 문제를 예방할 수 있습니다. 가동 중지 시간이 필요합니다.

응용 프로그램이 데이터베이스에 연결되는 것을 허용하지 말고 자체 tns 별칭을 사용하여 응용 프로그램 전용 서비스에 연결하십시오. 이렇게하면 응용 프로그램을 재구성하지 않고도 응용 프로그램을 다른 데이터베이스로 이동할 수 있습니다.

BTW : 이러한 통합 방식을 사용하는 회사는 롤링을 시작하는 데 필요한 라이센스보다 많은 양을 매년 절약했습니다.


이 입력에 감사드립니다. 많은 프로젝트가 고객 사이트에서 데이터베이스를 실행하고 있으므로 실제로 통합하는 것이 의미가 없습니다. (내가 당신을 올바르게 이해하면 통합에 대한 것입니다.)
Martin

패키지가 끝나는 고객이이를 통합하도록 권장 할 수 있습니다. 내장 데이터베이스 인 경우 약간 다를 수 있습니다.
ik_zelf

분명히 Oracle XE에는 Resource Manager 기능이 없으므로 라이센스가 부여 된 서버에만 통합하면 유용합니다. @ik_zelf 나는 달리 표시하려는 의도가 아니라는 것을 알고 있습니다.
레이 리펠

@Leigh Riffel 예, Oracle 설치가 가능하다고 가정했습니다. 통합 시나리오에서 EE를 선호합니다. 이 문제는 임베디드 솔루션을 향한 것으로 보입니다.
ik_zelf
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.