정보관리기술/최신서비스

파일, 데이터베이스, 블록체인의 저장 측면 비교

아이티신비 2024. 4. 16. 09:00

문제2) 데이터저장 측면에서 파일, 데이터베이스, 블록체인을 비교하시오

답)

 

 

1. 데이터의 저장 방식. 파일, 데이터베이스, 블록체인의 저장 측면 개념 비교

비교대상
아키텍처
정의
파일
  • 컴퓨터에서 파일이나 자료를 쉽게 발견 및 접근 할 수 있도록 보관 또는 조직하는 체제
데이터베이스
  • 여러 사람이 공유하여 사용할 목적으로 체계화해 통합, 관리하는 데이터의 집합
블록체인
  • 트랜잭션을 기록하고, 자산을 추적하고, 신뢰를 구축하기 위한 불변 공유 원장

 

2. 데이터의 저장 방식. 파일, 데이터베이스, 블록체인의 저장 측면의 구조 비교

비교항목
파일
데이터베이스
블록체인
저장구조
  • 컴퓨터에서 파일이나 자료를 쉽게 발견 및 접근할 수 있도록 보관또는 조직하는 체제
  • 이진 트리를 확장해 하나의 노드가 가질 수 있는 자식 노드의 최대 숫자가 2보다 큰 B-Tree 구조
  • 모든 자식 노드들이 암호학적 해시로 이뤄진 데이터 블록을 갖는 트리 형태의 자료 구조인 머클 트리
인프라 유형
  • Local 구조
  • 서버 클라이언트 구조
  • 분산 저장 시스템
구성요소
  • 블록(Block), 데이터블록(DataBlock)
  • Root, 브랜치(Branch), 리프(Leaf) 노드
  • 모든 자식 노드들이 암호학적 해시로 이뤄진 데이터 블록을 갖는 트리 형태의 자료 구조인 머클 트리
종류
  • FAT32, NTFS, EXT, EXT2,EXT4, XFS, NFS
  • MySQL, Oracle, MS-SQL 등
  • 비트코인(bitcoin)
  • 이더리움(ethereum)
저장데이터의 접근제어
  • 파일 또는 디렉토리 단위로 접근 권한 설정
  • Linux의 경우 Owner,Group, Other로 읽기,쓰기, 실행 단위 권한제어
  • 데이터베이스의 소유자와 접근 정책에 따라 접근 가능
  • 블록체인 유형에 의존적
  • Private의 경우 사전에 허가 받은 참여자만 접근 가능하지만, Public형의 경우 누구나 참여 가능
저장 데이터 소유 및 관리주체
  • 파일 저장장치 소유자
  • 파일시스템 소유자가 운영체제 통해서 관리
  • 개인 혹은 기업 소유로 단일관리자 존재
  • 데이터베이스 관리자가 데이터베이스 엔진을 통해 관리
  • 관리자가 여려 명이 존재하며 각자 원장의 사본을 보유하고 관리
데이터 처리 속도
  • 매우 빠름
  • 실제 하드디스크에 쓰는 시간과 데이터베이스의 처리 시간이 존재하나 상대적으로 빠름
  • 합의 알고리즘을 위해 상대적으로 긴 시간이 필요
 

 

3. 데이터의 저장 방식. 파일, 데이터베이스, 블록체인의 저장 측면의 생성과 삭제 비교

비교항목
파일
데이터베이스
블록체인
저장단위
  • 파일 단위
  • 컬럼(column), 테이블(table) 단위
  • 원장에 저장
  • 블록(block) 단위
데이터 생성 방식
  • 파일 시스템 드라이버통해 API 형식으로 지원
  • 파일 시스템이 물리적 장치(device)의 유형을 지원 여부에 따라 생성
  • DDL 언어를 이용하여 생성된 테이블에 DML 언어를 이용하여 insert query 통해 생성
  • 합의 알고리즘(consensus algorithm)을 통해 노드 참여자의 승인하에 데이터 생성 후 연결 방식
저장 데이터의 공유
  • 기본적으로 공유 미지원
  • NFS(Network File System)으로 공유는 가능하나 매우 제한적
  • 데이터베이스는 데이터를 여러 사용자에게 공유하기 위한 목적으로 사용
  • 노드에 참여한 참여자는 공유된 정보를 자신의 체인에 추가함으로써 공유
생성 블록의 크기
  • 운영체제와 파일시스템에 의존적
  • 32bit Windows의 경우최대 약 4G까지 가능
  • 데이터베이스에 따라 의존적
  • MySQL의 경우 LONGTEXT 유형으로 약 4G 가능
  • 각 블록 체인에 의존적
  • 비트코인(bit-coin)의 경우 약1Mb로 제한, 이더리움은 평균적으로 20Kb에서 30Kb이며 최대 1Mb 가능
트랜잭션 처리
  • 별도의 트랜잭션 미지원
  • 저장 중 실패 발생 시 데이터 전체 손실
  • 원자성(Atrocity), 일관성(Consistency), 고립성(Isolation), 지속성(Continuous) 보장
  • 합의 알고리즘을 통해 트랜잭션이 처리되며 합의가 이뤄진 것만 원장에 저장
데이터 중복
  • 중복으로 저장되지 않고단일 데이터로 저장
  • 데이터의 중복을 허용하지 않으나, 역정규화를 통해 일부 중복 허용
  • 하나의 데이터가 여러 참여자에게 중복되어 저장
  • 하나의 노드에는 데이터 중복이 최소가 되도록 저장
저장된 데이터의 공격
  • 악의적 공격으로부터 접근 제어를 통해 일부 방어 가능
  • 데이터베이스의 접근제어 정책을 통해 일부 방어 가능
  • 악의적 데이터 조작 시도는 51% 공격을 통해 가능하며, 이 또한 다양한 방법으로 차단되어 현재는 사실상 불가능
데이터 삭제
  • 파일 또는 디렉토리 단위 삭제 가능
  • 테이블, 레코드 단위 삭제 가능
  • 비가역성으로 인해 삭제 불가능
  • 삭제가 필요한 경우 삭제가 되었다는 항목을 추가하여 삭제
데이터 복구
  • 손실된 데이터는 일반적 으로 복구가 곤란 RAID 등의 부가적 구성을 통해 복구 가능
  • 장애 발생한 경우 데이터베이스 회복 메커니즘을 통해 데이터 복구
  • 일부 데이터 손실 가능
  • 손실된 데이터의 경우 복구가 불가능한 경우 발생
  • 비트코인 지갑 분실, 손상발생 시 복구 난해


 

공감과 댓글은 아이티신비에게 큰 힘이 됩니다.

블로그 글이 유용하다면 블로그를 구독해주세요.♥