본문 바로가기
컴퓨터 과학/기술용어

[IT기술] 웹 애플리케이션의 데이터 관리(1): 다양한 스토리지 솔루션 비교

by webcodur 2024. 5. 10.
728x90

 

 

1. 스토리지 솔루션 종류

 

  • 로컬 스토리지 (Local Storage)
    • 웹 브라우저에 데이터를 영구적으로 저장할 수 있게 해주는 스토리지. 로컬 스토리지에 저장된 데이터는 브라우저 세션이 종료되어도 삭제되지 않는다.
    • 사용 예: 사용자 선호도 저장
  • 세션 스토리지 (Session Storage)
    • 웹 브라우저의 탭이 열려 있는 동안만 데이터를 저장할 수 있게 해주는 스토리지이다. 탭을 닫으면 저장된 데이터도 함께 삭제된다.
    • 사용 예: 단일 세션 데이터 저장, 임시 쇼핑 카트
  • IndexedDB
    • 대량의 구조화된 데이터를 클라이언트 측에서 저장하고 검색할 수 있는 낮은 수준의 API를 제공하는 데이터베이스 시스템. 복잡한 양의 데이터를 처리할 수 있고, 비동기로 작동한다.
    • 사용 예: 오프라인 데이터 저장, 대용량 데이터 처리
  • 쿠키 (Cookies)
    • 작은 데이터 조각을 사용자의 컴퓨터에 저장하여 서버와 클라이언트 간의 상태 정보를 유지하는 데 사용된다. 쿠키는 유효기간 지나면 자동으로 삭제된다.
    • 사용 예: 인증 정보 저장, 사용자 추적
  • 비공개 상태 토큰 (Private State Token, PST)
    • 웹 사이트가 사용자 브라우저에 정보를 저장하는 동안 사용자의 개인 정보 보호를 강화하기 위한 기술. 이 토큰은 사이트가 사용자의 브라우저 상태를 직접 액세스하지 않고도 사용자를 식별할 수 있게 해준다. 일반적으로 쿠키의 대안으로 개발되었다.
    • 사용 예: 광고 추적 방지, 개인 정보 보호 증진
  • 관심분야 그룹 (Interest Group)
    • 이는 구글이 제안한 FLoC(Federated Learning of Cohorts)의 일부로, 사용자를 비슷한 관심사를 가진 그룹으로 분류하고, 개인을 직접 식별하지 않는 방식으로 광고를 타겟팅하는 방법이다. 이 방법은 쿠키 기반의 개인 광고 방식을 대체하려는 목적을 가지고 있다.
    • 사용 예: 개인화된 광고 제공, 사용자 개인 정보 보호
  • Shared Storage
    • 이는 웹 애플리케이션들이 브라우저의 메모리 상에서 데이터를 공유할 수 있도록 설계된 스토리지 시스템이다. 웹 애플리케이션 간에 데이터를 안전하고 효율적으로 공유할 수 있게 해주며, 특히 여러 탭이나 윈도우를 통해 동일한 사이트에 액세스할 때 유용하다.
    • 사용 예: 실시간 협업 도구, 멀티 탭 사용자 경험 개선
  • Cache Storage
    • 서비스 워커를 사용하여 네트워크 요청을 캐치하고 자원을 캐시하는 데 사용된다. 이는 주로 오프라인 경험을 개선하기 위해 사용된다.
    • 사용 예: 오프라인 웹 애플리케이션, 빠른 로딩 시간

 
 
(-) Web SQL Database (더 이상 활발하게 사용되지 않음)

  • 웹 페이지에서 SQL 데이터베이스를 사용할 수 있게 해주었던 기술이다. 이 기술은 표준화 과정에서 중단되었으며, 새 프로젝트에서는 권장되지 않는다.

 
 

2. 기술 별 브라우저 지원 상황

모든 웹 브라우저가 위에서 언급된 스토리지 옵션들을 모두 지원하는 것은 아니다. 브라우저의 지원 상황은 다음과 같이 나눌 수 있다:

  • 로컬 스토리지, 세션 스토리지, 쿠키
    • 이들은 가장 널리 사용되는 클라이언트 사이드 스토리지 방식으로, 모든 주요 브라우저에서 지원된다. Google Chrome, Mozilla Firefox, Apple Safari, Microsoft Edge 등이 이를 포함한다.
  • IndexedDB
    • 이 또한 모든 주요 현대 브라우저에서 지원되는 구조화된 데이터 저장소이다. 대용량 데이터 저장 및 복잡한 데이터 관리가 필요할 때 주로 사용된다.
  • Cache Storage
    • 이는 주로 Progressive Web Apps(PWA)와 연결되어 사용되며, 서비스 워커를 통해 작동한다. 대부분의 최신 브라우저에서 지원되지만, 구형 브라우저나 일부 모바일 브라우저에서는 제한적일 수 있다.
  • 비공개 상태 토큰, 관심분야 그룹, Shared Storage
    • 이들은 상대적으로 새로운 기술이거나 실험적인 기술로, 주요 브라우저에서 널리 지원되지 않는다. 예를 들어, 비공개 상태 토큰과 관심분야 그룹은 특정 브라우저 또는 플랫폼에서만 실험적으로 구현되어 있을 수 있다. Shared Storage 또한 특정 상황에서만 지원될 수 있으며, 모든 브라우저에서 일관되게 사용할 수 있는 상태는 아니다.

 
(-) Web SQL Database

  • 이 기술은 표준화가 중단되었기 때문에 새로운 브라우저 프로젝트에서는 지원이 제거되고 있다. 현재 몇몇 브라우저에서는 여전히 남아 있지만, 새로운 웹 애플리케이션에서는 사용을 권장하지 않는다.