모바일 데이터베이스
더 많은 작업
모바일 데이터베이스(Mobile Database)는 무선망으로 서버에 드나드는 휴대용 기기(모바일 호스트)가 데이터를 내려받아 캐시하거나 복제본으로 지니고 다니며, 연결이 끊긴 동안에도 조회·갱신하다가 다시 연결되면 서버와 맞추는 데이터베이스 환경이다.
유선 분산 데이터베이스는 노드가 늘 연결되어 있다고 보고, 네트워크가 갈라지는 분할(partition)을 예외적인 장애로 다룬다. 모바일 환경은 다르다. 배터리를 아끼려고 스스로 연결을 끊기도 하고, 이동하다 통신이 끊기기도 하며, 대역폭이 좁고 비싸다. 연결이 끊긴 상태가 일상이므로 단절로 생긴 분할을 정상 동작의 일부로 보고 설계해야 한다.
카네기멜런 대학의 Coda 파일 시스템 연구는 이 문제를 단절 운용(disconnected operation)으로 정리했다. 공유 저장소에 닿지 못하는 동안에도 클라이언트가 캐시한 데이터로 계속 일하게 하는 방식이며, 캐시를 성능뿐 아니라 가용성을 위해 쓰는 것이 핵심이다.[1] Coda 는 분할된 상태의 쓰기를 모두 막는 비관적 복제 제어 대신, 쓰기를 허용하고 나중에 충돌을 찾아 푸는 낙관적 복제 제어를 택했다. 분할 중 쓰기를 막으면 단절 운용 자체가 의미를 잃기 때문이다.[1]
모바일 호스트가 다른 컴퓨터도 갱신할 수 있는 데이터를 읽기 전용 사본으로 캐시했다면, 그 사본은 서버 쪽 갱신이 일어나는 순간 낡은 값이 된다. 읽기 전용으로 캐시했다는 사실만으로 일관성이 보장되지는 않는다. 그래서 서버는 어떤 항목이 바뀌었는지를 알리는 무효 보고서(invalidation report)를 주기적으로 방송하고, 연결되어 있는 모바일 호스트는 이를 받아 해당 캐시 항목을 무효로 표시한다. 바베라(Barbará)와 이밀린스키(Imieliński)는 주기적으로 무효 보고서를 방송하는 캐시 전략을 체계화하고, 자주 단절되는 클라이언트와 늘 연결된 클라이언트에 따라 유리한 보고서 방식이 다르다는 것을 보였다.[2]
단절되어 있던 호스트는 그동안의 무효 보고서를 받지 못한다. 다시 연결했을 때 놓친 보고서를 알 방법이 없으면 안전하게 캐시 전체를 무효로 만들어야 하는데, 그러면 필요한 데이터를 좁은 무선망으로 다시 받아야 하므로 비용이 크다. 보고서가 덮는 기간(창)을 넉넉히 잡거나 항목별 갱신 시각을 함께 보내 전체 무효화를 피하는 방법이 연구되었다.[2]
- 분할 중 접근 허용 - 단절이 정상 모드이므로 일관성이 손상될 위험이 있더라도 분할 상태에서 데이터를 읽고 쓰게 한다. 이것이 유선 분산 시스템과 가장 다른 점이다
- 재통합(reintegration) - 다시 연결되면 단절 중에 쌓은 갱신 기록을 서버에 반영한다. Coda 는 이 단계를 따로 두어 단절 중 갱신을 서버로 전파한다[1]
- 충돌 탐지와 해소 - 같은 항목을 양쪽에서 고쳤으면 버전 정보로 충돌을 찾아 자동 규칙이나 사용자 개입으로 푼다
| 구분 | 유선 분산 데이터베이스 | 모바일 데이터베이스 |
|---|---|---|
| 분할(단절) | 장애 모드, 드물다 | 정상 동작의 일부, 잦다 |
| 분할 중 갱신 | 막거나 한 분할에만 허용(비관적) | 위험을 감수하고 허용(낙관적) |
| 캐시 무효화 | 연결이 유지되어 즉시 통지 가능 | 연결 중에만 무효 보고서 수신, 단절 뒤에는 전체 무효화가 필요할 수 있음 |
| 전체 캐시 재적재 비용 | 상대적으로 작다 | 대역폭·배터리 때문에 크다 |
- 읽기 전용으로 캐시한 사본도 서버 쪽 갱신 뒤에는 낡을 수 있다. "읽기 전용이므로 일관성이 유지된다"는 틀린 말이다
- 재연결 때 캐시 전체를 무효로 하는 것은 안전하지만 비용이 무시할 만큼 작지 않다
- ↑ 1.0 1.1 1.2 James J. Kistler, M. Satyanarayanan, 「Disconnected Operation in the Coda File System」, ACM Transactions on Computer Systems 10(1), 1992, https://www.cs.cmu.edu/~coda/docdir/s13.pdf, 확인일: 2026-11-05.
- ↑ 2.0 2.1 Daniel Barbará, Tomasz Imieliński, 「Sleepers and Workaholics: Caching Strategies in Mobile Environments」, Proceedings of the 1994 ACM SIGMOD International Conference on Management of Data, pp. 1-12.