[DB] Oracle, MySql

ys0820.kim·2023년 2월 1일
0

Oracle, MySql은 대표적인 RDBMS로 엄격한 스키마를 가지고 SQL을 사용하지만 차이점이 있다.

  • Oracle
    유닉스/리눅스 환경에서 많이 사용되는 RDBMS
    • 장점
      1. 대용량 정보 관리에 용이
      2. 고성능 트랜잭션 제공
      3. 테이블/인덱스 자체 분석하여 최적의 Cost 산출
      - 가장 효율적인 Plan을 알아서 찾아줌
      4. PL/SQL 지원
    • 단점
      1. 유료 밖에 없어서 비용적인 부담
      2. 필요한 하드웨어 사양이 높음
      3. 초보자 진입 장벽이 높음
  • MySql
    오픈 소스형 RDBMS
    • 장점
      1. 오픈 소스형이라 무료로 이용 가능
      1. 매우 적은 오버헤드 (1MB의 RAM만 사용하여 용량 차지가 적음)
      2. 구조가 단순하여 초보자 접근이 쉬움
    • 단점
      1. 복잡한 쿼리 수행에는 부적합
      2. 트랜잭션 지원이 완벽하지 않음
      3. 사용자 정의 함수 사용이 어려움
  • 차이점
OracleMySql
구조적 차이DB 서버가 통합된 하나의 스토리지를 공유DB 서버마다 독립적인 스토리지를 할당
Join 방식Nested Loop Join/Hash Join/Sort Merge Join 방식 제공 (다양한 join 방식으로 Plan 최적화가 가능)Nested Loop Join 방식만 제공
확장성별도의 DBMS을 설치해 사용할 수 없음별도의 DBMS을 설치해 사용할 수 있음
메모리 사용율최소 수백 MB이상 (크다)1MB에서 사용 가능 (작다)
  • Oracle DB Link
    1. 같은 네트워크 상의 다른 DataBase에 접근할 수 있도록 해주는 기능 (A DB에서 B DB의 테이블 조회 가능)
    2. 다른 DB의 특정 유저에 대한 Link를 만들어 해당 스키마의 테이블들에 접근하는 기술 (확장성++)
1. Tns 정보 활용하여 DB link 생성

CREATE DATABASE LINK TEST
 CONNECT TO [사용자 계정]
 IDENTIFIED BY [비밀번호]
  USING '(DESCRIPTION =
                (ADDRESS_LIST =
                  (ADDRESS = (PROTOCOL = TCP)(HOST=[IP])(PORT = [PORT]))
                )
                (CONNECT_DATA =
                  (SERVICE_NAME = [SID])
                )
              )'


2. 사용 포멧 : 

SELECT COUNT(*) FROM [테이블이름]@[Database Link이름]
(Synonym으로 설정하여 단순하게 사용하는 것이 용이) 
  • 결론
    Oracle은 대규모 트랜잭션 및 비용이나 하드웨어 자원에서 여유가 있는 대기업에서 선호 (기능이 다양함)
    MySql은 무료 오픈 소스임에도 성능이 좋아서 비교적 작은 규모의 회사에서 채택

출처 :
https://dev-jwblog.tistory.com/85
https://velog.io/@alicesykim95/Oracle%EA%B3%BC-MySQL%EC%9D%98-%EC%B0%A8%EC%9D%B4%EC%A0%90

  

0개의 댓글