2011-10-09 2 views
1

나는 데이터를 사용자에게 전달할 수있는 방법을 찾고있다. XML에서 플랫 파일 DB, 관계형 DB에 이르기까지 다양합니다.모바일 장치에 데이터를 전달하는 가장 가볍고/가장 빠른 방법은 무엇입니까?

이 DB는 서버에 저장되며 요청에 따라 핸드 헬드 장치, 스마트 폰 및 태블릿을 제공합니다. 내 주요 관심사는 수백만 행에 걸쳐 요청 된 정보를 표시하는 속도와 데이터를 쉽게 업데이트 할 수있는 방법입니다.

게시하기 전에 Google에서 SQLite를 가리키는 몇 가지 검색을 수행했습니다. 이것에 대한 당신의 견해는 무엇입니까?

+0

물론 "수백만 건이 넘는"XML 데이터베이스는 사용하지 않을 것입니다. –

+0

@AurelioDeRosa 당연한 일이지만, 나는 어떤 제안이든 공개적으로 보여주고 싶었습니다. – EnexoOnoma

답변

1

SOAP/XML-RPC 서비스를 설정하고 서버에서 데이터를 처리하고 한 번에 클라이언트 조각으로 보내면 좋을 것입니다. 대용량 파일을 핸드 헬드로 전송할 필요가 없기 때문에 이것은 잠재적으로 "가장 빠른"방법입니다. 그것은 당신을 위해 작동하지 않을지도 모르지만, 언급할만한 가치가 있습니다.

이것은 본질적으로 모바일 장치의 데이터 저장소에 대한 입력과 전송 형식의 출력으로 묶여있는 파일 다운로드입니다. 네가 사전 같은 무언가를 설명하고 있다고 상상해 보라.

  1. 계정 전체 파일 크기에 타고 멀리 데이터의 의미 성을 통신 할 얻을 수있는 적은 메타 설명을 활용, 즉 :

    접근

    당신이 필요합니다 달성하고자하는 것입니다.
  2. 서버와 장치간에 데이터의 압축 유형 (예 : gzip)을 사용하십시오. 공격적인 압축은 장치에서 압축을 해제하는 데 시간이 오래 걸릴 수 있으며 덜 적극적인 접근 방식을 사용하면 상당히 생산 속도가 빨라집니다.
  3. 데이터가 서버 저장소 (데이터베이스에 있습니까? 전송 양식에 데이터를 캐시 할 수 있습니까?)를 장치의 데이터 저장소 시스템 (예 : SQLite)으로 가져 오는 방법을 고려하십시오. 장치가 장치에 다운로드 할 때 저장 한 시간보다 데이터를 삽입하는 데 3 배 더 긴 시간 동안 작동해야하는 경우 전송 속도를 크게 압축하는 것이 중요하지 않을 수 있습니다.
  4. 테스트. 테스트. 테스트.

매우 미니멀리즘 인 CSV 또는 JSON 형식의 파일로 제공 할 수 있습니다. 데이터를 설명하기 위해 많은 양의 데이터를 사용하지 않습니다. XML은 일반적으로 매우 설명 적이기 때문에 가장 빠르지는 않지만 다른 장점이 있습니다. 또 다른 옵션은 SQL insert 문으로 텍스트 파일을 보낼 수 있습니다.

"옵션"은 물론 업데이트 메커니즘을 사용하여 "업데이트"로 푸시 할 수도 있습니다. 이것에 대한 내 생각은 모바일 장치를 사용하는 많은 사람들이 업데이트가 많은 시간을 필요로하며 대용량 다운로드가 많다는 것을 알고 있으므로 그렇게 할 때 컴퓨터에 연결합니다. 이것은 단지 생각 일뿐입니다. 이것이 실제로 더 나아질 지 확신 할 수는 없지만 거기에 버릴 것이라고 생각했습니다.

SQLite는 많은 모바일 플랫폼에서 실행되는 RDBMS입니다. 그것은 한계가 있지만, 당신이 함께해야 할 모든 것일지도 모릅니다. 좋은 선택입니다.

1

모바일 장치에서 오프라인 처리와 같은 데이터 작업을 수행하도록하려면 SQLite를 사용하는 것이 좋습니다.

어쨌든 온라인에서 처리가 이루어지면 모바일 장치가 가장 많이 표시되고 "항상"온라인 상태 인 환경에서 데이터를 요청하고 처리 한 다음 백엔드 SQL 서버가 될 것입니다. 길을 가야합니다

우선 순위가 낮아서 다음과 같습니다 : 많은 온라인 트래픽입니다. 그렇다면 정말 많은 데이터가 있다면 행이 수백만 개라고 말하면 오프라인으로가는 것이 트래픽이라고 생각합니다. preformance를 죽일뿐입니다.

1

수백만 개의 행을 처리하고 있으며 한 번에 작은 샘플을 표시하려는 경우 (다른 것이 어렵습니다. 가능한) 모바일 장치에서, 당신은 확실히 RDBMS를 사용하여 서버 측에서 처리해야합니다. 그것들은 수백만 행을 처리하기 위해 만들어졌습니다. Sqlite는 빠르고 간단하지만 수백만 행 범위에서 PostgreSQL 또는 상용 브랜드 (Oracle, MS SQL 서버 등) 중 하나에 도달하는 것이 좋습니다.

웹 서비스를 사용하거나 데이터베이스에 직접 액세스 할 수 있습니다. 로컬에서 일부 처리를 수행 할 수 있지만 행 선택은 서버에서 이루어져야합니다.

관련 문제