Wpis z mikrobloga

#programowanie mam appkę w #cpp #qt która już sobie ładnie hula ale musi gdzieś zapisywać dużo danych i to tak żeby było bezpiecznie. Pierwsza myśl: #mariadb bo jestem łucznikiem więc znam i cenię. I teraz tak... nie za bardzo chcę żeby ktoś musiał instalować sobie serwer #sql na domowym komputerze tylko po to żeby moja appka działała, a nie wiem jak inaczej to rozwiązać... jak to robią wszystkie fachowe appki na świecie? :P
  • 12
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@smsrampage: Instalują serwer SQL na komputerze (jeśli aplikacja jest poważna i chce dbać o dane klienta), albo sqlite (nie ma nic złego w tym rozwiązaniu, tylko nie jest to prawdziwa baza danych), albo też pisanie własnej "bazy danych" (wyspecjalizowanej, ale trzeba na to poświęcić trochę)
  • Odpowiedz
@kradzionyLogin: no nie mogę bo to wprowadzane z relacjami są i nie ma ich stałej ilości, rosną jak każda baza danych... dane ludzi, zestawy obiektów, same obiekty dodawane i przerzucane z aktywnych do zarchiwizowanych, narasta to i w ogóle masakra... @psychob: ale może to być tak żeby mój program sam z siebie zainstalował taki serwer i go sobie ustawił? Chodzi o to, że nie chcę żeby ktoś musiał
  • Odpowiedz
@smsrampage: Jeśli baza danych nie ma możliwości zainstalowania "cichego" (czyli odpalenie instalacji z odpowiednimi parametrami, na przykład instalka DirectX i Visualowych redistributale mają chyba przełącznik /silent), to trzeba będzie samemu coś takiego zrobić.

No i pytanie jest takie, na ile potrzebujesz bazy danych (takiej prawdziwej), czy wystarczy Ci sqlite, czy może zwykły dump do plików tekstowych.
  • Odpowiedz
@smsrampage: Pliki tekstowe można szyfrować ( ͡º ͜ʖ͡º).

Pytanie jest takie, na ile potrzebujesz bazy danych, a na ile potrzebujesz głupiego przechowywania danych w plikach? Jak odpowiesz sobie na to pytanie, to będziesz wiedział co wybrać.

A DirectX to był tylko przykład, jak to microsoft robi, bo jak instaluje się gry, to można nawet nie zauważyć że instalator wywołał instalkę jakiejś swojej zależności.
  • Odpowiedz
@smsrampage: Możesz się też zainteresować, jak to robi Akonadi (takie narzędzie KDE). Ostatnio był z tym problem z Archu właśnie w związku z przejściem na Marię.

Ogółem, Akonadi stawia sobie instancję mysqla. Niestety jednak zależy on od mariadb:

$ pacman -Si akonadi | grep
  • Odpowiedz
@i386:

Tak więc, jeżeli nie chcesz tworzyć dodatkowych zależności, zostaje Ci sqlite (ale i tak wtedy potrzebujesz bibliotek do sqlite


Qt ma zlinkowaną statycznie libkę sqlite'a, tak że nie ma dodatkowych zależności.
  • Odpowiedz