인공지능/빅데이터 SQL

1. 데이터베이스란?

백관구 2020. 7. 23. 15:41
반응형

요즘 세상에는 빅데이터(Big data)라 불릴만큼 1초에도 방대한 양의 데이터가 생성되고 어딘가에 저장되고 있다.

무수히 많은 데이터를 하나하나 확인하고, 계산하고, 처리하기에는 인간의 뇌로는 한계가 있기 때문에 우리는 소프트웨어의 힘을 빌려 데이터(Data)처리(Process)해 우리에게 유용한 정보(Information)를 만들어낸다. 여기서 사용되는 소프트웨어를 DBMS (DataBase Management System; 데이터베이스 관리 시스템)라 한다. DBMS는 이름 그대로 데이터베이스(DB)를 관리하는 소프트웨어다. 정보사회가 도래하면서 데이터베이스와 데이터베이스 관리 시스템은 기업뿐만 아니라 국가 차원에서도 정보를 관리하고 구축하는 필수 도구가 되었다.


데이터베이스는 크게 3가지 개념으로 구성되어 있다.

  1. 개체(Entity)
  2. 관계(Relationship)
  3. 속성(Attribute)

개체는 데이터가 다루는 대상을 가리킨다. 어떤 사람, 회사의 사원, 학생이 대표적인 사례다. 즉, 데이터를 수집할 피대상자라고 생각하면 될 것 같다.

관계는 개체들 사이에 존재하는 연관성을 말한다. 예를 들어, 어떤 사람과 또다른 사람 사이에는 결혼이라는 관계가 있을 수 있고, 선생-학생이라는 관계가 있을 수도 있다. 즉, 개체들을 이어주는 개념으로 생각할 수 있다.

속성은 각 개체가 가지고 있는 상세한 특성이다. 어떤 사람이라는 개체는 속성으로 이름, 생년월일, 주소 등 다양한 속성들을 갖는다.


이쯤에서 이런 의문이 들었었다. 굳이 DBMS를 쓰면서까지 데이터를 저장하는 이유는 뭘까? 그냥 raw 데이터(원시 자료)만 저장하면 안 될까?

데이터의 양(용량)이 크지 않다면 괜찮을수도 있다. 하지만 데이터의 저장 용량이 수십, 수백 테라를 넘어갈 경우 필요한 정보를 얻기 위해 데이터를 매번 추출하고 처리하는 일이 기업 입장에서는 시간적으로 손해일 수 있다. 그리고 기업의 경우 하나의 서버를 운영하는 것이 아니라, 각 지점 별로 분산된 데이터베이스를 운영할 수도 있다. 이 경우 데이터를 효율적으로 관리하기 위해서는 DBMS와 같이 정형화된 규칙을 만들었을 때 다른 지점에서 데이터에 접근하기 더 쉬울 것이다.

 

참고자료: 데이터베이스 설계

반응형