누구나 db4o 데이터베이스를 압축/압축하는 방법을 알고 있습니까?db4o : 압축/축소
2
A
답변
3
컴팩트/축소로 무엇을 의미합니까? 기존 데이터베이스를 더 작게 만드시겠습니까? 또는 데이터베이스를 압축 하시겠습니까?
이 중 하나의 역할은 defragmentation입니다. 이렇게하면 데이터베이스에서 사용하지 않는 공간이 확보됩니다. 개체를 삭제하면 데이터베이스가 축소되지 않습니다. 대신 공간은 새로운 객체에 대해 무료로 표시됩니다. 그러나 초과 작업으로 데이터베이스를 조작하면 파일이 조각화됩니다. 따라서 조각 모음은 데이터베이스의 사용되지 않는 공간을 다시 가져옵니다.
많은 문자열을 저장할 때 기본 전체 유니 코드 대신 UTF8 encoding을 사용해야합니다. 이제 문자가 한 바이트 만 사용하기 때문에 많은 공간을 절약 할 수 있습니다.
EmbeddedConfiguration config = Db4oEmbedded.newConfiguration();
config.common().stringEncoding(StringEncodings.utf8());
ObjectContainer database = Db4oEmbedded.openFile(config,"database.db4o");
기존 데이터베이스에 대해서는이 설정을 변경할 수 없습니다. 문자열 인코딩을 변경하려면 데이터베이스의 조각 모음을 수행해야합니다.
데이터베이스를 압축하려면 압축 storage-implementation을 사용할 수 있습니다. 그러나 나는 이것을 수행하는 사용 가능한 구현을 모른다.
관련 문제
- 1. DB4O 닫기() DB 지우기?
- 2. db4o 복제 시스템 : NullReferenceException?
- 3. db4o 하위 객체
- 4. Db4o 임의의 오브젝트 선택
- 5. Db4o 성능 선택
- 6. db4o 개체 업데이트 딜레마
- 7. Db4o 개체 업데이트
- 8. db4o, Linq 및 UUID의
- 9. Griffon db4o 플러그인 구성
- 10. db4o 데이터베이스에서 객체로드
- 11. 동시 db4o 파일 액세스
- 12. Maven 및 db4o 종속성
- 13. 아음속 및 DB4O
- 14. 좋은 db4o 뷰어를 추천합니다
- 15. Db4O - 문자열을 저장할 수 있습니까?
- 16. db4o : ActivationDepth가 효과가없는 것 같습니다. (?)
- 17. .NET의 db4o : 속성 또는 필드?
- 18. 웹 응용 프로그램 in DB4O
- 19. db4o activatablelist 대 wpf observablecollection
- 20. Silverlight RIA Services를 사용하는 DB4O
- 21. Db4o MVC 응용 프로그램 아키텍처
- 22. db4o : LINQ SODA 쿼리와 동일합니까?
- 23. asp.net MVC 공유 호스팅에서 db4o
- 24. 프리즘 MVVM 응용 프로그램에서 DB4O 사용
- 25. DB4O 복제는 SQL Server 병합 복제보다 빠릅니까?
- 26. db4o 저장된 객체를 하위 클래스의 인스턴스로 대체
- 27. asp.net 웹 스토어에 Db4o 데이터베이스 사용
- 28. 많은 수의 객체를 검색하는 DB4O 성능
- 29. Linq to Db4o 색인을 사용하지 않음
- 30. db4o : 동일한 클래스, 다른 Java 프로젝트
내가 RSSOwl (sourceforge 제외)이라는 프로그램을 사용하고 있기 때문에 내가 묻는 이유가 있습니다. 프로그램에 대한 데이터베이스는 이제 거의 2GB에 달하며, 포럼에서 프로그램에서 뉴스 항목을 삭제할 수 있다고 말했지만 DB는 결코 작아지지 않을 것이라고합니다. 개체가 데이터베이스에서 삭제되었지만 크기가 줄어들지 않는다면 압축 또는 축소 작업을 수행 할 수있는 방법이 있어야한다고 가정합니다. 그냥 그것을 찾을 수 없습니다 ... – NinjaCat
db4o 조각 모음은 당신이 원하는 것을 할 것입니다. CLASSPATH의 RSSOwl 소스를 사용하여 실행해야합니다. 제품에 Defragment를 포함하도록 RSSOwl 담당자에게 요청할 수 있습니다. 그것들은 정말로 쉽습니다. 코드에 3 줄을 추가하고 앱에 하나 더 많은 메뉴 항목을 추가했습니다. –
와우 ...이 작업을 수행하는 유틸리티가 있습니까? 아니면 작은 응용 프로그램을 작성해야합니까? – NinjaCat