Krótkie pytanie: Czy dostępna jest baza danych płaskich plików nosql jako sqlite?Czy istnieje baza danych płaskich plików nosql tak samo jak sqlite?
Objaśnienie: Baza danych plików płaskich może być otwierana w różnych procesach do odczytu i przechowywać jeden proces do zapisu. Myślę, że jest to idealne rozwiązanie do czytania w pamięci podręcznej, jeśli nie ma ścisłej, spójnej potrzeby. Powiedz 1-2 s do zapisu do pliku, a nawet do bloku pamięci, a czytelnicy otrzymują później zaktualizowane dane.
Tak więc prawie zdecydować się na użycie sqlite, jak mój pamięć podręczna Pythona odczytuje serwer. Ale wciąż jest jeden problem. Nie lubię przepisywania sqls ponownie w innym miejscu i skonstruować kolejną kopię moich tabel danych w sqlite tak samo jak w PostgreSql, który używany jako back-end bazy danych.
więc czy istnieje jeszcze inny wybór? Dzięki!
Zdecydowanie polecam z półką. Używam load/dump z pikla w osobnych plikach dla szybkiego dostępu, ale półka jest realną opcją. – vonPetrushev
.... Po prostu to zapomniałem! Dziękuję bardzo za przypomnienie mi tego wspaniałego rozwiązania dostarczanego z pythonem! – davyzhang
Należy zauważyć, że dla współbieżnych odczytów/zapisów 'shelve' nie jest realną alternatywą dla sqlite. Z dokumentacji Pythona: "Moduł półki nie obsługuje równoczesnego odczytu/zapisu dla obiektów półkowych. (Wielokrotne jednoczesne dostępy do odczytu są bezpieczne.) Gdy program ma półkę otwartą do pisania, żaden inny program nie powinien mieć otwartego do czytania lub W celu rozwiązania tego problemu można użyć blokowania plików Unix, ale różni się on w wersjach Unix i wymaga wiedzy na temat implementacji bazy danych. " Z drugiej strony, sqlite jest zgodny z ACID na wszystkich obsługiwanych systemach i wykonuje dla ciebie blokowanie. – chadrik