생활코딩/DataBase

[개요] 데이터베이스란

hayjo 2020. 9. 21. 15:50

[강의 출처] opentutorials.org/course/3162

 

DATABASE1 - 생활코딩

수업소개 이 수업은 정보기술의 심장인 데이터베이스에 대한 포괄적인 소개를 담고 있습니다. 수업대상 이 수업은 구체적인 데이터베이스 제품을 다루지 않습니다. 데이터베이스라는 복잡한 ��

opentutorials.org


DataBase

  • 기존 저장방식인 file의 성능/보안/편의성 개선을 위해 고안된 소프트웨어
  • 여러 회사의 제품이 존재 ex) MySQL, Oracle, SQL Server, PostgreSQL, MongoDB
  • SpreadSheet와의 가장 큰 차이는 프로그래밍 언어를 통한 제어(CRUD 작업 등) 및 자동화 가능 여부
  • 크게 관계형 DB와 그외의 DB로 구분됨
    • 관계형 DB: 테이블(표 형태)로 데이터를 구조화하여, 빠르고 안전하게 정렬/검색 가능
    • 그외의 DB: 기존 데이터와는 다른 다양한 종류의 데이터(SNS 데이터, 사물인터넷 데이터 등)가 등장하면서
    •                   새로운 DB형식을 추구하는 NoSQL 흐름을 타고 2010년 무렵부터 인기를 끌기 시작한 데이터베이스들

데이터 저장 단계 도식

 

각 제품군 Summary

  • Oracle: 관계형 DB를 제공하는 DB시장의 절대강자. 관공서 및 대기업, 금융업계 등 높은 신뢰도가 필요한 기관에서 주로 사용하며 가격도 그에 상응함
  • MySQL: 관계형 DB 오픈소스 서비스. 무료기 때문에 입문용으로도 좋고, SNS처럼 대규모의 데이터도 다룰 수 있음
  • MongoDB: NoSQL DBMS 중 가장 점유율이 높은 오픈소스 서비스(SSPL).

 

 

각 제품들은 Server와 Client로 구성되어 있고, Client는 웹브라우저(크롬, 파이어폭스, 사파리, ... )처럼 여러 가지 형태가 있다.

대표적인 관계형DB인 MySQL Client에도 물론 여러 가지가 있으며 그 중 대표적인 것 두 가지를 아래 소개한다.

 

MySQL monitor

  • MySQL과 함께 설치되는 CUI Client
  • CUI 기반이므로 어디서나 실행 가능 (자원 절약 이슈 등으로 GUI를 제공하지 않는 환경에서도 사용 가능)

 

MySQL Workbench

  • MySQL 공식 지원 GUI Client, 무료
  • GUI를 통해 SQL문 작성 및 실행이 가능