개발 의문 해결

DB 저장과 로컬스토리지 저장, 그리고 파일 저장의 차이

티시즌 2023. 9. 24. 12:13

최근 로컬스토리지 저장에 대해 배웠다. 기존에 배웠던 DB 저장 방식, 파일 저장 방식과 어떤 차이가 있는지 궁금해서 ChatGPT에게 정리를 요청해 보았다.

데이터를 저장하는 방법에는 여러 가지가 있습니다. 여기서는 데이터베이스(DB) 저장, 로컬 스토리지(Local Storage) 저장, 그리고 파일 시스템을 이용한 파일 저장에 대해 설명하겠습니다.

1. 데이터베이스(DB) 저장

데이터베이스는 구조화된 데이터를 효율적으로 관리할 수 있는 시스템입니다. SQL(Structured Query Language) 같은 쿼리 언어를 사용하여 데이터를 추가, 수정, 삭제, 조회할 수 있습니다.

장점

  • 대용량 처리: 대용량의 데이터를 안정적으로 처리하고 관리할 수 있습니다.
  • 동시성 제어: 여러 사용자가 동시에 접근하더라도 일관성을 유지합니다.
  • 백업과 복구: 백업과 복구 기능이 제공되므로 데이터 손실 위험이 낮습니다.
  • 보안: 보안 기능을 통해 민감한 정보를 안전하게 보호할 수 있습니다.

단점

  • 네트워크 지연 시간: 서버와 클라이언트 사이의 네트워크 지연 시간 때문에 로컬 스토리지나 파일 시스템보다 느릴 수 있습니다.
  • 학습 곡선: 복잡한 쿼리 언어와 스키마 설계 등 학습 곡선이 다소 급격합니다.

 

2. 로컬 스토리지(Local Storage) 저장

로컬 스토리지는 웹 브라우저에서 제공하는 클라이언트 측 저장 방식입니다. 쿠키와 비슷하지만 용량 한계가 크고 API가 더 간단합니다.

장점

  • 빠른 응답 시간: 서버 요청 없이 클라이언트에서 직접 접근 가능하기 때문에 빠른 응답 시간을 가집니다.
  • 사용 편의성: 간단한 API로 사용하기 쉽습니다.

단점

  • 용량 제한: 대부분의 웹 브라우저에서 로컬 스토리지의 최대 크기는 약 5MB입니다.
  • 보안 문제: 로컬 스토리지 내용은 사용자나 개발자 도구 등을 통해 쉽게 확인됩니다. 따라서 중요 정보는 암호화하거나 아예 저장하지 않아야 합니다.
  • 지속성 문제: 사용자가 브라우저의 데이터를 삭제하면 로컬 스토리지의 내용도 함께 사라집니다.

 

3. 파일 저장

서버나 클라이언트 파일 시스템에 직접 데이터를 파일 형태로 저장하는 방식입니다.

장점

  • 대용량 데이터 처리: 대용량 데이터를 다룰 수 있습니다.
  • API 필요 없음: DB나 로컬 스토리지와 달리 별도의 API 없이 OS에서 제공하는 기본적인 파일 입출력 API로 사용 가능합니다.

단점

  • 검색 어려움: 구조화된 데이터 검색이 어렵습니다. (DB와 비교)
  • 클라이언트 측 접근 제한: 서버 측에서는 효율적인 처리가 가능하지만, 클라이언트 측에서는 보안 문제 때문에 제한적으로만 사용할 수 있습니다. (웹 환경에서 클라이언트 측 파일 시스템 접근은 보안상 매우 제한적입니다.)

각 방식은 상황과 요구사항에 따라 선택되어야 합니다. 예를 들어, 대용량의 구조화된 데이터를 안정적으로 처리해야 한다면 DB가 좋을 것입니다. 반면 간단한 정보를 빠르게 읽고 쓰는데 중요성을 두는 경우 로컬 스토리지가 유용할 수 있습니다.