mobile DB, SQLite

agnusdei·2025년 5월 27일

Database

목록 보기
60/76

📌 문제

모바일 데이터베이스와 SQLite에 대해 설명하시오.


✅ 답안


1. 개념 (Definition)

1.1 모바일 데이터베이스 (Mobile Database)

모바일 데이터베이스는 모바일 디바이스(스마트폰, 태블릿 등) 상에서 동작하는 **경량화된 데이터베이스 시스템(DBMS: Database Management System)**으로, 무선 네트워크 환경에서도 데이터의 저장, 검색, 수정, 삭제 등의 작업이 가능하도록 설계된 데이터베이스이다.

  • 장소나 시간에 구애받지 않고 데이터 접근 가능
  • 네트워크 연결이 불안정한 상황에서도 데이터 처리 가능

1.2 SQLite

SQLite는 **오픈소스 기반의 경량화된 관계형 데이터베이스(RDB: Relational Database)**로, 서버 없이 로컬 파일 형태로 동작하는 **내장형 데이터베이스(Embedded DBMS)**이다.

  • Zero Configuration”: 설치 및 설정 불필요
  • 안드로이드(Android), iOS, 브라우저 등 다양한 환경에서 사용

2. 역할 & 목적

항목설명
모바일 DB모바일 앱이 로컬 저장소에 데이터 저장 및 검색 가능하게 함
SQLite로컬 데이터 저장을 위한 기본 내장 DB로 사용, 모바일 앱의 성능 및 오프라인 지원 강화

3. 구조 및 구성요소

3.1 모바일 데이터베이스 구조

[Mobile Application]  
       ↕  
[Mobile DB Engine (예: SQLite)]  
       ↕  
[Local Storage (File System, Flash Memory)]  
       ↕  
[동기화 모듈 (Optional)] ↔ [Cloud DB or Central Server]

3.2 SQLite 구조

  • SQLite Engine: SQL 파싱, 실행, 트랜잭션 처리
  • B-Tree Storage: 데이터를 페이지 단위로 저장
  • Virtual Machine (VM): SQL 명령을 실행하는 추상 기계
  • Database File: .sqlite 확장자로 저장되는 단일 파일

4. 동작 원리

  • SQLite는 SQL 명령을 직접 파싱하고, 결과를 로컬 파일에 저장한다.
  • 모바일 앱은 **SQL API(Java, Swift 등)**를 통해 SQLite DB와 연동
  • 트랜잭션, 쿼리, 인덱싱 등 관계형 DB의 기본 기능 제공
  • 데이터는 하나의 파일로 관리되며, 디스크 I/O를 최소화함

5. 특징

항목모바일 DBSQLite
저장 위치로컬 스토리지 (Flash 등)단일 파일
서버 필요 여부경우에 따라필요 없음 (서버리스)
동작 환경오프라인/온라인 모두오프라인 최적
데이터 모델관계형/비관계형 모두 가능관계형 (RDBMS)
개발 난이도중간~높음 (동기화 포함 시)낮음 (내장 API 제공)
사용 언어Java, Swift, Kotlin 등C, Java, Swift 등

6. 장단점

6.1 모바일 데이터베이스

장점단점
네트워크 불안정 시에도 데이터 사용 가능동기화 처리 복잡
로컬 처리로 속도 빠름보안 취약 가능성
모바일 앱에 최적화된 구조제한된 저장 공간

6.2 SQLite

장점단점
가볍고 빠름, 서버 불필요동시 사용자 다중 처리 미약
오픈소스, 설치 불필요복잡한 데이터 처리에 부적합
트랜잭션 및 ACID 보장분산 환경 미지원

7. 핵심 용어 정리

용어설명
Embedded DB앱 내에 탑재되어 별도 설치가 필요 없는 데이터베이스
ACIDAtomicity, Consistency, Isolation, Durability – 트랜잭션 특성
동기화(Synchronization)로컬 DB와 서버 DB 간 데이터 정합성 유지
SQL (Structured Query Language)관계형 데이터베이스를 제어하는 표준 언어

8. 비교: SQLite vs 모바일 NoSQL (예: Realm, Firebase)

항목SQLiteRealm / Firebase
DB 유형관계형(RDBMS)비관계형(NoSQL)
쿼리 방식SQL메서드 기반 (객체지향)
데이터 구조테이블객체, 문서
사용 목적정형 데이터실시간 동기화, 반정형 데이터

9. 어린이 버전 요약

"SQLite는 핸드폰 속 조그만 컴퓨터에 저장장을 만드는 거예요. 인터넷이 없어도 일기 쓰듯 앱에 정보를 저장하고 꺼낼 수 있지요!"


✅ 결론

  • 모바일 데이터베이스는 오프라인 환경, 빠른 응답속도, 네트워크 독립성을 위해 필수적이며, 앱의 핵심 기능을 수행함.
  • SQLite는 가장 널리 사용되는 경량 관계형 모바일 DB로, 서버가 필요 없고 파일 하나로 모든 데이터를 관리하여 성능, 안정성, 간편성 측면에서 매우 유리하다.
  • 모바일 환경에서의 데이터 저장 솔루션 설계 시, 용도에 맞게 SQLite 또는 다른 NoSQL 기반 모바일 DB를 선택하는 것
profile
DevSecOps, Pentest, Cloud(OpenStack), Develop, Data Engineering, AI-Agent

0개의 댓글