여러 사람에 의해 공유되어 사용될 목적으로 통합하여 관리되는 데이터의 집합이다. 자료를 구조화하여 저장함으로써 자료 검색과 갱신의 효율을 높일 수 있다.
백엔드를 배우다보면 DB는 반드시 배워야하는 존재이다. 데이터를 관리하는 DB는 여러가지 종류의 프로그램이 있는데, 그중에서도 Oracle과 MySQL을 가장 많이 사용한다.
특히 돈이 적거나 중소기업들은 대체로 MySQL을 선호하고, 충분한 예산과 복잡한 비즈니스 요구를 수행해야 하는 큰 프로젝트를 주로 수행하는 대기업은 대체로 Oracle을 선호한다.
실제로 나도 학원에서 배울때, MySQL→Oracle순으로 DB를 배울만큼 두개의 프로그램은 현업에서 손꼽히게 사용되는 DB프로그램이다. 그 외에도 SQLite, DBeaver, MariaDB등 많은 종류의 관리 툴이 존재하지만 실질적으로 사용되는 프로그램을 먼저 배우는 것이 좋을 듯하다.
오늘은 가장 많이 쓰이는 2가지 DB관리 툴에 대해 두드러지는 특징과 문법적인 차이가 무엇이 있는지 정리하려고 한다. 면접에도 많이 나올 질문일 것 같고, 정리해두면 확실하게 문법적 차이를 기억할 수 있을 것 같다.
오라클이란 미국의 오라클 회사에서 제작한 세계 점유율 1위 데이터베이스 관리 시스템이며 현재 유닉스 체제에서 가장 많이 사용되는 DBMS이다.
👉 관리시스템
👉 변화관리
👉 경고
👉 분산처리
👉 용량&처리
👉 비용적인 부담 증가
👉 기능이 많아 초보자에게 어려움
👉 높은 지원 하드웨어 사양이 필요함
MySQL은 전세계적으로 가장 널리 사용되고 있는 오픈 소스 데이터베이스이며, MySQL AB사가 개발하여 배포 및 판매하고 있는 데이터베이스 관리툴이다.
👉 용량&처리
👉 접근성
👉 지원
👉 유연성
👉 가격
👉 복잡한 쿼리는 성능 저하
👉 트랜잭션 지원이 완벽하지 않음
👉 사용자정의 함수의 사용이 쉽지 않고 유연하지 않음
👉 Oracle: DB 서버가 통합된 하나의 스토리지를 공유하는 방식
👉 MySQL: DB 서버마다 독립적인 스토리지를 할당하는 방식
👉 Oracle: 중첩 루프 조인, 해시 조인, 소트 머지 조인 방식을 제공
👉 MySQL: 중첩 루프 조인 방식을 제공
👉 Oracle: 별도의 DBMS을 설치해 사용할 수 없음👉 MySQL: 별도의 DBMS을 설치해 사용할 수 있음
👉 Oracle: 메모리 사용율이 커서 최소 수백MB 이상이 되어야 설치 가능
👉 MySQL: 메모리 사용율이 낮아서 1MB 환경에서도 설치가 가능
Null 값 확인 함수
현재 날짜 및 시간 확인 함수
날짜 포멧 변환
요일 변환의 숫자 범위
문자와 문자 합치는 방법
형변환 방법
페이징 처리
시퀀스 사용시 다음 번호 불러오는 방법
둘다 깊이 사용은 안해봤지만, 겉핡기식으로 사용해본 결과 확실히 MySQL이 초보자가 사용하기 편하다. 내가 시각디자인을 전공해서 그런지 몰라도 UI/UX가 훨씬 좋다. 조사해보니 오라클이 훨씬 기능적인 면에서 우수해 보이지만, UI/UX가 그리 좋지 못해서 선뜻 사용하기 어려워보인다. 하지만 큰 트래픽과 데이터를 다루는 대기업에서 오라클을 사용한다고 하니 익숙해지도록 노력해야겠다.
좋네요 ㅎ