MySQL은 세계에서 가장 널리 사용되는 오픈 소스 데이터베이스입니다. DB-Engines에 따르면 MySQL은 Oracle Database의 뒤를 이어 2번째로 널리 사용되는 데이터베이스로 선정되었습니다. Facebook, Twitter, Netflix, Uber, Airbnb, Shopify, Booking.com을 비롯해 세계인들이 가장 많이 액세스하는 애플리케이션 중 다수가 MySQL을 사용 중입니다.
MySQL은 오픈 소스이므로, 25년 이상의 기간 동안 사용자들의 긴밀한 협력을 통해 개발된 수많은 기능들이 탑재되어 있습니다. 따라서 많은 이들이 선호하는 애플리케이션 또는 프로그래밍 언어라면 MySQL Database도 지원할 가능성이 매우 높습니다.
'My ess-cue-el'이 'MySQL'을 발음하는 '공식적'인 방식이기는 하지만, 'my sequel'이라고 발음하는 이들도 많습니다.
MySQL 로고는 Sakila라는 이름의 돌고래입니다. 'Name the Dolphin' 대회에서 사용자들이 제안 한 많은 이름들 중 최종적으로 선택된 이름입니다. 우승을 차지한 이름인 Sakila는 아프리카 에스와티니(구: 스와질랜드)의 오픈 소스 소프트웨어 개발자인 Ambrose Twebaze가 제안한 것이었습니다.
데이터베이스는 모든 소프트웨어 애플리케이션에 필수적인 데이터 저장소입니다. 예를 들어 누군가 웹 검색을 수행하거나, 계정에 로그인하거나, 트랜잭션을 완료할 때마다 데이터베이스 시스템은 추후 액세스할 수 있도록 해당 정보를 저장합니다.
관계형 데이터베이스는 모든 데이터를 하나의 큰 저장소에 저장하는 대신 테이블 단위로 나누어 저장합니다. 관계형 데이터베이스의 구조는 쿼리 속도 향상을 위해 최적화된 물리적 파일들로 구성되어 있습니다. 데이터 테이블, 뷰, 행, 열 등의 객체들이 포함된 논리적 데이터 모델은 유연한 프로그래밍 환경을 제공합니다. 사용자는 일대일, 일대다, 고유, 필수 또는 선택 사항, 그리고 서로 다른 테이블 간의 '포인터' 등 서로 다른 데이터 필드 간의 관계를 제어하는 규칙을 직접 설계합니다. 규칙 설계가 완료되면 관계형 데이터베이스가 설정된 규칙을 적용합니다. 잘 설계한 규칙은 일관성이 없거나, 중복되거나, 동떨어지거나, 오래되었거나, 누락된 데이터는 사용자의 애플리케이션에 아예 표시되지 않게 만들어 줍니다.
'MySQL'의 'SQL'은 'Structured Query Language'의 약자입니다. SQL은 데이터베이스 액세스에 사용되는 가장 일반적이고 표준화된 언어입니다. 프로그래밍 환경에 따라 직접 SQL을 입력하거나(예: 보고서 생성), 다른 언어로 작성된 코드에 SQL 문을 포함하거나, SQL 구문이 드러나지 않게 해 주는 언어별 API를 사용할 수 있습니다.
오픈 소스란 해당 소프트웨어를 누구든 사용하고 수정할 수 있음을 의미합니다. 누구든 인터넷에서 MySQL 소프트웨어를 다운로드하고 무료로 사용할 수 있습니다. 필요에 따라 소스 코드를 변경할 수도 있습니다. MySQL 소프트웨어는 GNU General Public License(GPL)를 사용하여 각자 다른 상황에서 MySQL 소프트웨어로 수행할 수 있는 작업과 없는 작업을 정의합니다.
GNU GPL이 불편하거나 MySQL 코드를 상용 애플리케이션에 내장시켜야 하는 경우 Oracle로부터 상용 라이선스 버전을 구입할 수도 있습니다. 자세한 내용은 MySQL Licensing Information 섹션을 참고하세요.
Stack Overflow와 JetBrains의 설문조사에 따르면 MySQL는 개발자들이 가장 선호하는 데이터베이스로 꾸준히 선정되고 있습니다. 개발자들은 MySQL이 제공하는 고성능, 안정성, 사용 편의성을 높이 평가하였습니다.
MySQL은 다음과 같은 주요 개발 언어 및 드라이버를 지원합니다.
PHP | Python | Java/JDBC | Node.js |
Perl | Ruby | Go | Rust |
C | C++ | C#/.NET | ODBC |
또한 MySQL은 WordPress, Drupal, Joomla, Magento 등의 가장 성공적인 오픈 소스 애플리케이션들을 위한 데이터베이스로도 활용되고 있습니다. MySQL은 웹 애플리케이션 개발용으로 매우 인기있는 오픈 소스 스택인 LAMP(Linux, Apache, MySQL, Perl/Python/PHP) 중 'M'을 담당하고 있습니다.
MySQL 데이터베이스는 멀티스레드 SQL 서버로 구성된 클라이언트/서버 시스템으로서, 다양한 백엔드, 다수의 클라이언트 프로그램 및 라이브러리, 관리 도구, 광범위한 애플리케이션 프로그래밍 인터페이스(API)를 지원합니다. 또한 Oracle은 고객의 애플리케이션에 내장하여 보다 작고, 빠르고, 관리하기 용이한 스탠드얼론 제품을 만들 수 있는 임베디드 멀티스레드 라이브러리 형식의 MySQL도 제공하고 있습니다.
MySQL은 빠르고, 신뢰할 수 있고, 확장할 수 있고, 간단하게 사용할 수 있습니다. 대규모 데이터베이스를 빠르게 처리하기 위해 처음 개발되었으며 이후 오랫동안 극히 까다로운 운영 환경에서 사용되어 왔습니다.
MySQL의 개발은 지금도 계속되고 있지만 이미 매우 풍부하고 유용한 기능 세트를 갖추었습니다. MySQL은 인터넷상의 데이터베이스에 액세스하기에 매우 적합한 연결성, 속도, 보안성을 제공합니다.
MySQL의 주된 이점은 다음과 같습니다.
사용 편의성: 개발자들은 단 몇 분 만에 MySQL을 설치할 수 있습니다. 또한 MySQL 데이터베이스의 관리 방식은 간단합니다.
신뢰성: MySQL은 가장 성숙하고 널리 사용되는 데이터베이스 기술 중 하나입니다. 25년 이상 다양한 시나리오 하에서의 테스트를 거쳤고, 세계 최대의 기업들 중 다수가 현재도 사용 중에 있습니다. MySQL은 기업의 비즈니스 크리티컬 애플리케이션 실행에 필요한 신뢰도를 축적하였습니다.
확장성: MySQL은 세계에서 가장 많은 사용자를 보유한 애플리케이션들의 수요에도 대응할 수 있는 확장성을 제공합니다. Facebook 등의 기업들은 MySQL의 네이티브 복제 아키텍처를 통해 애플리케이션을 확장하여 수십억 명의 사용자들을 지원하고 있습니다.
성능: HeatWave MySQL은 TPC-H, TPC-DS, CH-benCHmark 등 여러 표준 산업 벤치마크에서 입증된 바와 같이 다른 데이터베이스 서비스보다 빠르고 비용도 저렴합니다.
고가용성: MySQL은 완전히 통합된 기본 복제 기술 세트를 통한 고가용성 및 재해 복구 기능을 제공합니다. MySQL을 사용하는 고객은 고객은 비즈니스 크리티컬 애플리케이션을 실행하고 서비스 레벨 계약(SLA)을 준수하기 위한 다음과 같은 목표들을 달성할 수 있습니다.
보안: 데이터 보안이란 데이터 보호와 함께 European Union General Data Protection Regulation, the Payment Card Industry Data Security Standard, the Health Insurance Portability and Accountability Act, the Defense Information Systems Agency’s Security Technical Implementation Guides 등의 관련 업계 및 정부 규제를 존중하고 준수하는 행위를 포괄하는 개념입니다. MySQL Enterprise Edition은 인증/권한 부여, 투명한 데이터 암호화, 감사, 데이터 마스킹, 데이터베이스 방화벽 등의 고급 보안 기능을 제공합니다.
유연성: MySQL Document Store는 스키마 없이 기존의 SQL 및 NoSQL 데이터베이스 애플리케이션을 개발하기 위한 최대한의 유연성을 제공합니다. 개발자는 동일한 데이터베이스 및 애플리케이션에서 관계형 데이터 및 JSON 문서를 혼합하여 사용할 수 있습니다.
클라우드 애플리케이션: MySQL은 클라우드 업계에서 많은 사랑을 받고 있는 데이터베이스입니다. HeatWave MySQL를 사용하면 MySQL 쿼리 성능을 대폭 개선하고, 별도의 분석 데이터베이스에 대한 추출, 변환 및 로드(ETL) 복제의 복잡성, 대기 시간, 위험 및 비용 없이 트랜잭션 데이터에 대한 실시간 분석을 수행할 수 있습니다. 데이터 보안을 강화하고 Oracle Cloud Infrastructure(OCI), Amazon Web Services(AWS) 또는 Microsoft Azure에서 HeatWave MySQL 기반 앱을 배포할 수 있습니다. HeatWave MySQL는 Amazon Aurora, Amazon Redshift 및 Snowflake보다 빠르고 저렴합니다.
MySQL은 다음과 같은 분야에서 크게 각광받고 있습니다.
전자상거래: 세계 최대 규모의 전자상거래 애플리케이션 대부분이 MySQL 상에서 트랜잭션 시스템을 실행하고 있습니다(예: Shopify, Uber, Booking.com). 사용자 프로필, 자격 증명, 사용자 콘텐츠, 각종 재무 데이터(예: 결제, 사기 감지)등의 관리에도 널리 사용됩니다.
소셜 플랫폼: Facebook, Twitter, LinkedIn은 MySQL을 사용 중인 세계 최대 규모의 소셜 네트워크 서비스들입니다.
콘텐츠 관리: 단일 용도의 문서 데이터베이스와는 달리 MySQL은 하나의 데이터베이스에서 SQL과 NoSQL을 모두 사용할 수 있습니다. MySQL Document Store를 사용하면 CRUD 작업이 가능해지고, SQL을 활용하여 JSON 문서에서 보고 및 분석용 데이터를 쿼리할 수 있습니다.
SaaS 및 ISV: Ericsson, F5, IBM을 비롯한 2,000개 이상의 ISV, OEM, VAR들은 자사 애플리케이션, 하드웨어, 어플라이언스의 경쟁력을 높이고, 출시 시간을 단축하고, 판매 비용을 절감하기 위해 MySQL을 임베디드 데이터베이스로 사용하고 있습니다. 또한 MySQL은 Zendesk 및 HubSpot과 같이 널리 사용되고 있는 SaaS 애플리케이션들을 뒷받침하는 데이터베이스이기도 합니다.
MySQL을 사용하는 다른 인기 애플리케이션들로는 온라인 게이밍, 디지털 마케팅, 리테일 POS 시스템, 사물인터넷(IoT) 모니터링 시스템용 애플리케이션 등이 있습니다.
MySQL Enterprise Edition을 사용하는 온프레미스 애플리케이션: MySQL Enterprise Edition에는 최고 수준의 MySQL 확장성, 보안, 신뢰성, 업타임을 달성하기 위한 가장 포괄적인 고급 기능, 관리 도구, 기술 지원 모음이 포함되어 있습니다. MySQL Enterprise Edition은 비즈니스 크리티컬 MySQL 애플리케이션의 개발, 배포, 관리에 따르는 위험, 비용, 복잡성을 감소시켜 줍니다. MySQL Enterprise Backup, Monitor, Firewall, Audit, Transparent Data Encryption, Authentication 등의 다양한 보안 기능을 통해 고객이 자사의 데이터를 보호하고 정부 및 산업별 규제를 준수할 수 있도록 지원합니다.