source

MySQL과SQL Server와오라클

goodcode 2022. 9. 18. 21:33
반응형

MySQL과SQL Server와오라클

저는 항상 MySQL만 사용하고 다른 데이터베이스 시스템은 사용하지 않습니다.

오늘 회사 회의에서 질문이 제기되었는데, 저는 몰랐기 때문에 당황했습니다.개발자에게 MS 또는 Oracle은 MySQL에 없는 획기적인 기능을 제공하고 MS와 Oracle이 자사 시스템에 대해 요금을 청구할 수 있는 기능은 무엇입니까?

시판 솔루션과 함께 번들된 비코어 RDBMS 기능을 모두 강조하는 것은 다른 논코어들도 옳다고 생각합니다.

다음은 Oracle 에디션 및 기능의 매트릭스로, 특히 MySQL과 같은 제품에서 자체 버전의 추가 기능을 개발하고 지원하려면 비용이 얼마나 드는지 이해하기 위해 참조할 가치가 있습니다.https://docs.oracle.com/cd/B28359_01/license.111/b28287/editions.htm#DBLIC116

예를 들어 "사용자가 삭제/업데이트한 이전 버전의 데이터를 변경이 커밋된 후 1주일 이내에 복구할 수 있어야 합니다."라는 요건이 있는 경우, 이는 Oracle의 Flashback과 같은 기본 제공 기능이 없는 시스템에서는 특정 개발 오버헤드를 의미할 수 있습니다.질문하다.

Oracle 및 MS SQL의 순수 RDBMS 계층은 MySQL 및 InnoDB보다 더 성숙한 프로그래밍 환경을 제공합니다.T-SQL과 PL/SQL은 아직 MySQL 저장 프로시저 및 트리거와 일치할 수 없습니다.

다른 차이점은 구문적 차이와 약간의 의미적 차이입니다(상위 500대 제한/오프셋 등).

그러나 MySQL에는 없는 MSQL(Reporting Services, Analysis Services) 및 Oracle(Data Warehousing, RAC)의 RDBMS 계층 위에 수많은 통합 툴과 서비스가 있다는 것이 가장 큰 문제입니다.

MySQL은 무료가 아닙니다!

무료라고 널리 알려져 있지만 MySQL을 내장한 소프트웨어 패키지를 판매하거나 배포하는 경우에는 다소 엄격한 제한이 따릅니다.MySQL을 소프트웨어 배포에 포함해야 하는 경우(즉, 원격 클라이언트 서비스에만 사용하는 것이 아님), 오픈 소스 프로젝트 또는 비영리 조직에서만 무료로 사용할 수 있습니다.데이터베이스와 드라이버를 어플리케이션의 다른 부분과 완전히 분리하여 고객이 MySQL을 직접 다운로드하여 설치하도록 할 수 있다면 문제 없습니다.

그렇지 않으면 "표준" 에디션에 연간 2,000달러의 비용이 소요되며, 이는 SQL Server 라이센스 비용과 거의 맞먹습니다.

둘 다 매우 우수한 데이터베이스이지만 SQL Server의 장점은 다음과 같습니다.

  • 풍부하고 표현력이 풍부한 프로시저 언어(T-SQL)
  • 뛰어난 쿼리 최적화 기능과 쓰기 집약적인 환경에서의 퍼포먼스 향상
  • 프로그래밍 환경, ETL 도구(SSIS), 치수 모델링(SSAS), 보고 환경(SSRS), 상당히 정교한 작업 스케줄러 등 강력한 보조 도구 및 기능 세트.
  • 스토어드 프로시저 및 UDF 대화형 디버깅
  • 대부분의 관리 태스크를 "클릭" 방식으로 수행할 수 있는 비교적 사용하기 쉬운 창 기반 관리 도구입니다.

많은 사람들이 마이크로소프트 툴을 사용하거나 Windows 환경에 갇히는 것을 이념적으로 반대합니다.그건 이해할 수 있어요.그러나 MySQL은 비즈니스 용도로 무료가 아니며, 널리 이해되지 않는 것 같습니다.

MySQL의 라이센스 정책을 확인하려면 다음 웹 사이트에서 확인하십시오.https://www.mysql.com/about/legal/licensing/oem/

오라클이 mysql을 초과하는 다른 것들이 있습니다.

  • 내부 작업 스케줄링
  • 성숙 스토어드 프로시저 언어
  • 파티션이 있는 테이블
  • 세분화된 접근 제어 및 감사
  • 강력한 복구 기능(flashback, rman, dataguard 등)
  • 원격 데이터베이스 링크
  • 응용 프로그램 익스프레스

