2011-03-06 5 views
4

나는 많은 의도와 목적을 위해 많은 데이터를 사용할 응용 프로그램을 만들고 있습니다. 그 데이터를 처리하기 위해 SQLite 데이터베이스를 사용하는 것이 가장 합리적이라고 가정했습니다. XML 파일을 사용하고 원시 리소스로 액세스하는 것이 합리적인지 궁금합니다. 수백 개의 개별 조각 순서로 많은 데이터가있을 가능성이 있음을 명심하십시오.원시 리소스 대 SQLite 데이터베이스

SQLite가 메모리 관리 및 전반적인 설계 고려 사항에서 가장 좋다고 가정하는 것이 맞습니까? 아니면 데이터가 기본적으로 정적이라면 SQLite는 이해할 수 없습니까?

답변

4

실제로 SQLite는 데이터가 정적 인 경우 난센스가되는 것처럼 보입니다. 당신이 조작하려고하는 것은 많은 양의 데이터 인 경우, 당신은 그것을 사용해야에

  • 쉽게 될 것입니다 :
    • 정렬 데이터를 데이터 검색
    • 데이터 필터링
  • XML 파일을 사용하면 SAX 또는 DOM이 XML을 구문 분석하는 방식 때문에 성능 문제가 발생할 수 있습니다.
+0

Christian. 큰 포인트. 따라서 SQLite는 확장 성이 뛰어나므로 많은 의미가 있다고 생각합니다. 앱이 반드시 사용자가 DB에 추가 할 수 있도록 허용하지 않더라도 의미가 있습니까? – LuxuryMode

+0

정확히 .. 사실, 70.000 개 이상의 레코드를 보유해야하는 내 앱 중 하나는 SQLite 데이터베이스로 만들어집니다. 그것을 SQlite Index와 혼합하면 성능이 크게 향상됩니다. – Cristian

0

크리스티안이 옳다 (당신이 다음 릴리스에서 더 많은 데이터를 추가 할 것을 상상) 미래의 데이터의 집합을 업데이트하는 것이 더 쉬울 것이다. 데이터베이스는 더 나은 액세스 시간을 제공하며 매우 편리하게 데이터를 수정할 수 있습니다. 트리 같은 데이터 구조의 경우 XML이 더 좋은 아이디어 일 수 있습니다.

  1. 당신이 저장하는 데이터의 종류 : 제 생각에는

    여기에이 질문이 있습니까?

  2. 당신은 사용자가

XML의 1 큰 단점도 있습니다 (메모장을 사용하여 응용 프로그램에서 예 또는 에 대한)이 데이터를 수정할 수 있도록 함 - 결국 열린 텍스트입니다. 그래서 누구나 읽을 수 있습니다. 이를 막으려면 데이터를 암호화해야합니다. 이는 추가 작업을 의미합니다. XML의 경우, 마샬링 기술 (JiBX, Castor, JAXB)을 사용하면 편리 할뿐만 아니라 메모리 소비도 줄일 수 있습니다.

DB에 저장하는 데이터의 종류를 설명해 주시면보다 나은 답변을 찾으실 수 있습니다.

+0

감사합니다. 이것은 많은 의미가 있습니다. 이 데이터는 본질적으로 Linux 및 기타에서 사용할 수있는 여러 명령에 대한 참조 가이드입니다. 그러면 명령 텍스트와 설명이 나옵니다. 해당 데이터는 카테고리 등으로 구성됩니다. Def. SQLite와 같은 소리가가는 길입니다. – LuxuryMode

+0

이 경우 데이터베이스 접근 방식이 매우 좋은 생각입니다.다른 기준으로이 데이터베이스를 검색하려고 할 수도 있습니다 (설명의 일부로 명령을 검색 할 수도 있고 명령 이름을 기반으로 명령 설명을 검색 할 수도 있음). 당신이 묘사 한 데이터는 테이블에 이상적으로 맞습니다. 그리고 마지막 하나 - 파일을 암호화 할 필요가 없습니다 (이 경우 매우 중요해 보입니다). 내 마음 속에 하나의 사기가있다. 압축 된 XML은 아마 더 작을 것이다. 요약하면, 내 의견으로는 선택이 좋다. – altanis

0

데이터가 stollen (sqlite 데이터베이스)이라고 생각하십니까? sqlite 데이터베이스로 root 권한이있는 사용자라면 누구나 db 파일을 가져 와서 사용할 수 있습니다.

+0

이것이 왜 문제가됩니까? 그것은 그의 전화, 그의 데이터입니다. 어쨌든 XML에서 데이터를 "훔치는"것이 더 쉽습니다. –