본문 바로가기

개발공부/데이터베이스

패스트캠퍼스 환급챌린지 29일차 : 한 번에 끝내는 컴퓨터 공학 & 인공지능 복수전공 초격차 패키지 강의 후기

반응형

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.

Ch 1. 데이터 베이스 개념 및 특징

 

 

1. 데이터(Data)와 정보(Information): 그 미묘한 차이 

가장 먼저 짚고 넘어가야 할 개념은 데이터정보의 차이입니다.

  • 데이터는 단순히 현실 세계를 관찰하거나 측정하여 수집한 사실이나 값 그 자체를 말합니다. 예를 들어, 'A 상품은 100원', '오늘의 기온은 20도'와 같은 순수한 수치나 사실들이 데이터에 해당합니다. 개별 데이터 자체만으로는 그 의미가 중요하게 다가오지 않는 객관적 사실의 존재적 특성을 가집니다.
  • 정보는 데이터를 어떤 방식으로 처리하여 의미를 가지는 단위로 만든 것입니다. 즉, 의사 결정에 유용하게 활용할 수 있는 결과물을 의미합니다. 데이터를 정보로 만드는 과정을 정보처리라고 부릅니다. 정보의 가치는 데이터를 어떤 상황에서 어떻게 사용되는지에 따라 달라집니다.

이러한 데이터와 정보의 관계는 흔히 DIKW 피라미드로 설명됩니다.

  • Data (데이터): 현실 세계를 관측한 순수한 수치 
  • Information (정보): 데이터 가공 및 상관관계 이해를 통해 의미를 부여한 것 
  • Knowledge (지식): 상호 연결된 정보 패턴을 이해하여 예측한 결과물 
  • Wisdom (지혜): 지식을 바탕으로 도출되는 아이디어 

데이터는 또한 정량적 데이터(정형 데이터)와 정성적 데이터(비정형 데이터)로 구분됩니다. 정량적 데이터는 수치, 도형, 기호 등 수치화하기 용이하여 저장, 검색, 분석에 활용하기 쉬운 반면, 정성적 데이터는 언어, 소리, 문자 등 자료의 성질이나 특징을 설명하며 상대적으로 많은 처리 비용이 필요합니다.

2. 데이터베이스(Database)란 무엇인가? 

그렇다면 이 중요한 데이터들을 어떻게 효율적으로 관리할 수 있을까요? 바로 데이터베이스(Database, DB)의 역할입니다.

데이터베이스는 논리적으로 연관된 데이터들을 모아 일정한 형태로 저장해 놓은 것을 의미합니다. 또한, 데이터 중복을 최소화하여 조직의 목적에 맞게 관리하는 것이 핵심입니다.

데이터베이스의 주요 특징은 ISOS로 요약할 수 있습니다.

  • 통합된 데이터(Integrated Data): 데이터 중복을 최소화하여 관리합니다.
  • 저장된 데이터(Stored Data): 컴퓨터가 접근할 수 있는 저장 매체에 저장되어 있습니다.
  • 운영 데이터(Operational Data): 조직의 고유한 업무 수행에 반드시 필요한 데이터를 담습니다.
  • 공용 데이터(Shared Data): 여러 응용 시스템이 공동으로 소유하고 유지하는 데이터입니다.

데이터베이스 시스템은 또한 R1C3이라는 특징을 가집니다.

  • 실시간 접근성(Real Time Accessibility): 사용자 질의에 실시간으로 응답합니다.
  • 지속적인 변화(Continuous Evolution): 삽입, 삭제, 수정 작업을 통해 항상 최신 데이터를 동적으로 유지합니다.
  • 동시 공유(Concurrent Sharing): 목적이 서로 다른 여러 사용자가 동시에 원하는 데이터를 공유할 수 있습니다.
  • 내용에 의한 참조(Content Reference): 레코드의 주소나 위치가 아닌, 사용자가 요구하는 데이터 내용을 직접 참조하여 접근합니다.

3. 왜 데이터베이스가 필요할까? 파일 시스템의 한계를 넘어 

데이터베이스가 등장하기 전에는 주로 파일 시스템(File System)을 사용하여 데이터를 관리했습니다. 파일 시스템은 데이터를 파일로 생성, 삭제, 수정, 검색하는 기능을 제공하는 소프트웨어입니다. 그러나 응용 프로그램마다 필요한 데이터를 별도의 파일로 생성하고 관리하는 방식은 여러 가지 문제점을 야기했습니다.

파일 시스템의 주요 문제점은 다음과 같습니다.

  • 데이터 중복 저장: 같은 내용의 데이터가 여러 파일에 중복되어 저장됩니다. 이는 저장 공간을 낭비하고 데이터 불일치(inconsistency)의 원인이 됩니다.
  • 데이터 종속성: 응용 프로그램이 특정 데이터 파일의 구조에 종속적이 되어, 파일 구조가 변경되면 관련 응용 프로그램도 모두 수정해야 합니다.
  • 개발의 어려움: 데이터 관리가 응용 프로그램 개발과 밀접하게 얽혀 개발이 쉽지 않았습니다.
  • 기능 부족: 데이터 파일에 대한 동시 공유, 보안, 복구 기능이 부족했습니다.
  • 비효율적인 조회: 데이터를 조회할 때 파일 전체를 다 읽어야만 하는 비효율성이 있었습니다.

이러한 파일 시스템의 문제를 해결하기 위해 고안된 것이 바로 데이터베이스 관리 시스템(Database Management System, DBMS)입니다.

