안녕하세요! 방학 기념으로, SQL을 공부하고 싶어서 생활코딩님의 MySQL 강의를 들으려 했으나, Database의 개념부터 잡고, 강의를 듣는 것을 추천하셔서 데이터베이스에 대해 먼저 정리하게 됐습니다.
소개
데이터를 통해 통찰력을 얻고, 다양한 일을 하기 위해서는 데이터를 저장하고 꺼낼 수 있어야 합니다.
그러기 위해 가장 먼저 생각할 수 있는 첫 수단은 파일(file)입니다.
파일의 장점은 아주 많습니다.
1. 배우기가 쉽다.
2. 운영체제마다 파일 기능을 제공한다.
3. 이메일이나 메신저를 통해 간편하게 전송, 공유 가능
위에 나열한 점, 그리고 훨씬 많은 장점이 존재합니다.
하지만! 파일은 성능이나 보안, 편의성에 한계를 가집니다.
파일이 가진 이런 한계를 극복하기 위한 수단으로 구조화된 데이터의 저장소, 데이터베이스(DB, database)를 사용합니다.
데이터베이스는 조작하는 별도의 소프트웨어를 통해 제공되며, 이러한 소프트웨어를 데이터베이스 관리 시스템(DBMS, Database Management System)이라고 부릅니다.
(흔히 데이터베이스라고 부르는 것이 DBMS를 말합니다.)
대표적인 DBMS로, MySQL, SQL Server, 오라클(Oracle), MongoDB 등이 존재합니다.
이러한 DBMS들은 특징에 따라 관계형(Relational), 키-값형(KV store), 객체형(Object), 문서형(Document), 컬럼 패밀리형(Column Family) 등의 형식으로 나눌 수 있습니다.
(저는 앞으로 관계형 데이터베이스 중 하나인 MySQL을 공부할 예정입니다.)
왜 데이터베이스를 사용해야 하는가?
데이터베이스에서는 데이터의 입력(input)과 출력(output)이 일어납니다.
입력은 데이터의 생성(Create), 수정(Update), 삭제(Delete), 세 가지의 작업으로 나눌 수 있고, 출력은 데이터를 읽는(Read) 것을 말합니다. 데이터에 관련해 이런 네 가지 작업을 CRUD라고 부르고 나머지 복잡한 기능들은 CRUD를 위한 기능으로 생각할 수 있습니다.
파일은 아주 간편하게 사용할 수 있는 가장 간단한 데이터를 저장하는 방법입니다. 하지만 파일이 N만 개, N억 개가 된다면 조건에 맞는 데이터를 찾는다거나, 데이터를 수정하는 등의 기능을 수행하기가 힘듭니다.
그래서 우리는 데이터를 잘 정리 정돈할 필요가 있습니다. 다른 말로 구조적으로 데이터를 저장할 필요가 있습니다. 그런 방법으로 스프레드시트(예를 들어, 마이크로소프트의 엑셀)이 있고, 위에서 언급한 데이터베이스 소프트웨어들이 있습니다. 데이터베이스 소프트웨어는 프로그래밍 언어를 이용해서 데이터를 추가하고 수정하고 삭제할 수 있다는 점에서 스프레드시트와 차별점을 가집니다. 이런 장점은 자동화로 이어지기에 아주 중요한 장점입니다.
필요성을 알았으니, 앞으로 한번 공부해보도록 하겠습니다.
글 읽어주셔서 감사합니다 ^^
참고자료
[1]
https://opentutorials.org/course/3162
[2]
https://ko.wikipedia.org/wiki/%EC%BB%B4%ED%93%A8%ED%84%B0_%ED%8C%8C%EC%9D%BC
[3]
https://db-engines.com/en/ranking
'컴퓨터 공학 Computer Engineering > 데이터베이스 Database' 카테고리의 다른 글
데이터베이스의 개념적 구성 (개체, 속성, 관계) (0) | 2021.09.09 |
---|---|
데이터베이스 정의, 특징 (0) | 2021.09.09 |
[MySQL] INSERT, SELECT, UPDATE, DELETE 정리 (0) | 2021.06.30 |
[MySQL] 데이터베이스 생성, 삭제, 사용 및 테이블 생성 (0) | 2021.06.26 |
[MySQL] 윈도우 환경에서 Bitnami를 활용해 MySQL 설치하기 (0) | 2021.06.25 |