Back to Blog
DBMySQLRDBMS

0x03. MySQL 소개

왜 수많은 데이터베이스 중 MySQL이 가장 널리 쓰이는지, 그 특징과 장점을 정리한다.

MySQL이란?

MySQL은 **SQL 기반의 관계형 데이터베이스 관리 시스템(R-DBMS)**이다. GPL 라이선스 하에 배포되는 무료 오픈소스 소프트웨어로, 현재는 Oracle이 소유하고 있다. 무료 커뮤니티 버전 외에 기업용 상용 버전도 제공된다.

표준 SQL과 대부분 호환되기 때문에, SQL을 알고 있다면 MySQL을 사용하는 데 큰 어려움이 없다. 상대적으로 규모가 작은 회사들이 많이 채택하는 편이며, 전체 데이터베이스 시장에서 약 1/5 정도의 점유율을 차지한다.

왜 MySQL인가?

데이터베이스 선택지는 다양하지만, MySQL이 꾸준히 선택받는 데는 분명한 이유가 있다.

접근성

  • 높은 인기: 사용자가 많다는 것은 곧 커뮤니티가 크다는 뜻이다. 문제가 생겼을 때 이미 누군가 같은 문제를 겪고 해결한 경우가 많아, 정보를 찾기가 쉽다.
  • 무료로 시작 가능: 비용 부담 없이 바로 사용할 수 있다.
  • 다양한 플랫폼 지원: Linux, Windows, macOS, Solaris, FreeBSD 등 거의 모든 운영체제에서 동작한다.

성능과 확장성

  • 고성능: 빠르고 안정적인 처리 속도를 제공한다.
  • 대용량 처리: 테라바이트(TB) 규모의 데이터도 다룰 수 있다.
  • 높은 효율: 초당 수천 건의 쿼리를 처리할 수 있다 (TPS: Transactions Per Second).

안정성과 편의성

  • 편리한 질의 언어: SQL이라는 고수준 질의 언어를 지원하므로, 복잡한 데이터 조작도 비교적 직관적으로 작성할 수 있다.
  • 동시 접근 지원: 여러 사용자가 동시에 데이터에 접근하는 환경을 지원한다.
  • 트랜잭션 지원: 데이터의 무결성과 안전성을 보장하는 트랜잭션 기능을 제공한다.
  • 높은 가용성: 실제 서비스 환경에서 99.99%의 가동률을 달성하는 사례가 많다.

다른 데이터베이스들

MySQL 외에도 용도에 따라 다양한 데이터베이스가 존재한다. 각각의 특성을 간단히 비교하면 다음과 같다.

데이터베이스특징
MongoDBNoSQL 기반. 문서(Document) 형태로 데이터를 저장한다.
Redis인메모리(In-memory) DB. 캐싱 등 빠른 읽기/쓰기에 특화되어 있다.
Elasticsearch검색 엔진. 대량의 텍스트 데이터에서 빠른 검색이 필요할 때 사용한다.
SQLite파일 기반 DB. 서버 없이 단일 파일로 동작하여 모바일 앱이나 소규모 프로젝트에 적합하다.

모든 상황에 최적인 데이터베이스는 없다. 프로젝트의 요구사항에 따라 적절한 데이터베이스를 선택하는 것이 중요하다.

HGU 전산전자공학부 홍참길 교수님의 23-1 Database System 수업을 듣고 작성한 포스트이며, 첨부한 모든 사진은 교수님 수업 PPT의 사진 원본에 필기를 한 수정본입니다.