MySQL AND Oracle
이번 글은 단순히 제가 수업때 들은 내용을 복습하고 공부하기 보다는 그냥 궁금해서 정리해보고 싶었습니다 🙂
왜냐면 저는 현재 벡엔드 개발자 과정을 밣는중 오라클을 먼저 배우고 스프링에 대해서 공부하다 다시 MySQL과정을 살짝 배우게 되서,
뭐지….두개는 어차피 똑같은 SQL인데 뭐가 다르기에 이걸 또 시간을 할애해서 배울까 라는 궁금증이 생겨서 차이점을 정리해보고 싶더라고요 헿
백엔드 과정시 무조건 배우게 되는 DB (SQL)
백엔드 개발자라면 당연히 무조건 DB에 대해서 어느정도 알고 있어야죠?
서버단에서 다루는 모든 데이터들은 DB에 있기 때문에 DB설계부터 사용, 처리 까지 어느정도 알고 있어야지
전반적으로 백엔드 단을 다룰수 있다고 말할 수 있습니다 (필수!!!!)
그렇다면 저는 왜 수많은 DB중에서 Oracle, MySQL 두개를 듣게 되었을까요???
전세계에서 가장 많이 사용하는 DB가 바로 Oracle과 Mysql입니다 !!!
대부분 돈이 적거나 중소기업들은 MySQL을 선호한다고 하고, 예산이 충분하고 복잡한 비지니스 로직을 요구하는 큰 프로젝트를 개발하는
대기업에서는 대체로 Oracle을 선호한다고 합니다 흠……..
왜요???…
그 이유는 진짜 단순해요. Oralce 이 사용료가 디지게 비싸요 ㅎ
그리고 MySQL보다 Oracle에서 좀더 많은 기능을 지원하고 있어요!
끗
더 궁금해진 저는 Oracle, MySql에 대해서 좀 더 알아봤습니다!
차근차근 정리를 해볼까요??
Oracle
오라클이란 미국의 오라클 회사에서 제작한 세계 점유율 1위 데이터베이스 관리 시스템이며 현재 유닉스 체제에서 가장 많이 사용되는 DBMS이다.
장점:
프로그램 용량 & 데이터 처리
- 다른 데이터베이스 보다 고성능의 트랙잭션을 처리합니다
- Cost 비용을 최소화 하기 위해 테이블과 인덱스를 분석합니다
관리시스템
- Multiple Databases 튜닝이 가능합니다
- 다수의 사용자가 동시에 접근이 가능합니다
변화관리
- 변경 plan을 작성하고 실제 구현하기 전에 변경사항의 효과를 볼 수 있습니다
- 생산 시스템을 방해하지 않습니다
경고
- 오류가 발생하면 설정되어 있는 계정 및 이메일로 연락이 옵니다.
- 경고는 예정된 가종 정지 시간 동안 차단 될 수 있습니다.
분산처리
- DBMS 실행 컴퓨터 | 서버 역할 컴퓨터 | DB응용 프로그램 실행 컴퓨터 를 다르게 분산처리합니다.
단점
- 뒤지게 비싸요 (비용적인 측면 부담)
- 기능이 많습니다 ! (숙련자에게는 매우 편리한 기능들이지만, 초보자에게는 진입장벽이 높죠!)
- 높은 하드웨어 사양이 필요합니다.
MySQL
MySQL은 전세계적으로 가장 널리 사용되고 있는 오픈 소스 데이터베이스이며, MySQL AB사가 개발하여 배포 및 판매하고 있는 데이터베이스 관리툴이다.
장점:
프로그램 용량 & 데이터 처리
- 오직 1MB의 RAM만 사용할 만큼 용량차지가 매우 적습니다 ⇒ 매우 적은 오버헤드를 사용한다.
- 처리속도가 매우 빠르고 대용량 데이터 처리에 용이합니다.
접근성
- 다른 데이터 관리 툴에 비해 구조가 간단하여서 사용하기 편합니다
지원
- 다양한 프로그래밍 언어와 통합할 수 있습니다
- 거의 모든 운영체제 사용을 지원합니다 (오라클 수업때 진짜….저는 맥이라 죽여버리고싶었어요 오라클 이 개xx…)
유연성
- 확장이 가능하고 유연한 구조입니다
가격
- MySql은 무료입니다.
- 다만 오픈소스 ⇒ 무료 | 상업용 ⇒ 유료
단점
- 복잡한 쿼리문은 성능 저하의 원인
- 트랜잭션 지원이 완벽하지 않음
- 사용자정의 함수의 사용이 쉽지 않고 유연한 처리가 이루어 지지 않습니다
Oracle | MySQL 차이점
구조적 차이
Oracle: DB 서버가 통합된 하나의 스토리지를 공유하는 방식
MySQL: DB 서버마다 독립적인 스토리지를 할당하는 방식
조인 방식의 차이
Oracle: 중첩 루프 조인, 해시 조인, 소트 머지 조인 방식을 제공
MySQL: 중첩 루프 조인 방식을 제공
확장성의 차이
Oracle: 별도의 DBMS을 설치해 사용할 수 없음
MySQL: 별도의 DBMS을 설치해 사용할 수 있음
메모리 사용율의 차이
Oracle: 메모리 사용율이 커서 최소 수백MB 이상이 되어야 설치 가능
MySQL: 메모리 사용율이 낮아서 1MB 환경에서도 설치가 가능
이외에도 구문의 차이가 존재합니다!
하지만 저는 이제 막 MySQL을 접했기에 구문까지 정리하는건 욕심 같고 좀 더 다루어보고난 다음에
나머지도 기술 해보는걸로 하겠습니다!
글을 쓰면서 느꼈지만, 어차피 뼈대는 같고 기능적인 부분에서 mysql이 조금 없는 부분이 존재한다.
라고 받아들여지더라고요! (저는 회사입장으로 생각하지 않기 때문. 비용적인 부분이 큰게 핵심)
구문에 차이가 존재하긴 하지만 JAVA & Python 처럼 많이 다른게 아닌 SQL구문을 사용하되 조금씩 다른거니
금방 적응할거 같습니다 🙂
'MySQL' 카테고리의 다른 글
MySQL Replication 구현해보기 Master & Replica(Slave) (0) | 2023.02.09 |
---|---|
MySQL & Oracle 문법의 차이 (0) | 2023.01.13 |
MySQL Join Query (0) | 2023.01.13 |