Noiredd / Filmatyk

Zaimportuj swoje oceny z Filmweb.pl i przeglądaj je na swoim komputerze!
MIT License
3 stars 0 forks source link

Lepsze przechowywanie danych użytkownika #11

Open Noiredd opened 5 years ago

Noiredd commented 5 years ago

Plik tekstowy z surowymi danymi w JSONie sprawdza się dla niewielkich baz, ale jeśli do tego miałyby dojść dodatkowe listy ("chcę zobaczyć", znajomi (#9)) to może się on okazać niewydajny. Zwłaszcza w kontekście wielokrotnego zapisu, który obecnie przebiega w całości od nowa.

Można rozważyć zaprzęgnięcie do tego jakiegoś SQLa czy czegoś podobnego, obawiam się jednak dokładania gigantycznego kombajnu do zasadniczo prostej rzeczy.
Przydałaby się opinia.

Noiredd commented 5 years ago

Był przez chwilę pomysł na kompresję np. zlib:

import codecs
with open('file.bin','w') as file:
  s = self.databases[0].storeToString()
  b = s.encode('utf-8')
  z = codecs.encode(b, 'zlib')
  file.write(b)

Taki pliczek nie powinien mieć więcej niż 1 MB nawet dla dużych baz.

Noiredd commented 4 years ago

Innym pomysłem jest rozbicie bazy danych na:

Ten sposób uprościłby znacznie tematy pobierania i przechowywania różnych list (ocenione vs chcę zobaczyć).