제가 다른 벤더의 RDBS를 관리하기 전까지 Oracle은 종종 "독자는 작가를 막지 않습니다.작가는 독자를 막지 않습니다."라고 반복했습니다.Oracle DBA로서 8년 동안 잠금 문제를 다루는 것에 대해 잘 알지 못했습니다.Informix 2년, SQL Server 3년, 잠금에 대해 더 잘 알고 있습니다.

따라서 지원 및 비 RDBMS 기능에 대한 코멘트 외에 잠금 동작을 추가합니다.

나열할 수 있는 기능이 너무 많습니다.nullptr 메시지에서 Wikipedia 참조를 참조하십시오.하지만 미팅에서 가장 중요한 질문은 "MS나 Oracle이 MySQL에서 제공하는 획기적인 기능 중 MS와 Oracle이 시스템 비용을 청구할 수 있는 것은 무엇이며, 우리 회사에서 효과적으로 활용할 수 있는 기능은 무엇입니까?"입니다.

니즈에 맞는다면 모든 장점이 진정한 장점입니다.

Oracle 테이블 클러스터 및 단일 테이블 해시 클러스터(SQL Server에서도 찾을 수 없음)

메모: Oracle에 대해서는 말할 수 없으므로 SQL Server에 대해서만 답변합니다.

물론 MERGE 스테이트먼트, BULK INSERT, GROUP SETs 등 데이터베이스 엔진의 사소한 차이도 있습니다.

하지만 통합 서비스, 분석 서비스, 보고서 서비스 등이 더 큰 비중을 차지합니다.내 생각에 그것들은 매우 중요한 기술들이고 비용만큼의 가치가 있는 것 같다.

MySQL은 Oracle과 MSQL이 제공하는 보다 풍부한 프로그래밍 환경을 제공하지 않았습니다. 특히 저장 프로시저가 없었던 초기 환경에서 더욱 그렇습니다.제 관점에서는 DAO나 ORM 맵퍼 등을 통해 대부분의 비즈니스 로직을 애플리케이션에 투입하는 경향이 있습니다.따라서 기본 데이터베이스 엔진은 덜 중요하며 이론적으로는 애플리케이션을 전송할 수 있습니다.관리의 관점에서 보면, MSSQL은, 데이타베이스의 소유를 훨씬 용이하게 하는 많은 이점(이미 리스트 되어 있는 것)을 제공합니다.마이크로소프트는 또한 개발을 위해 우수하고 가벼운 SQLExpress를 제공하는데, 저는 이 SQLExpress를 사용하기 쉽고 Visual Studio와 잘 통합됩니다.

ThinkJet의 답변에서 영감을 얻은 또 다른 요인은 "더 고성능 애플리케이션을 더 빠르고 저렴하게 개발하기 위해 데이터베이스 독립성을 어느 정도까지 포기할 의향이 있는가?"입니다.모든 코드를 데이터베이스 간에 이식할 수 있어야 한다는 것이 회사의 강조라면 가장 단순한 RDBMS 외에 다른 것을 사용하는 것은 의미가 없으며 Oracle과 Microsoft가 제공하는 개선과 이점은 아무 의미가 없습니다.

진정한 데이터베이스 독립성을 깨기 위해서는 거의 필요하지 않습니다.또한 SQL 확장, PL/SQL 등 지금까지 지불한 모든 기능을 최대한 활용해야 한다는 것이 저의 철학입니다.

물론 다른 사람들도 다를 수 있다.

이 질문에는 SQL Server/Oracle의 과금을 가능하게 하는 것은 개발 기능이라는 암묵적인 전제가 포함되어 있다고 생각합니다.나는 그것이 더 구현/지원이라고 생각한다.

핫 백업은 대부분의 설치에서 비용을 지불할 가치가 있는 주요 기능입니다.

Oracle의 큰 부가가치는 RAC입니다.복제 작업이 복잡하지 않고 여러 서버가 동일한 데이터(즉, 디스크)에 액세스합니다.개발자에게는 (일반적으로) 명확하지 않습니다.

제가 정말 좋아하는 Oracle 기능은 다음과 같습니다.

  • 데이터베이스 클러스터를 만드는 매우 강력한 방법인 실제 애플리케이션 클러스터
  • 빠르게 갱신 가능한 구체화된 뷰 - 쿼리 결과를 저장 및 업데이트하는 매우 효율적인 방법
  • 쿼리의 서브셋에 대한 그룹화 함수를 허용하는 분석 함수(일명 창 함수)는 효율적인 방법으로 결과를 도출합니다.이는 대부분의 경우 자가 조인을 피할 수 있습니다.

제가 알기로는 MySQL에서는 사용할 수 없는 것으로 알고 있습니다.그리고 특히 Enterprise Edition과 그 옵션에는 더 많은 유용한 기능이 있습니다.

언급URL : https://stackoverflow.com/questions/1913547/mysql-vs-sql-server-vs-oracle

반응형