[일단기록] AsyncStorage vs MMKVStorage

kjoo0·2024년 7월 4일
0

일단기록

목록 보기
5/10
post-thumbnail

안드로이드 앱 데이터를 저장하는 방법

AsyncStorage와 MMKVStorage의 개념과 장단점

AsyncStorage

AsyncStorage는 React Native 애플리케이션에서 비동기적으로 키-값 데이터를 저장하기 위해 사용되는 API입니다. AsyncStorage는 기본적으로 앱의 파일 시스템을 사용하여 데이터를 저장하며, 네이티브 모듈을 통해 비동기적으로 데이터 접근을 지원합니다.

개념:

  • 키-값 저장소: 데이터를 키-값 쌍의 형태로 저장합니다.
  • 비동기 처리: 데이터 저장과 접근이 비동기적으로 이루어집니다.
  • Persistent Storage: 앱이 종료되더라도 데이터는 유지됩니다.

장점:
1. 간편한 사용: API가 단순하여 사용하기 쉽습니다.
2. React Native 기본 제공: 별도의 라이브러리를 설치할 필요 없이 바로 사용할 수 있습니다.
3. 멀티 플랫폼 지원: iOS와 Android 모두에서 동일하게 작동합니다.

단점:
1. 성능: 대량의 데이터를 처리할 때 성능이 떨어질 수 있습니다.
2. 보안: 기본적으로 데이터가 암호화되지 않습니다. 추가적인 보안 처리가 필요합니다.
3. 제한된 기능: 고급 데이터 구조나 인덱싱 등 복잡한 데이터 작업을 지원하지 않습니다.

MMKVStorage

MMKVStorage는 WeChat에서 개발한 고성능 키-값 저장소 라이브러리입니다. MMKV는 메모리 매핑(Memory Mapped) 기법을 사용하여 빠르고 효율적인 데이터 접근을 제공합니다.

개념:

  • 키-값 저장소: 데이터를 키-값 쌍의 형태로 저장합니다.
  • Memory Mapped Storage: 메모리 매핑을 이용하여 빠른 데이터 접근을 가능하게 합니다.
  • 고성능: 빠른 읽기/쓰기 성능을 자랑합니다.

장점:
1. 고성능: 메모리 매핑을 사용하여 데이터 접근 속도가 매우 빠릅니다.
2. 데이터 압축: 데이터 압축을 통해 저장 공간을 효율적으로 사용합니다.
3. 안정성: WeChat 등 대형 애플리케이션에서 검증된 안정성.

단점:
1. 초기 설정: AsyncStorage에 비해 초기 설정이 복잡할 수 있습니다.
2. 호환성 문제: 특정 안드로이드 버전이나 기기에서 호환성 이슈가 발생할 수 있습니다.
3. 추가 종속성: 외부 라이브러리를 추가로 설치해야 합니다.

결론

  • AsyncStorage는 간편하고 빠르게 사용할 수 있지만, 성능과 보안 면에서 한계가 있습니다. 작은 규모의 데이터를 저장하거나 복잡하지 않은 앱에는 적합합니다.
  • MMKVStorage는 고성능을 요구하는 앱에 적합하며, 대규모 데이터 처리에도 뛰어납니다. 하지만 초기 설정이 다소 복잡할 수 있으며, 추가적인 라이브러리 설치가 필요합니다.

Q. ios도 적용가능한가요?
yes!!

profile
티스토리 이사 준비 중..

0개의 댓글