Jaki jest najlepszy sposób na wykorzystanie wbudowanej bazy danych, powiedz SQLite w Pythonie:python programowanie baz danych/sql - gdzie zacząć
- powinien być mały ślad. Potrzebuję tylko kilku tysięcy rekordów na stół. I tylko garść tabel na bazę danych.
- Jeśli jest to dostarczona przez domyślną instalację Pythona, to świetnie. Musi być open-source, dostępny w systemach Windows i Linus.
- Lepiej, jeśli SQL nie jest zapisany bezpośrednio, ale ORM nie jest w pełni potrzebny. Coś, co ochroni mnie przed rzeczywistą bazą danych, ale nie tak wielką z biblioteki. Coś podobnego do ADO będzie świetne.
- Zwykle będzie używany przez kod, ale jeśli istnieje interfejs użytkownika GUI, to jest wspaniałe
- Potrzebujesz kilku stron, aby zacząć. Nie chcę przeglądać stron czytających tabelę i jak działa instrukcja Select. Wiem o tym wszystkim.
- Wsparcie dla Pythona 3 jest preferowane, ale 2.x też jest w porządku.
Użycie nie jest aplikacją internetową. Jest to mała baza danych mieszcząca maksymalnie 5 tabel. Dane w każdej tabeli to tylko kilka kolumn ciągu. Pomyśl o coś większego niż marynowany słownik
Aktualizacja: Wielkie dzięki za świetne sugestie.
Przypadek użycia, o którym mówię, jest dość prosty. Zrobiłbyś to prawdopodobnie za dzień lub dwa.
Jest to 100-wierszowy skrypt w języku Python, który gromadzi dane o stosunkowo dużej liczbie plików (powiedzmy 10k) i tworzy pliki metadanych na ich temat, a następnie jeden duży plik metadanych o całym drzewie plików. Muszę tylko uniknąć ponownego przetwarzania już przetworzonych plików i utworzyć metadane zaktualizowanych plików oraz zaktualizować główny plik metadanych. W pewnym sensie buforuj przetwarzane dane i aktualizuj je tylko w aktualizacjach plików. Jeśli pamięć podręczna jest uszkodzona/niedostępna, po prostu przetwórz całe drzewo. Może to potrwać 20 minut, ale jest w porządku.
Należy pamiętać, że przetwarzanie odbywa się w pamięci.
Chciałbym uniknąć wszelkich zewnętrznych zależności, aby skrypt mógł być łatwo umieszczony w dowolnym systemie z zainstalowaną tylko instalacją Pythona. Będąc systemem Windows, czasami trudno jest zainstalować wszystkie składniki. Tak, Moim zdaniem, nawet baza danych może być przesadą.
Prawdopodobnie nie uruchomisz Office Word/Writer, aby napisać mały wpis, ale nie chcę używać czegoś takiego jak Django do tego przypadku.
Od czego zacząć?
Czy to aplikacja internetowa lub desktopowa? –
nie aplikacja internetowa. Zaledwie aplikacja komputerowa. W tym konkretnym przypadku muszę przechowywać pewne metadane dotyczące wielu plików i niektórych ich zawartości. CRUD i UI tak naprawdę nie są potrzebne, z wyjątkiem debugowania. – Ayman
Nie rozumiem tego "lekkiego" wymogu i tego, w jaki sposób ORM się nie mieści. Przez "waga ciężka" masz na myśli: 1. zbyt skomplikowane, aby wymyślić 2. wymagania dotyczące pamięci/dysku? 3. za dużo funkcji? –