나만 알 수 없어서 만든 블로그

1-2. DATABASE (표준 SQL 이해) 본문

개발 기본 지식

1-2. DATABASE (표준 SQL 이해)

코딩낙타 2022. 3. 24. 16:09

표준 SQL 이해(ORACLE, PostgreSQL, MS-SQL, MySql, Maria 등 공통점 및 차이점)

참고: https://blog.siner.io/2021/10/11/rdbms-comparison/

 

주요 RDBMS의 종류

이전 게시물인 RDBMS의 특징을 보고 오면 좋습니다. RDBMS DB 엔진 중 유명한 것들을 비교해보고, 특징을 알아보자. 이 게시글을 보는 모두가 데이터베이스를 고르는 과정에 도움이 되었으면 한다. i

blog.siner.io

Oracle

온프레미스, 클라우드, 하이브리드 클라우등의 환경을 제공

신뢰성을 요구되는 경우엔 오라클을 거의 사용

 

** 카카오뱅크가 오라클과 MySQL을 사용하고 있으며, 공고한 시장장악력을 알 수 있다

** WOW도 오라클로 구성되어 있다

 

Oracle 특징

flashback

  • 커밋 이전 상태로 되돌리는 기능
  • 과거 시점의 데이터 조회도 가능
    • ex) SELECT * FORM 고객 AS OF TIMESTAMP (SYSTIMESTAMP - INTERVAL '1' HOUR)
    • 특정 시점에 존재했던 레코드를 조회해 새로운 테이블을 생성-추가 할 수 있음
CREATE TABLE 고객_BACKUP AS SELECT * FROM 고객 AS OF TIMESTAMP TO_DATE(‘201501101020’, ‘YYYYMMDDHH24MI’)

 

GATHER_PLAN_STATISTICS

SQL Trace를 수행하지 않고도 쿼리 plan을 단계별로 get block을 알수있다. 쿼리 성능을 확인-비교 할 수 있기 때문에 튜닝할때 아주 빈번하게 쓰인다고 한다.

장점 단점
고성능 트랜잭션 처리 제공하여 처리하여 속도가 빠르다 구동에 고사양의 장비가 필요
(메모리 많이 소요)
대규모 데이터베이스 지원 비용이 많이 듦
SQL문을 실행하는 가장 효율적인 방법을 선택
쿼리비용 최소화를 위한 테이블 인덱싱 분석
 

MySQL

 특징

  • top n개의 레코드를 가지고 오는 케이스에 특화됨
  • PHP의 인기도와 MySQL의 인기도는 맞물림
  • 복잡한 알고리즘은 가급적 지원하지 않음
  • 간단한 처리속도를 향상시키는 것을 추구
  • 정확함

 

장점 단점
오픈소스로 무료 이용 가능 문자열 비교에서 대소문자를 구분하지 않음
nested loop join만 지원
  - 바깥 테이블의 처리 범위를 하나씩 접근하면서 추출된 값으로 안쪽 테이블을 조인하는 방식
  - 중첩 루프문과 동일한 원리
  - 좁은 범위에 유리
  - 순차적으로 처리

 

MSSQL

특징 : 관대함

장점 단점
엔터프라이즈 급 관리 가능한 소프트웨어 상당한 비용이 들어감
우수한 데이터 복구 지원 windows 기반 서버에서만 실행되도록 설계되어 있음