4. 데이터베이스 관리 시스템(DBMS): 데이터의 수호자 

DBMS데이터베이스 관리 프로그램을 의미합니다. 이는 파일 시스템의 문제점을 해결하기 위해 고안된 소프트웨어로, DBMS를 이용하여 데이터를 입력, 수정, 삭제하는 기능을 제공합니다. 또한, 조직에 필요한 데이터를 데이터베이스에 통합하여 저장하고 관리하는 역할을 합니다.

정확히 말하면, 데이터베이스데이터베이스 관리 시스템은 다른 개념입니다. 데이터베이스는 데이터의 집합 자체를, DBMS는 이 데이터를 관리하는 소프트웨어를 의미합니다. 사용자는 DBMS를 통해 데이터베이스에 접근하고 데이터를 조작하게 됩니다.

DBMS의 주요 기능은 세 가지로 요약됩니다.

  • 데이터 정의(Data Definition): 데이터베이스의 구조를 정의하거나 수정하는 기능입니다.
  • 데이터 조작(Data Manipulation): 데이터를 삽입, 삭제, 수정, 검색하는 기능입니다.
  • 데이터 제어(Data Control): 데이터 접근을 제어하고 데이터를 안전하게 유지하는 기능입니다.

이러한 DBMS의 도입은 이커머스 운영 시 재고 관리, 수천만 개의 물건 판매, 여러 사람의 동시 구매, 매입/매출/반품/재고 파악, 계절/지역별 인기 상품 분석, 특정 고객의 구매율 파악 등 복잡하고 대규모의 데이터 관리 문제를 해결하는 데 필수적입니다.

 

5. 데이터베이스 시스템의 장점과 단점: 양날의 검 

데이터베이스 시스템은 강력한 이점을 제공하지만, 동시에 고려해야 할 단점들도 존재합니다.

장점:

  • 데이터 중복 최소화: 중복 저장 공간을 절약하고 데이터 일관성을 유지합니다.
  • 데이터 공유 가능: 여러 응용 프로그램과 사용자가 데이터를 공동으로 활용할 수 있습니다.
  • 일관성, 무결성, 보안성 유지: 데이터의 정확성, 유효성, 그리고 비인가 접근 방지를 위한 강력한 기능을 제공합니다.
  • 최신 데이터 유지: 지속적인 변화를 통해 항상 최신 상태의 데이터를 보장합니다.
  • 데이터 표준화 가능: 데이터 형식을 통일하여 관리 효율성을 높입니다.
  • 데이터의 논리적, 물리적 독립성 확보: 데이터의 논리적 구조나 물리적 저장 방식이 변경되어도 응용 프로그램에 미치는 영향을 최소화합니다.
  • 쉬운 데이터 접근: 복잡한 파일 탐색 없이 내용에 기반한 쉬운 데이터 조회가 가능합니다.

단점:

  • 전문 인력 필요: 데이터베이스 설계, 구축, 관리를 위한 전문 지식과 인력이 필요합니다.
  • 높은 운영 비용: DBMS 소프트웨어 라이선스, 하드웨어 투자, 유지보수 등에 상당한 비용이 발생할 수 있습니다.
  • 복잡한 시스템: 파일 시스템에 비해 시스템 자체가 복잡하여 학습 및 관리에 시간이 소요됩니다.
  • 백업 및 복구 어려움: 대규모 데이터의 백업 및 복구는 복잡하고 시간이 많이 소요될 수 있습니다.
  • 성능 문제: 대용량 디스크로의 액세스가 집중될 경우 시스템 과부하가 발생할 수 있습니다.

6. 마무리하며: 데이터베이스, 현대 소프트웨어의 필수 기반 

오늘 우리는 데이터와 정보의 차이에서 시작하여, 데이터베이스의 개념, 필요성, 그리고 DBMS의 역할까지 폭넓게 살펴보았습니다. 데이터베이스는 단순한 데이터 저장소를 넘어, 현대 소프트웨어 시스템의 복잡한 요구사항을 충족시키고 비즈니스의 성공을 지원하는 핵심적인 인프라스트럭처입니다.

데이터 중복을 최소화하고, 동시 접근을 허용하며, 데이터의 일관성과 보안을 보장하는 데이터베이스의 능력은 우리가 일상에서 사용하는 거의 모든 디지털 서비스의 기반이 됩니다. 물론 전문 인력과 높은 운영 비용, 시스템의 복잡성 같은 단점들도 존재하지만, 정보의 가치가 끊임없이 상승하는 시대에 데이터베이스의 중요성은 아무리 강조해도 지나치지 않습니다.

 

처음 개발을 배웠을 당시에 데이터 베이스를 제일 처음 배웠었다. 현실세계에 있을 법한 것들을 데이터베이스로 구현하면서 개발이라는 것을 되게 재밌게 생각할 수 있었다. 데이터와 정보의 차이, 데이터 베이스에 인덱싱하기 등등 데이터 베이스를 어떻게 사용하느냐에 따라서 성능차이가 굉장히 많이 나는만큼 데이터베이스 설계는 굉장히 중요하다고 생각한다. 이번 챕터는 데이터 베이스에 대한 내용이니까 열심히 들어야지! 

 

 

 

 

https://fastcampus.info/4n8ztzq

 

(~6/20) 50일의 기적 AI 환급반💫 | 패스트캠퍼스

초간단 미션! 하루 20분 공부하고 수강료 전액 환급에 AI 스킬 장착까지!

fastcampus.co.kr

 

반응형