문제

저는 프로그래머로서 Oracle, MySQL 등 다양한 시스템에서 일해왔습니다.사람들은 Oracle이 더 안정적이고 강력하며 안전하다는 말을 계속 듣고 있습니다.이것이 사실입니까?

그렇다면 어떤 방식으로, 왜?

이 질문의 목적을 위해 아마도 500,000개 정도의 레코드가 있는 중소 규모의 프로덕션 DB를 고려하십시오.

도움이 되었습니까?

해결책

예.Oracle은 엔터프라이즈급 소프트웨어입니다.

mysql보다 실제로 더 안정적인지는 잘 모르겠습니다. mysql을 그렇게 많이 사용하지는 않았지만 mysql이 충돌한 기억은 없습니다.저는 Oracle 충돌을 겪었지만 충돌이 발생하면 충돌 이유에 대해 제가 원하는 것보다 더 많은 정보를 제공하며 Oracle 지원은 항상 (유료) 도움을 드릴 것입니다.

매우 강력합니다. Oracle DB는 데이터가 손상되기 전에 사실상 가능한 모든 작업을 수행합니다. 디스크 공간이 부족할 때 mysql 서버가 정말 이상한 작업을 수행하도록 했습니다. Oracle은 모든 트랜잭션을 중지하고 가능하면 결국 종료합니다. 필요한 파일을 쓰지 마십시오.나는 oracle에서 데이터를 잃어버린 적이 없습니다. where 절을 잊어버리고 단일 행이 아닌 모든 행을 업데이트하는 것과 같은 어리석은 일을 할 때에도 데이터베이스를 망치기 전의 상태로 되돌리는 것은 매우 쉽습니다.

보안에 대해서는 잘 모르지만 Oracle은 DB에 연결하고 인증하는 방법에 대한 많은 옵션을 제공합니다.어떤 사용자가 무엇에 액세스할 수 있는지 등에 대한 다양한 옵션을 제공합니다.그러나 대부분의 경우와 마찬가지로 보안을 진지하게 고려하려면 전문가의 도움이 필요합니다.오라클은 보안을 제대로 확보하지 못하면 잃을 것이 훨씬 더 많습니다.그러나 모든 것과 마찬가지로 악용도 있었습니다.

다른 건 없다면 이것만 고려해보세요...Oracle이 문제를 해결하면 CPU당 40,000달러(만약 정가를 지불하는 경우) 라이센스 + 연간 유지 관리 비용을 지불하는 고객이 있습니다.이를 통해 고객이 제품에 만족할 수 있도록 매우 집중적으로 노력합니다.

소규모 데이터베이스의 경우 mysql보다 훨씬 먼저 Oracle XE를 권장합니다.이것은 mysql(무료)의 중요한 기능을 가지고 있으며 설치가 매우 쉽고 멋진 웹 인터페이스와 애플리케이션 프레임워크(Application Express)가 함께 제공됩니다. DB가 단일 CPU, 1GB RAM 및 4GB 데이터에서 실행된다면 XE는 다음과 같습니다. IMHO로 가는 길입니다.

Mysql에는 용도가 있고 많은 사람들이 Mysql을 사용하여 훌륭한 것을 만들 수 있다는 것을 보여주었지만 기능 측면에서는 Oracle(및 SQL Server 및 DB2)보다 훨씬 뒤떨어져 있습니다.하지만 무료이며 배우기가 매우 쉽다는 점이 많은 사람들에게 가장 중요한 특징입니다.

다른 팁

디스크 공간이 부족해지면 Oracle에서 손상된 데이터베이스를 생성하도록 했습니다.디버깅하기 어렵고, 리소스를 많이 사용하며 숙련된 DBA의 도움 없이는 작업하기가 어렵습니다.Oracle은 시스템 바이너리도 교체했습니다(예:gcc)를 /usr/bin/에 설치했을 때.

반면 PostgreSQL로 작업하는 것은 훨씬 더 즐거웠습니다.오픈 소스 *nix 시스템을 사용하는 데 익숙하다면 읽을 수 있는 오류 메시지를 제공하고 더 이해하기 쉬운 방식으로 작동합니다.복제를 설정하는 것은 매우 쉽기 때문에 데이터를 상당히 안전하게 보호할 수 있습니다.

500K 레코드 데이터베이스는 아마도 휴대폰에서 실행될 수 있습니다.실제로는 너무 작아서 Oracle XE와 MySQL 모두 관리하기에 충분합니다.

  • 소규모 DB(레코드 수 백만 개)의 경우 Oracle은 과잉입니다.
  • Oracle 시스템을 올바르게 설치하고 관리하려면 숙련된 DBA가 필요합니다.
  • Oracle은 더 큰 "기본 오버헤드"를 가지고 있습니다.Oracle을 실행하려면 더 강력한 시스템이 필요합니다.
  • Oracle의 "즉시 사용 가능한" 경험은 형편없었습니다(저는 몇 년 동안 Oracle 시스템을 설치하지 않았습니다.현재 어떻게 작동하는지 모르겠습니다.) mysql은 매우 훌륭합니다.

