마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

웹 DB 연동 mysql에서 sqllite로

0 추천
안드로이드와 DB를 연동하기 위해선 중간에 JSP 나 PHP를 사용하는 것으로 알고 사용해 왔는데요.

이번에 필요한 부분이 웹 DB 와 sqllite 를 동기화 할수 있는 부분을 혹시 아시는 분이 있느신지 궁금합니다.

즉, 우선은 mysql과 sqllite에 동일 한 테이블이 존재 하고우 웹에 로우들이 존재합니다. 메소드가 실행해 주는 부분이

웹에 존재하는 row들을 sqllite에 복사해서 담아주는 기능입니다. 혹시 이와같은 부분을 보신적이있나요?

도움 부탁드립니다. 감사합니다.
jeahoonyam (190 포인트) 님이 2014년 8월 18일 질문

1개의 답변

0 추천
 
채택된 답변
mysql의 replication 같이 DB 이중화를 해주는 기능을 말씀하시는 거라면

제가 아는 한도내에는 없습니다.

 

테이블 동기화를 해주시려면 현재 가지고 있는 데이터의 버전을 서버로 전송해서

서버에서는 해당 버전보다 높은 데이터들을 json 방식등으로 클라이언트로 내려줘서 로컬db에 insert 하는 방식이

최선으로 알고 있습니다.

여러행 insert 시 부하가 걸리므로 당연히 트랙잭션 처리해 주셔야 하시구요.
바램 (19,650 포인트) 님이 2014년 8월 18일 답변
jeahoonyam님이 2014년 8월 18일 채택됨
DB를 올려주는 부분과 내려주는 부분으로 해서 구현해야하는건가요?
일부분을 올리고 내리는 부분이라면 괜찮을거 같은데, 전체를 받아오는 거라면 너무 커보여서요.. 뭔가 보편적인 방법이나 솔루션이 있나 너무 궁금하네요
보편적으로는 DB 테이블 설계시 키로 잡을만한 컬럼을 하나 추가해서 작업하시면 됩니다. 해당 컬럼이 datetime 형일수도 있고 AI 로 자동증가하는 값일 수도 있구요......그래서 클라이언트(앱)에서 현재 로컬DB에 가지고 있는 데이터중 최대값을 찾아내서 해당 값을 서버로 던지면 서버에서는 해당 값보다 큰 레코드들만 찾아와서 클라이언트로 내려주면 됩니다.

서버에 값을 입력하는 부분은 어떤 데이터인지 몰라서 모르겠지만....저 같은 경우는 주기적으로 웹을 검색해서 찾는 결과값이 있으면 서버에 입력해주는 앱을 만들어서 제 폰에 심고 다닙니다. 서버호스팅을 받고 계시다면 서버에서 도는 프로그램을 하나 짜서 돌려주면 되겠지요.....물론, 문제가 있을때는 관리자에게 리포트 하는 기능도 추가되어야만 합니다.
...