본문 바로가기
ORACLE/DB

[Oracle] DB 란? 데이터베이스 기초 :: 마이자몽

by 🌻♚ 2020. 3. 10.

 

4차 산업혁명, 빅데이터, AI 인공지능 등 최근들어 뉴스에서 혹은 주변 지인들 사이에서 많이 언급되는 단어들 입니다. 이제는 기본 상식으로 요구되는 단어들이기에 IT업계와 무관한 일을 하더라도 모두 알고 있는 지식입니다. 그럼 이러한 기술들을 사용할 수 있게 되는 원천 리소스는 무엇일까요? 만약 데이터라는 단어가 처음 떠올랐다면 정답에 가깝게 접근하고 있습니다.

 

데이터는 현재도 있고, 예전에도 존재 했습니다. 그럼 왜 이전에는 구현하지 못했던 인공지능, 빅데이터와 같은 기술들이 이제 수면위로 올라오고 그런 기술들을 사용할 수 있게 된것일까요? 정답은 데이터베이스의 발전에 있습니다.

 

Database 란?

데이터베이스가 무엇인지 사람들에게 물어보면 가장 먼저 나오는 답변이, "데이터를 저장하는 공간"입니다. 그럼 단순히 데이터를 저장하는 공간이라고 한다면 일반 텍스트 파일도 데이터베이스라고 할 수 있을까요? 텍스트 파일도 똑같이 데이터를 저장하는 공간입니다. 데이터 베이스가 "데이터를 저장하는 공간"을 의미하면 텍스트파일을 모아 놓은 것도 데이터 베이스 입니다! 라고 생각할 수 있죠. 개인적인 생각으로 단어 그대로 본다면 맞다고 생각하고 실제로 데이터베이스도 파일로 이루어져 있습니다. 그럼 데이터베이스와 파일의 차이를 어떻게 구분할까요?

 

바로 Database System과 File System으로 관리하는 차원에서 구분한다면 개념자체가 달라진다고 생각합니다.

 

 

File System VS Database System

File System

File System도 데이터를 저장하는데 문제가 없습니다. 그리고 여려개의 파일을 모아 관리하면 하나의 System을 형성합니다. 위 이미지에서는 인사, 영업, 생산이라는 파일을 갖고 File System을 구성해봤습니다. 만약 A라는 사원이 인사팀에서 영업팀으로 이동하게 된다면 인사파일에서 내용을 지우고 영업파일에 추가를 해줘야합니다.

 

만약 누군가 동시에 파일을 접근하면 어떻게 될까요? 누군가 한명은 작업을 못하거나, 파일의 내용의 싱크가 서로 안맞는 경우가 발생할 수도 있겠죠?

 

이러한 불편함들이 있습니다. 그래서 Database System이라는 것이 나왔습니다.

 

 

Database System

인사, 영업, 생산이라는 파일을 각각 다른 파일로 저장을 했던 File System과 달리 하나로 필요한 내용들을 하나의 Database로 관리한다면 어떨까요?

 

Database 정의

통합된 데이터(Intergrated data) : 자료를 하나로 통합하여 수정, 생성 작업이 발생하더라도 중복되지 않습니다.

공유된 데이터(Shared data) : 여러 응용 시스템에서 공동으로 접근가능하고 소유할 수 있는 데이터 입니다.

운영 데이터(Operational data) : 운영가능하고 업무에 반드시 필요한 데이터 입니다.

저장된 데이터(Stored data) : 컴퓨터에서 접근 가능한 저장된 데이터입니다.

 

이러한 장점과 File System보다 우월하고 편리한 작업이 가능하므로 이제는 모든 작업은 Database System으로 이루어집니다. 데이터의 접근과 운영이 쉬워지고 하드웨어의 발전으로 저장 가능한 데이터의 양과 소프트웨어에서 처리가 가능한 기술의 발전으로 4차산업 혁명이 발생하고 IT업계 성장의 원천 리소스라고 생각합니다.

 

RDB 관계형 데이터베이스

네트워크형, 문서형, 계층형 등 정말 많은 종류의 데이터베이스가 존재하는데요, 많은 사람들이 데이터베이스라고 하면 이런 테이블 형식의 데이터를 떠올리곤 합니다. 가장 많이 사용되고 시각적으로도 쉽게 데이터를 확인할 수 있기 때문에 사용하는데, 이러한 형태의 데이터베이스를 RDB 관계형 데이터베이스라고 합니다.

 

각각 테이블과 테이블의 관계를 제약조건에 따라 구분하고 row & column으로 각각 하나의 셀에 하나의 값을 저장하는 single value 형식으로 저장됩니다. 대표적으로  Oracle, MySQL, MriaDB, MS-SQL 등 여러가지가 있습니다.

 

댓글1