[CS] 데이터베이스 - ORACLE, MySQL

두두·2023년 10월 31일
0

CS

목록 보기
7/14

Oracle

오라클이 뭔데요

오라클 사가 개발한 관계 DBMS

  • 가장 높은 시장 점유율과 신뢰성을 지닌 데이터베이스 관리 시스템
    이라고 할 수 있다!

오라클 개요

  • 전자상거래와 데이터 웨어하우징을 위한 고성능의 인터넷 플랫폼을 제
  • 멀티미디어 데이터 타입을 관리 할 수 있음.
    ex) 객체 관계 데이터베이스, 워드 프로세서 문서, 스프레드 시트 문서, 파워포인트, XML, 그래픽스, 비디오
  • 온라인 트랜잭션 처리(OLTP:Online Transaction Processing), 데이터 웨어하우스, OLAP(Online Analytical Processing), 전자 상거래 등 최근에 등장하고 있는 데이터베이스의 중요한 응용 분야에도 활용 가넝~

오라클 서버 & 인스턴스

오라클 서버

하나의 오라클 인스턴스 + 하나의 오라클 데이터베이스

오라클 인스턴스

백그라운드 프로세스들과 메모리 구조의 조합

✅ 사용자가 오라클 서버에 SQL 문을 입력하기 전에
반드시 오라클 인스턴스에 연결되어 있어야 함!

  • 접속(connection)
    사용자 프로세스와 서버 프로세스 간의 통신 경로
  • 세션(session)
    사용자가 오라클 서버로부터 인증될 때부터 시작하여
    사용자가 로그아웃을 하거나 비정상적으로 종료될 때까지 지속

오라클 특징

  • 클라이언트/서버 환경(분산 처리)
  • 다양한 플랫폼
  • 대규모 데이터베이스
  • 다중 동시 데이타베이스 사용자
  • 높은 가용성
  • 산업 표준
  • 높은 보안 관리
  • 자동 데이터베이스 회복 및 자동 에러 정정
  • XML 등 다양한 데이터 타입 지원

단점

  • 비용적인 부담 증가
  • 기능이 많아 초보자에게 어려움
  • 높은 지원 하드웨어 사양이 필요

오라클 DB의 저장 구조


사진 출처 http://ojc.asia/bbs/board.php?bo_table=LecOracle&wr_id=303

  • 오라클 데이터베이스는 적어도 하나의 테이블 스페이스를 포함함!

테이블스페이스??
데이터파일이라고 부르는 하나 이상의 파일로 구성됨
→ 시스템 테이블스페이스, 임시 테이블스페이스, 사용자 테이블스페이스 등으로 구분
테이블스페이스는 하나 이상의 세그먼트를 포함

세그멘트??
특정한 유형의 데이터 구조를 저장하기 위해 할당되는 익스텐트들의 집합

익스텐트??
오라클 데이터 블록(운영체제의 데이터 블록이 아님)들로 이루어짐

데이터블록??
읽기와 쓰기 연산의 가장 작은 단위
데이터파일 내의 데이터를 오라클 데이터 블록들로 관리



MySQL


그러면

MySQL은 뭐죠?

ORACLE사의 DBMS 소프트웨어로 오픈소스로 제공
전세계적으로 가장 널리 사용되고 있는 오픈 소스 데이터베이스 중 하나
MySQL AB사가 개발하여 배포 및 판매하고 있는 데이터베이스 관리툴

특징

  • 처리 속도가 빠름
  • 데이터 처리에 용이

→ MySQL은 오직 1MB의 RAM만 사용할만큼 용량 차지가 적다 = 매우 적은 오버 헤드를 사용함

  • 다른 DBMS에 비해 구조가 간단함
  • 사용하기 편리
  • 다양한 프로그래밍 언어와 통합 가능
  • 거의 모든 운영체제 지원
  • 유연하고 확장이 가능
  • 무료! 비용적인 부담 적음
  • 오픈소스는 무료, 상업용은 유료

단점

  • 복잡한 쿼리는 성능 저하
  • 트랜잭션 지원이 완벽하지 않음
  • 사용자정의 함수의 사용이 쉽지 않고 유연하지 않음


오라클과 MySQL의 차이를 잘 정리해준 블로그가 있길래 링크를 남겨두겠음
Oracle과 MySQL의 차이점

profile
멋쟁이가 될테야

0개의 댓글