본문 바로가기
DB

생활코딩 - DATABASE1 강의 정리

by ballena 2022. 10. 1.

정말 입문자를 위한 강의였다. 추상적이지만 방향을 제시해주는 내용.

아는 내용들이지만 어차피 차근차근 공부하기로 생각했으니 교양 듣는다 생각하고 들었다.


데이터가 왜 중요한가?

-> 데이터를 가공해 다양한 일을 할 수 있기 때문 : 인터넷, 웹, 앱에 접속해 상호 작용/인공지능/분석을 통한 통찰 등

 

어쨌든 위와 같은 일들을 하기 위해서는 일단 데이터를 저장해야 한다.

-> 어떻게?

 

일단은 파일(File)

-> 사용하기 쉽고, 어디에서든 사용할 수 있다.

 

하지만 파일은 성능/보안/편의성 부분에서 한계를 가지고 있다.

-> 이 한계를 극복하기 위한 SW가 Database다.

 

DB는 방대한 기능을 가진 정보 도구다.

-> 데이터와 관련해 일어날 수 있는 일들이 다양하기 때문이다.

-> 일어날 수 있는 각각의 일들에 대해 알아볼 것이 아니라, DB의 단순한 본질을 생각하자.

어떤 DB를 만나던 우리가 해야 할 일은...

1. Input(입력)

   - 데이터의 Create, Update, Delete

2. Output(출력)

   - 데이터의 Read

이 4가지 작업이 전부다. 나머지 잡다한 기능들은 부가적인 것일 뿐이다.

 

우리가 데이터를 단순히 파일에 저장했다고 가정한다면...

-> 정렬 방식을 바꿀 수 없다

-> 특정 내용만 골라서 보여줄 수 없다.

 

그렇다면 조금 더 나은 spreadsheet를 사용한다면?

-> 각 요소의 값들을 열을 기준으로 나눌 수 있을 것이다

-> 각 텍스트 파일에 나눠져 있던 내용을 하나의 시트로 볼 수 있을 것이다.

-> 특정 열의 여러 데이터 중 원하는 데이터만 골라서 볼 수 있을 것이다.

-> 정렬, 필터링 등 어느 정도 원하는대로 만질 수 있을 것이다.

 

이렇게 비교해보면 파일보다는 스프레드시트가 편하다.

넓은 의미로 보면 스프레드시트도 DB의 일종이지만...엄밀히 생각하면 데이터베이스로 가는 과도기에 있는 형식이다.

데이터베이스들은 프로그래밍적인 방법으로 데이터를 작업할 수 있다는 장점이 있다.

-> 자동화가 가능하다는 의미.

 

 

 

강의 녹화일 기준(2018년) 가장 많이 사용되는 DB 순위(https://db-engines.com/en/ranking)를 보면...

1위부터 순서대로 Oracle, MySQL, SQL Server, PostgreSQL, MongoDB 등이었다.

2022년 10월 기준 순위도 똑같았다. 

 

자신이 속해 있는 집단이 사용하던 DB가 있다면 그것을 사용해야겠지만, 그런 경우가 아니라면 그냥 많이 사용하는 DB를 연습하는 것이 좋을 것이다.

일단 뭐...많이 사용하는 상위 4개 DBMS가 관계형 DB(RDBMS)다. 굳이 시작하려면 이 중에서 골라 시작하는 것이 좋을 것이다. 하지만 MongoDB와 같은 비 관계형 DBMS도 꽤나 비중이 크니 주의할 것.

 

Oracle은 전통적인 강자다. 정부/대기업에서 사용하는 DBMS다. 꽤 비싸서...

MySQL은 오라클과 달리 오픈소스, 무료다. 초심자에게 추천하는 DB.

MongoDB는 Document store다. 이게 뭔지는 나중에 알아보고, 아무튼 RDBMS가 아니라는 것이다.

-> RDBMS의 경직된 구조에서 벗어나는 형식. 구조의 변경이 활발한 경우에 사용하기 좋다.

 

결론은 어떤 형식의 DBMS가 절대적으로 좋다, 는 것은 없다는 내용이다.

자신의 조직이 어떤 상황인지, 어떤 기능이 필요한지에 따라 선택하는 DBMS가 천차만별로 나뉜다는 것.

'DB' 카테고리의 다른 글

데이터베이스 (2)  (1) 2022.08.17
데이터베이스 (1)  (0) 2022.08.17
데이터베이스 (0)  (0) 2022.08.17

댓글