현재 매우 큰 데이터베이스를 만들 가능성이있는 앱을 개발 중입니다. 몇 가지 추가 공간을 허용하기 위해 SD 카드에 앱을 설치할 계획이었습니다. 최근의 거래는 좋은 생각이 아닐 수도 있다고 경고했습니다. 이 행동 방침의 위험을 완화하기 위해 취할 수있는 조치가 있습니까? 아니면 더 좋은 대안이 있습니까?Android에서 대용량 데이터베이스 다루기
답변
제목이 (저자가 아님)이 comprehensive post입니다.
전반적으로 SQLite는 파일에 액세스하기위한 SQL 메커니즘이라는 것을 전제로해야한다고 생각합니다. APK 전체에 대한 현재 시장 한도는 50MB입니다. 내부 메모리에 설치하는 경우 APK 크기의 2 배가 필요합니다. sdcard에 설치하려면 명시된 APK 크기 만 있으면됩니다. SQLite는이 파일을 통해 단지 추상화이기 때문에 당신이 등을 선택, 삽입, 업데이트를 수행 할 때, 당신은) 쓰기 비용 2. 읽을 sdcard에 초래 될 것이다) 1 : 여기
당신이에 대해 작업 할 것입니다 성능을 기준으로 soft limit of 10000 records에 대한 언급을 보았습니다. 이 기사는 약간 오래되었으므로 가능성이 높아졌습니다.그 외의 경우, 가능한 것이 무엇인지 확인하기 위해 몇 가지 테스트를 설정해야 할 것입니다. Google의 간단한 검색 결과 현재까지 어떤 벤치 마크도 표시되지 않았습니다.
이전에 지적했듯이 SQLite는 당신이 찾고있는 기능을 작은 라이브러리에 포함하고 있습니다. 단순한 파일 액세스를 SQL API를 통해 안정적이고 복구 가능한 트랜잭션 데이터 액세스로 대체하도록 설계되었습니다. 그들의 main page에 대한 요약이 있습니다.
말 그대로 SQLite를 사용하는 수천 개의 프로젝트가 있습니다. 데이터 세트가 매우 커질 경우 (100-200MB 이상) Berkeley DB를 옵션으로 사용하는 것이 좋습니다. Berkeley DB는 최근 SQL API에 대한 지원을 시작했으며 이는 SQLite와 완벽하게 호환됩니다. SQLite SQL 파서, 쿼리 플래너 및 실행 프로그램이 제공하는 기능 외에도 Berkeley DB가 잘 알고있는 안정성과 확장 성을 얻을 수 있습니다. 우리는 SQLite로 행복하게 시작한 몇몇 고객을 보유하고 있습니다. SQLite에서 사용할 수없는 추가 동시성, 확장 성 및 안정성이 필요하다는 것을 깨달았을 때 SQLite 라이브러리를 BDB 라이브러리로 대체하고 응용 프로그램을 다시 컴파일 한 후 며칠 내에 버클리에서 테스트 및 실행했습니다.
저는 Berkeley DB의 제품 관리자 중 한 명입니다. 그래서 조금 편견이 있습니다. :-) 그러나 BDB SQL API를 구현하여 Berkeley DB의 동시성, 안정성 및 확장 성과 결합 된 SQLite의 편재성 및 사용 편의성을 사용자에게 최상의 차원으로 제공 할 수있었습니다. 특히 대규모 데이터 세트를 사용하는 경우 Berkeley DB는 응용 프로그램 성능의 모든 차이를 만들 수 있습니다.
모든 Android 휴대 전화에서 Berkeley DB를 사용할 수 있습니까? Android 앱을 SQLite에서 BDB로 쉽게 전환 할 수 있습니까? –
Berkeley DB는 http://bit.ly/gNWr1C에서 다운로드 할 수 있습니다. BDB 및 BDB Java Edition은 모두 Android에서 실행됩니다. SQL API를 사용하려면 BDB (BDB JE가 아님)를 다운로드해야합니다. 두 제품 모두 Android 용으로 테스트 및 지원되며 Android에서 BDB 기반 응용 프로그램을 실행하는 고객이 있습니다. Berkeley DB를 만들고 BDB 라이브러리에서 응용 프로그램을 가리켜 야합니다. 어떤 라이브러리를 사용하고 있는지 조심해야하지만, 일단 설정이되면 그냥 실행해야합니다.질문이 있으시면 OTN 포럼 (http://bit.ly/g5Fkbz)에 게시하여 알려주십시오. – dsegleau
OTN 포럼 링크가 유용 할 것입니다 : http://bit.ly/dZ86xg – dsegleau
위에서 언급했듯이 Android에서 Java Edition이 아닌 Berkeley DB를 사용할 수 있습니다. 사소한 조정이 필요하기 때문에 크로스 컴파일 프로세스 here의 단계를 설명했습니다.
- 1. 하스켈에서 대용량 파일 다루기
- 2. REST와 대용량 데이터베이스 쿼리
- 3. 대용량 데이터베이스 - 1TB 초과
- 4. 레일에서 레거시 데이터베이스 뷰 다루기
- 5. android에서 웹 서버의 대용량 파일 업로드
- 6. 데이터베이스 보고서에서 줄 바꿈 문자 다루기
- 7. android에서 데이터베이스 만들기
- 8. Android에서 Webview 데이터베이스 손상
- 9. android에서 SQLite 데이터베이스 만들기
- 10. iPhone 응용 프로그램을위한 대용량 데이터베이스 란 무엇입니까?
- 11. 대용량 데이터베이스 (17MB)는 어떻게 처리해야합니까?
- 12. 위도 및 경도가있는 대용량 샘플 데이터베이스
- 13. DBNull.Value 다루기
- 14. android에서 응용 프로그램 데이터베이스 편집
- 15. 데이터베이스 삽입이 Android에서 작동하지 않습니다.
- 16. Android에서 로그인 및 데이터베이스 연결
- 17. 많은 데이터 다루기
- 18. 이미지보기에서 다루기
- 19. 지도 다루기
- 20. 스레드 다루기
- 21. 청취자 다루기
- 22. 파이썬에서 엉뚱한 인코딩 다루기
- 23. 거대한 SQL 결과 다루기
- 24. ASP.NET의 버전 분기/롤백 사이에서 데이터베이스 변경 다루기
- 25. 사용자 정의 데이터 구조 다루기
- 26. 저장하는 대용량 데이터는
- 27. Android에서 데이터베이스 검사 : ProviderTestCase2 또는 RenamingDelegatingContext?
- 28. Android에서 데이터베이스 액세스에 대한 도움이 필요합니다.
- 29. Command Prompt를 사용하여 Android에서 데이터베이스 생성 하시겠습니까?
- 30. android에서 데이터베이스 테이블을 검색하는 검색 기능
좋은 답변입니다. +1. 나는 의심의 여지가 sqlite 파일이 안드로이드에 외부 있다면 다음 제한이 무엇입니까? 데스크톱과 동일하거나 여전히 제한이 있습니까? – Vinay