알고 있으면 너무 좋은 프론트엔드 웹 기술 : IndexedDB API
- IndexedDB API는 웹 브라우저 내에 데이터를 저장하는 NoSQL 데이터베이스 API로, 대용량 데이터를 저장하고 관리할 수 있다. 💾
- 브라우저의 물리 저장소의 상당 부분을 활용 가능하며, 비정형 데이터 처리에 유용하다. 📦
- 비동기 방식으로 실행되어 사용자 인터페이스의 응답성을 유지하며, 트랜잭션을 통해 데이터 무결성을 보장한다. 🛡️
- 오프라인 상태에서도 데이터 처리가 가능하며, 별도 라이브러리 설치 없이 사용 가능한 웹 표준 API이다. 🌐
- IndexedDB는 데이터베이스와 오브젝트 스토어의 계층 구조를 가지며, 실제 데이터는 오브젝트 스토어에 저장된다. 📂
- 오브젝트 스토어는 키 값을 필수로 가지며, 자동 증가 옵션을 통해 편리하게 관리할 수 있다. 🔑
- 인덱스를 사용하여 특정 컬럼에 대한 빠른 데이터 조회가 가능하다. 🔍
- 트랜잭션 객체를 사용하여 데이터의 추가, 조회, 삭제 작업을 수행하며, 데이터 무결성을 유지한다. ✅
- 커서를 이용하여 데이터를 순회하며 검색하는 기능을 구현할 수 있다. 🖱️
- 데이터베이스 스키마 변경 시, 기존 데이터베이스를 삭제하고 새로운 스키마로 재구성하는 전략을 사용할 수 있다. 🔄
- IndexedDB API는 저수준 API이므로, Dexie.js, js-store와 같은 래핑 라이브러리를 사용하여 더 편리하게 사용할 수 있다. 🛠️
- 데이터베이스 버전 관리를 통해 스키마 변경 및 업그레이드를 효율적으로 관리할 수 있다. 🔢
- 웹 애플리케이션에서 서버 없이 대용량 데이터를 저장하고 빠르게 조회해야 할 때 유용하다. 🚀