코딩/MySQL

마이에스큐엘, MySQL이란

moodyblues 2021. 12. 31. 13:54
반응형

MySQL이란

1. MySQL 정의

데이터베이스(database) 관리 시스템이다.

MySQL과 데이터베이스(database)
MySQL이란, 데이터베이스(database)란

2. 데이터베이스(database)란

데이터를 구조적으로 정렬하는 기술이다.
예를 들어 엑셀 파일이나, 구글 스프레스 시트와 유사한 방식이다.
엑셀 파일이나, 구글 스프레스 시트도 하나의 파일에 불과하다.
그러나 docx파일이나 jpg 파일 등 단순한 파일 1개와, 엑셀 파일 1개로 데이터를 저장하는 것은 파일의 내용이 구조적으로 다르다.
엑셀 파일은 그 안의 내용이 데이터베이스화 될 뿐 아니라 언제든지 데이터를 가공할 수 있기 때문이다.|
즉 엑셀 파일이나, 구글 스프레스 시트와 유사한 구조이다.

그러나 MySQL, 즉 '데이터베이스' 관리 시스템이 엑셀이나 구글 스프레드시트보다 한 단계 더 진화했다.
MySQL, 즉 '데이터베이스' 시스템은 이들보다 한 단계 더 발전한 개념이다.
즉 다음의 순서이다.

파일(File) → 스프레드시트(Spredsheed) → 데이터베이스(Databese)

엑셀과 '데이터베이스(database) 관리 시스템'의 가장 큰 차이점은
엑셀의 작업을 프로그래밍 적으로 하는 것이 '데이터베이스(database) 관리 시스템'이라는 것이다.
즉 컴퓨터 언어를 사용해서 자동으로 데이터를 추가, 수정, 삭제, 읽기를 하는 과정이다.

3. 엑셀과 MySQL의 차이점

구분 스프레드쉬트 MySQL
공통점  데이터를 '표'의 형태로 표현한다 데이터를 '표'의 형태로 표현한다(엑셀과 여러 가지 기능이 비슷하다)
차이점   코딩(컴퓨터 언어)을 통해 제어가 가능하다.
즉 영어를 알아야 미국 사람한테 말을 걸듯이, 컴퓨터에 말을 걸 수 있는 언어를 알아야 한다.
자주 쓰는 말에는 insert, select, update, delete 등이 있다.

4. 데이터베이스(database)의 종류

DB-Engines Ranking을 보면 1위가 오라클이고 2위가 MySQL이다.

데이터베이스 순위
(출처: DB-Engines Ranking에서 인용) 데이터베이스 순위

위 표를 보면 '관계형 데이터베이스' 모델 (Relational DBMS) 1~4위이고, 5위: MongoDB이다.

관계형 데이터베이스란 데이터를 표의 형태로 정리 정돈하고 정렬, 검색 등을 빠르고 안전하게 할 수 있는 시스템이다.

1) '관계형 데이터베이스' 모델 (Relational DBMS)

  1. 오라클(Oracle) : 오랜 세월 동안 절대 강자이지만 MySQL과 비슷한 것을 볼 수 있다. 오라클은 많이 비싸다. 가격이 몇 천만 원 혹은 1억 원 이상이다. 또한 기술지원을 위한 컨설팅 비용도 비싸다. 그러므로 돈이 충분하고, 데이터의 신뢰성을 매우 중요하게 다루어야 하는 관공서나 대기업 등에서 사용한다.
  2. MySQL : 1994년 스웨덴에서 개발 시작된, 무료 오픈소스 데이터베이스 관리 시스템이다. 자금이 많지 않은 작은 회사나 데이터의 신뢰성이 그렇게 크게 중요하지 않은 소기업이나 개인이 사용하면 되는 시스템이다. 관계형 데이터베이스의 중요 기능을 대부분 갖추고 있다. 웹사이트를 만들면서 수천만 원이 넘는 데이터베이스를 사용한다는 것은 사실 불가능하다. 웹이 성장하면서 웹과 함께 MySQL은 총알처럼 성장했다.
  3. SQL Sever
  4. PostgreSQL
  5. DB2
  6. Access

2) 관계형 데이터베이스가 아닌 시스템의 대표

  • MongoDB : Document store 모델이다. 그러므로 관계형 데이터베이스가 하지 못하는 분야를 위해 유용하다.

5. 왜 데이터베이스가 필요한가: 데이터 베이스의 역할

아래의 파일과 데이터베이스의 차이에서 알 수 있다.

1) 파일

사용하기 쉽고, 편리하고 어느 곳에나 전송이 용이하다. 이메일이나 sns를 이용하여 주고받을 수 있다. 아래의 데이터베이스도 결국은 '파일'이라는 포맷에 저장한다. 그러나 단순한 파일로는 데이터베이스의 역할을 하지 못한다.

2) 데이터베이스(database)

현대 사회는 데이터를 가공해서 다양한 일을 할 수 있다.
빅데이터나 인공지능 등의 기술을 활용해서 어떤 데이터 덩이로부터 유용하고 의미 있는 분석 결과를 도출할 수 있다.
단순한 파일로는 이런 일을 할 수 없다. 데이터를 저장하는 기술과 꺼낼 수 기술이 필요하다.

파일의 한계를 극복하기 위해서 만들어진 것이 데이터베이스이다. 
데이터베이스는 데이터를 빠르고 안전하게 보관하고 사용할 수 있는 전문화된 소프트웨어이다.

6. 데이터 베이스의 주요 4가지 기능: 입력(input)과 출력(output)의 역할 = CRUD

1) 입력(input)

  • 데이터의 생성(Create)
  • 데이터의 수정(Update)
  • 데이터의 삭제(Delete)

2) 출력(output)

  • 데이터 읽기(Read)

엑셀은 데이터베이스적인 특성을 가지고 있다. 즉, 필터, 소트(선택, 정렬 = 오름차순 또는 내림차순으로 정렬 방법 선택 가능), 행과 열 숨기기(hide) 등 데이터를 보관하고 가공할 수 있는 기능이 있기 때문이다.

그러나 여기서 한 단계 더 진화한 것이 '데이터베이스' 관리 시스템이고 그중 하나가 MySQL인 것이다.

반응형