2022-08-03 @이영훈
MySQL을 공부
HBase와 MongoDB는 특정 유즈케이스에 적합한 DBMS인 반면, MySQL 서버와 같은 RDBMS는 범용 DBMS 영역에 속한다.
어떤 서비스를 개발하든 초기에는 범용 DBMS를 선택하고, 사용량이나 데이터의 크기가 커지면 일부 도메인 또는 테이블의 데이터만 전용 DBMS로 이전해서 확장하는 형태를 대부분 회사에서 선택하고 있다.
그래서 어떤 서비스를 개발하더라도 RDBMS 선택은 피할 수 없으며, 그 선택의 첫 번째 후보로 MySQL 서버가 견고하게 자리잡고 있다. 이는 다른 DBMS보다 MySQL 서버의 노력과 시간 투자 대비 효율이 가장 높다는 것을 의미하며, 서비스 개발자라면 MySQL 서버를 이해하기 위해서 시간을 투자해야하는 이유다.
ORM에 대해
ORM이 최적은 아니어도 최악의 쿼리를 만들어내는 경우를 회피하기 위해 서비스 개발자는 RDBMS와 쿼리 처리 방식을 이해할 필요가 있다.
개발 생상선에 가중치를 줄 것인지 성능이나 안정성 그리고 서버 비용에 가중치를 줄 것인지는 직접 판단해야 할 문제다.
1장 소개
1. MySQL 소개
MySQL의 엔터프라이즈 에디션과 커뮤니티 에디션의 소스코드는 동일하다.
MySQL 5.5 이전 버전까지 엔터프라이즈 에디션과 커뮤니티 에디션의 차이는 얼마나 자주 패치 버전이 릴리즈되느냐 정도였다.
2011년 2월 MySQL 5.5 GA(General Available) 버전부터는 엔터프라이즈 에디션의 소스코드가 더는 공개되지 않도록 바뀌었다. 하지만 커뮤니티 에디션은 여전히 소스코드가 공개된 상태로 유지되고 있다.
오라클에 인수된 초기에는 큰 변화가 없는 듯 보였지만, 이때부터 MySQL 서버의 소스코드 레벨부터 리팩토링이 시작됐다.
MySQL 5.5 버전부터 5.7 버전까지는 안정성과 성능 개선에 집중했으며, MySQL 8.0 버전부터는 상용 DBMS가 가지고 있는 기능들이 장착되기 시작했다.
2. 왜 MySQL인가?
MySQL과 오라클을 비교해 본다면 당연히 MySQL의 경쟁력은 가격이나 비용일 것이다.
방대한 양의 데이터를 저장하기에 오라클 DBMS는 너무 비싸다.
DBMS 선택 기준
•
자기가 가장 잘 활용할 수 있는 DBMS
•
안정성
•
성능과 기능
•
커뮤니티나 인지도