brunch

You can make anything
by writing

C.S.Lewis

by hansung dev Jan 12. 2023

데이터와 데이터베이스, DBMS는  어떻게 다른가요?

현업 데이터 엔지니어가 핵심만 알려드리는 SQL

18년 동안 IT 환경에서 다양한 비지니스 문제를 해결해오면서 배운 경험과 지식을 공유하기 위해 글을 작성합니다. 개발자로 시작하여 현재는 데이터 엔지니어로 일을 하고 있습니다. 개발자가 개발을 위해 사용되던 SQL이 이제는 기획자, 마케터, 데이터 분석가, 데이터 사이언티스트, 데이터 엔지니어 등 다양한 직무에서 사용되고 있습니다. 그리고 요구되고 있습니다. 오픈소스의 발전으로 다양한 도구들이 나오면서 이전 보다는 접근성과 복잡성이 낮아져서인것 같습니다. 이렇게 꼭 필요한 SQL를 ELLA 작가님이 그려주시는 삽화와 재미있는 이야기 구성으로 이해하기 쉽게 전달할려고 합니다. "SQL TOON"이라는 브런치 매거진으로 찾아뵙겠습니다. (많관부)



이 이야기는 리나가 학교에서 "용돈기입장 쓰는 법"을 배워오면서 시작됩니다.


조선비 가족의 막내딸인 리나(초3)가 초등학교에서 저축과 소비, 나눔에 대해 배워왔습니다. 용돈기입장을 직접 종이와 연필로 작성해서 수입과 지출을 기재했습니다. 오빠인 루이스(중1, 곧 중2병)에게 자랑하며 뿌듯해합니다. 하지만 루이스는 엑셀로 용돈기입장을 관리한다며 곧 중2병인 것을 증명하듯이 초3을 상대로 자랑합니다. (크크루삥뽕) (곧 전쟁의 서막이 시작될 것 같은... 분위기가 흐릅니다.)

by ELLA (저작권이 있는 이미지)


데이터는 무엇인가요?


리나가 용돈기입장에 기재한 단순한 사실의 나열을 데이터라고 합니다. 예를 들어 "용돈", "1,000원"이 각각 데이터가 됩니다. 그리고 의미있는 데이터가 모이면 정보라고 합니다. 이번달 용돈의 합계는 3,000원은 정보입니다.


가치있는 정보가 모이면 지식이 됩니다. 전달과 이번달의 리나의 용돈의 지출과 수입의 증감 또는 트랜드를 확인해서 가치있는 정보를 찾는다면 이것을 지식이라고 합니다.


지식에서 규칙과 패턴을 찾아 인사이트를 찾았다면 이것을 지혜라고 합니다. 예를들어 리나의 매월 용돈의 트랜드를 보니 항상 보유중인 현금이 매달 3,000원이 있다는 지식을 찾았습니다. 사용하지 않고 보유만 하고 있는 3,000원을 은행에 저축하여 이자를 받는 경험을 하고 점점 늘어가는 복리의 마법을 일찍 경험해볼수 있게 된다면 많은 배움이 있을거라 기대됩니다. 그리고 지혜롭다라고 말할수 있을것 같습니다.


[그림] 데이터가 정보, 지식, 지혜가 되어가는 과정



리나(초3), 루이스(중1)은 "자기가 사용하고 있는 용돈기입장이 최고" 라고 다투고 있습니다. 이를 지켜보고 있는 끝판왕인 엘라(엄마)는 애송이들이라며 슬며시 네이버 가계부를 보여주면서 자랑합니다. (그렇게 리나, 루이스는 한편이 되어 ...)

by ELLA (저작권이 있는 이미지)



데이터와 데이터베이스, DBMS는 어떤 차이가 있나요?


엘라(엄마)가 사용하고 있는 네이버 가계부는 데이터와 데이터베이스를 가지고 있습니다. 여러 사람이 동시에 사용할수 있는 목적으로 구조화된 데이터의 집합을 데이터베이스라고 합니다.


데이터베이스를 관리하는 시스템을 DBMS(Database Management System)라고 합니다. 사용자는 DBMS에 SQL 언어를 사용해 데이터를 입력, 수정, 삭제, 조회할수 있습니다.

[그림] 사용자가 SQL로 DBMS에게 데이터를 입력, 수정, 삭제, 조회 명령어를 요청합니다.


DBMS에는 어떠한것들이 있나요?


DBMS 종류에는 관계형 데이터베이스(Relational Database)와 NOSQL이 있습니다. IT 환경 초기에는 대부분 관계형 데이터베이스를 사용해왔습니다. Oracle이 대분의 시장을 차지하고 있었죠. Github 같은 전세계 개발자들이 협업할수 있는 환경이 마련되면서 오픈소스가 엄청난 속도로 발전하게 되었습니다.이러한 생태계로 DBMS에도 다양한 도구들이 시장에 나오고 발전하게 됩니다. 대표적으로 관계형 데이터베이스에서는 MySQL, Postgresql이 있고, NOSQL의 경우는 MongoDB, REDIS 등이 있습니다.


NOSQL는 "Not only SQL"로, SQL만을 사용하지 않고 키/값, 문서, 그래프 등 다양한 유형의 데이터베이스를 사용하는 데이터베이스 관리 시스템을 말합니다. 이후 SQL를 사용하는 관계형 데이터베이스를 다루면서 NOSQL도 다루도록 하겠습니다. (할많하않)


[그림] DBMS의 종류에는 관계형데이터베이스(RDBMS)와 NOSQL이 있습니다.



현업 데이터 엔지니어에게 SQL 관련 궁금하시점이 있으시면 댓글로 남겨주세요.
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari