데이터란?
데이터 베이스를 알아보기 전에 데이터란 무엇인지 알아보겠습니다.
데이터는 사전적 의미로 “이론을 세우는 데 기초가 되는 사실. 또는 바탕이 되는 자료”, “관찰이나 실험, 조사로 얻은 사실이나 정보”, “컴퓨터가 처리할 수 있는 문자, 숫자, 소리, 그림 따위의 형태로 된 정보”라고 되어있습니다.
사전적 의미에는 “사실”, “자료”, “정보”, “문자”, “숫자”, “소리”, “그림” 등등 다양하게 표현되는 것 같습니다. 사실 데이터라는 말을 어떻게 해석하는지는 사람의 관점에 따라 다를 수 있다고 생각합니다.
저는 데이터를 어떻게 표현하면 좋을까 생각을 해봤더니, “모든것”이라는 단어가 계속 머릿속에 지배하고 있었습니다. 데이터는 눈에 보이는 모든 것이 아닐까요? 그런 의미로 세상은 컴퓨터와 정말 흡사하다고 생각이 됩니다. 사람도 마찬가지로 뇌에 데이터를 쌓고, 사용하고, 지워지고 데이터를 기반으로 움직인다고 생각합니다. 마찬가지로 컴퓨터는 하드디스크, 데이터베이스를 통해 데이터를 쌓고, 사용하고, 지우면서 동작을 합니다.
데이터베이스(DB)란?
데이터베이스(DB)는 사전적의미로 “공유되어 사용될 목적으로 통합하여 관리되는 데이터의 집합”이라고 할 수 있습니다.
그렇다면 DB라는 말이 붙으면 기업, 기관, 학교 등 다양한 곳에서 공유되어 사용하려고 모아둔 데이터들의 집합이구나라고 생각하면 좋을 것 같습니다.
그렇다면, DB는 왜 사용할까요?? 데이터를 저장하고 공유 하는 목적이라면 그냥 메모장에 데이터 기록하고 파일을 그냥 공유할 수 도 있는 것인데 왜 다양한 조직에서 DB를 필수적으로 사용하는 것일까요? 데이터베이스를 사용하면 장점은 효율적인 확장, 데이터 무결성, 보안, 분석 등 다양합니다. 하지만, 어려울 뿐이지 할 수 없는 기술들은 아니라 생각합니다. 그렇다면 왜 사용하는 것일까요? 편리함이 아닐까 생각합니다. 잘 만들어진 DB를 사용하면 보안, 무결성, 규칙 등 다양한 문제를 빠르게 해결할 수 있기 때문이라 생각합니다! 물론, 제 생각입니다. ㅎㅎ
이렇게 DB는 데이터의 관리를 쉽게 할 수 있게 DBMS (Data Base Management System, 데이터베이스 관리 시스템) 라는 소프트웨어를 사용하여 데이터를 저장, 검색 및 편집할 수 있습니다.
DBMS란?
데이터베이스는 데이터 저장소일 뿐이고, 실질적으로 데이터 저장, 백업, 보고, 다중 액세스 제어 및 보안 처리 같은 관리자 역할은 데이터베이스 소프트웨어가 합니다. 데이터베이스 소프트웨어는 DBMS (데이터베이스 관리 시스템)라고도 불립니다.
DBMS는 데이터베이스와 사용자 혹은 프로그램 간의 인터페이스 역할을 해주기 때문에 DB를 사용하기 위해서는 데이터베이스 소프트웨어를 설치해야 합니다. 쉽게 설명하자면, 여러분이 핸드폰을 통해 문자를 주고 받기 위해 카카오톡을 설치하듯, DBMS는 DB를 사용하기 위한 프로그램이라고 생각하면 좋을 것 같습니다.
DBMS는 대표적으로 MySQL, Oracle, MariaDB, Microsoft Access, Microsoft SQL Server, PostgreSQL, SQLite 등이 있습니다.
데이터베이스 유형
데이터베이스의 유형은 매우 다양합니다. 계층적 데이터베이스, 네트워크 데이터베이스, 관계형 데이터베이스, 객체 지향 데이터베이스, NoSQL 데이터베이스가 존재합니다. 제가 경험한 데이터베이스는 관계형과 NoSQL 뿐이었는데, 다양하게 존재하네요 ㅎㅎㅎ
제가 개발을 배우면서, 많이 들었던 말중에 하나가 “기술을 선택함에 있어서 정답은 존재하지 않는다. 다만, 이유가 존재해야 한다.”였습니다. 그렇기 때문에 데이터베이스를 선택할 때는 프로그램의 특징에 맞게 선택하는 게 좋을 것 같습니다.
하지만, 최근에는 관계형 데이터베이스와 NoSQL 데이터베이스를 거의 주로 사용하는것 같습니다.
다음시간에는 관계형 데이터베이스, NoSQL 데이터베이스, 관계형 vs NoSQL DB의 차이에 대해서 포스팅할 예정입니다!