오라클은 DBA 지식이 꼭 필요한 짐승입니다.나는 500,000개의 레코드가 아무것도 아니라고 말하는 사람들의 의견에 동의합니다.단순한 숫자/텍스트 데이터라면 Oracle의 복잡성만큼 가치가 없습니다.

반면에 Oracle은 Blob에 대해 매우 효율적입니다.각 레코드가 100MB 바이너리 파일인 경우 이를 Oracle에서 실행하려면 많은 돈이 필요할 것입니다(좋은 SAN을 갖춘 3노드 RAC 클러스터를 권장합니다).

저는 데이터(~10M 행, 1.2GB의 데이터)를 3개의 다른 데이터베이스, 2개의 Oracle과 1개의 MySQL로 보내는 프로젝트를 가지고 있습니다.나는 두 시스템 모두에서 작업하는 데 문제가 없었고 어느 ​​쪽에서도 큰 이점을 본 적이 없습니다.이미 다른 프로젝트에 Oracle을 사용하고 있는 곳이라면 새 데이터베이스를 하나 추가하는 것은 큰 문제가 아니지만, 새 데이터베이스 서버를 설정할 생각인데 아직 아무것도 없는 경우에는 이미 설치되어 있으면 MySQL이 비용을 절약해 줄 것입니다.

Oracle Enterprise는 이를 지원하는 기업, 즉 실제 Oracle DBA가 있다고 가정합니다.초보이지만 유능한 DBA는 Oracle이 본질적으로 더 복잡하기 때문에 Oracle보다 훨씬 쉽게 MySQL을 보호할 수 있어야 합니다.물론, Oracle은 MySQL이 현재 제공하는 것 이상의 엔터프라이즈 모니터링 도구를 보유하고 있지만(내가 본 바에 따르면) DBA는 이를 효과적으로 사용할 수 있어야 합니다.

귀하가 설명하는 이러한 작은 데이터베이스는 대부분의 모든 장치에서 처리할 수 있으므로 인프라가 이미 마련되어 있지 않으면 Oracle이 보증될 것이라고 볼 수 없습니다.둘 다 복제, 트랜잭션 및 웜 백업 기능을 갖추고 있으므로 어느 쪽이든 잘 작동합니다.

대답은 달려있다 전적으로 각 DBMS를 구성하는 방법에 대해 알아보세요.둘 다 500,000개의 레코드를 여러 번 처리할 수 있습니다.

오라클은 훨씬 더 강력합니다.많은 기능은 대기업이나 고성능 환경에서만 찾을 수 있습니다.주로 확장, 복제 및 로드 밸런싱과 관련된 기능입니다.

소규모 DB의 경우 SQLite를 고려하세요.중소 규모의 경우 MySQL 또는 PostgreSQL을 살펴보세요.가장 큰 경우에는 MSSQL, Oracle, DB2 등을 살펴보세요.

편집하다:다른 답변을 읽은 후 귀하의 데이터가 실제로 정말 중요한 점은 복제된 설정을 원할 것이며 아마도 이와 유사한 대형 DB 제공업체 중 하나를 찾고 싶을 것입니다.

잠재력을 희생할 수 있다면 (극히 드물다) 데이터가 손실되고 향상된 성능을 선호하는 경우 더 가벼운 옵션을 살펴보세요.

오라클이 짐승이라는 것은 사실입니다.

오라클이 가장 안전한 주요 데이터베이스로 널리 간주되는 것도 사실입니다.

문제는 오라클 개발자들이 중요한 보안 개념을 파악하지 못하고 있다는 것입니다.Oracle은 시장에서 보안 수준이 가장 낮은 데이터베이스 서버입니다(독립 보안 ​​연구원에 따르면).

http://itic-corp.com/blog/2010/09/sql-server-most-secure-database-oracle-least-secure-database-since-2002/

이 연구원들에 따르면 MySQL은 실제로 상당히 안전합니다.나는 그것에 사용할 수 있는 도구에 대해 잘 모른다.이 연구에서 가장 재미있는 점은 Microsoft SQL 서버를 장난감이라고 부르는 동일한 사람들이 "장난감"이 아닌 끔찍한 보안 모델을 가진 짐승을 사용하고 있기 때문에 MSSQL이 저지할 공격자에 의해 데이터를 도난당할 것이라는 것입니다. 안전한.

다양한 애플리케이션과 사이트에 Oracle/SQL Server/MySql을 사용하고 있습니다.

다양한 분야에서 오라클을 능가하는 데이터베이스는 없지만, 관리를 위해서는 깊은 지식이 필요한 데이터베이스 중 가장 많은 데이터베이스입니다.

그리고 오라클에서 문제를 발견했다면 훌륭한 DBA들과 함께 문제를 해결하기 위해 몇 시간을 투자할 수도 있습니다.

MySql을 사용하면 50만 개 또는 수백만 개의 레코드를 처리할 수 있습니다. 다른 DB보다 가볍고 관리 작업이 필요하지 않으며 컴퓨터 리소스를 많이 차지하지 않습니다. 저는 항상 개발 PC에 이를 갖고 있으며 어떤 문제도 겪은 적이 없습니다. 심각한 문제가 있습니다.

Oracle의 고급 기능이 필요하지 않은 경우 MySql 또는 PostgreSQL을 사용해야 합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top