Przechowywanie danych w aplikacjach desktopowych i grach

0

Od jakiegoś czasu programuję głównie na rzecz internetu a od nie dawna mam zamiar zająć się aplikacjami desktopowimi a być może i grami. Przechowywanie danych w internecie wygląda prosto… mam serwer www a na serwerze zainstalowany serwer bazy danych np. PostgreSQL i w nim przechwouje wszystkie dane.

Zastanawiam się jak ugryźć temat przechowywania danych na komputerze. Nie jednokrotnie instalując aplikację czy grę na swoim komputerze nie zauważyłem żeby instalował się do tego jakiś serwer baz danych typu PostgreSQL. A może dane są przechowywane w prostych bazach danych np. SQLite lub po prostu w plikach? Co w takim razie z danymi, które nie powinny być dostępne dla używkownika? Są one w jakiś sposób szyfrowane, np. algorytmem RSA?

W skrócie pisząc, chciałbym wiedzieć jak bezpiecznie i prawidłowo przechowywać dane takie jak: aktualny stan programu, dane pobrane od użytkownika, ilość pieniędzy lub pasek życia w grze?

2
Kuzry napisał(a):

... jak bezpiecznie i prawidłowo przechowywać dane takie jak: aktualny stan programu, dane pobrane od użytkownika, ilość pieniędzy lub pasek życia w grze?
Takie rzeczy przechowywane są w pamięci komputera. W przypadku zapisywania to się zachowuje przeważnie w pliku binarnym - serializacja. Poza tym nikt cie nie zabroni mieć dane na serwerze zdalnym ba na tym samym serwerze i na tej samej bazie na której działa ten twój PHP.

1

instalując aplikację czy grę na swoim komputerze nie zauważyłem żeby instalował się do tego jakiś serwer baz danych typu PostgreSQL

I słusznie, bo z reguły nie ma takiej potrzeby. Instalowanie dodatkowych śmieci do każdej gierki/drobnej aplikacji to zbędne uprzykrzenie.

A może dane są przechowywane w prostych bazach danych np. SQLite lub po prostu w plikach?

To drugie. Co ciekawsze, są to bardzo często pliki tekstowe, co najwyżej spakowane jakimś zipem, albo własnym algorytmem kompresującym. Grafika i dźwięk również przechowywane są w popularnych formatach.

Co w takim razie z danymi, które nie powinny być dostępne dla używkownika?

Jakie dane i dlaczego nie powinny być dostępne dla użytkownika?

W skrócie pisząc, chciałbym wiedzieć jak bezpiecznie i prawidłowo przechowywać dane takie jak: aktualny stan programu, dane pobrane od użytkownika, ilość pieniędzy lub pasek życia w grze?

Gry "dzieją się" w czasie rzeczywistym, dlatego planowanie dodatkowego narzutu na transakcje bazodanowe jest jednym z najgłupszych pomysłów, o jakim słyszałem w ostatnim czasie. Do przechowywania aktualnego stanu służą zmienne w pamięci. Do zapisywania stanu - odpowiedni format dokumentu, popularnie zwany "sejwem".

Aplikacje użytkowe mogą korzystać z baz danych, ale ma to sens tylko wtedy, gdy tych danych jest DUŻO i potrzebna jest ich "bazodanowa" obróbka (filtrowanie, wyszukiwanie itp.). W innym przypadku jest to jak używanie rakiety międzykontynentalnej do wbijania gwoździa.

1 użytkowników online, w tym zalogowanych: 0, gości: 1