2010-11-30 12 views
9

Używam sqlite jako tymczasowego magazynu do obliczania statystyk dotyczących umiarkowanie dużego zestawu danych. Zastanawiam się, co się stanie, jeśli moja baza danych przekroczy 2 GB w systemie 32-bitowym. (Nie mogę obecnie zmienić systemu na 64-bitowy)Ograniczenie rozmiaru pliku dla SQLite w systemie 32-bitowym

Czy używają plików mapowanych w pamięci i łamią, jeśli rozmiar pliku przekracza pamięć adresowalną? (jak mongodb)

+0

możliwy duplikat [czy istnieje ograniczenie rozmiaru bazy danych sqlite?] (Http: // stackoverflow .com/questions/2777954/is-there-a-limit-to-size-of-a-sqlite-database) – nawfal

Odpowiedz

9

Według dokumentacji sqlite, maksymalny rozmiar pliku bazy danych wynosi ~ 140 terabajtów i jest praktycznie ograniczony przez system os/files.

można przeczytać tutaj (uwaga strony występującej rozdział): http://www.sqlite.org/fileformat2.html

+0

dziękuję. Pominąłem tę stronę w wynikach wyszukiwania Google, ponieważ nie spodziewałem się znaleźć takich informacji na stronie fileformat. –

+2

Zaintrygowałeś mnie tym pytaniem (nigdy nie miałem do czynienia z tak ogromnymi bazami danych sqlite) :) Eksperymentowałem z 5,5 GB testowej bazy danych i nie znalazł żadnych problemów na 32-bitowym linuksie z systemem plików xfs. –

0

Sprawdzaj swój typ systemu plików partycji. Pamiętaj, że ograniczenie rozmiaru pliku nie jest zależne od 32-bitowego lub 64-bitowego systemu operacyjnego, ale z typem partycji dysku twardego.

See Wikipedia

0

Choć jest to stare pytanie, ale pozwól mi podzielić moje odkrycia dla ludzi, którzy docierają na to pytanie.

Chociaż dokumentacja Sqlite stwierdza, że ​​maksymalny rozmiar pliku bazy danych wynosi ~ 140 terabajtów, ale system operacyjny narzuca własne ograniczenia maksymalnego rozmiaru pliku dla dowolnego typu pliku.

Dla np. jeśli używasz dysku FAT32 w systemie Windows, maksymalny rozmiar pliku, który mogłem uzyskać dla sqLite, to 2 GB. (Zgodnie z witryny firmy Microsoft, limitu systemie FAT 32 jest 4GB ale nadal mój rozmiar sqlite db została ograniczona do 2GB). Podczas pracy na Linuxie udało mi się osiągnąć 3 GB (gdzie zatrzymałem się, mógł osiągnąć większy rozmiar)

Powiązane problemy