Datenbank lokal oder nicht?
-
Hallo,
ich hätte da mal eine allgemeine Frage von Datenbanken.
Bis jetzt habe ich nur c++ Programme (kleine) geschrieben die auf eine lokale Datenbank (MySQL) über xampp zugreift.Jetzt habe ich mir überlegt ein Prorgamm zur Buchführung von Kleinbetriebe zu schreiben. Da stellt sich mir aber die Frage wie man das mit der Datenbank am günstigsen lösen sollte bzw. auch welche Möglichkeiten es gibt.
So wie ich das verstanden habe, vermeidet man soetwas über php auf einen webspace über ein Datenbank laufen zu lassen.
Das Programm wollte ich in c++ schreiben und da ist es ja nicht so einfach auf eine datenbank zuzugreifen die online ist, ich habe es zumindest nicht gescahfft.Der Benutzer braucht die Datenbank auch nur lokal auf dem Rechner, zumindest bis jetzt... was später ist kann man ja nicht sagen, aber man will auch für die Zukunft denken und auch da flexibel bleiben.
Also, was gibt es da für Möglichkeiten, wie machen das andere Bekannte Buchverwaltungsprogramme?
Gruß
-
a) Du hardcodest die Datenbank-Verbindung nicht in dein Programm sondern connectest einfach zu der Datenbank die in irgendeiner Konfigurationsdatei eingestellt ist => du kannst jederzeit zwischen Datenbanken umstellen (egal dann ob die lokal oder online sind)
b) Es ist genauso schwer/einfach zu einer lokalen oder zu einer Online-Datenbank zu verbinden. Viele MySQL-Datenbanken bei Webhostern sind aber aus Sicherheitsgründen nur aus der lokalen Zone erreichbar.
c) Ich weiß nicht ob du dich bei deinem Kenntnisstand an das doch sehr umfangreiche Unterfangen einer Buchführungssoftware wagen solltest.
MfG SideWinder
-
Wenn man "schwer" als "mühsam" und nicht als "schwierig" versteht, dann ist es viel schwerer in C++ auf eine Datenbank zuzugreifen als in PHP.
Und selbst wenn man es als "schwierig" definiert würde ich sagen ja, es ist schwieriger. Schonmal deswegen weil C++ viel "schwieriger" ist als PHP. Und weil die verfügbaren Datenbank-Libraries auch etwas weniger teletubbig sind.
p.S.: ob das OK ist, wenn es auf einen Webserver läuft, also alles nur über Webinterface, das musst du deinen Kunden fragen. Vielen Kunden wird es wohl nichts ausmachen. Vorausgesetzt dass man sich schön mit Usernamen + Passwort einloggen muss und alles über HTTPS läuft. Webanwendungen haben schliesslich auch viele Vorteile, z.B. dass man nix auf den Clients installieren muss, nix auf den Clients Updaten muss, von nahezu überall einfach zugreifen kann, gleich von Anfang an alles auf Multi-User ausgelegt ist (sein sollte) etc.
-
hab mal mit MySQL++ ganz einfach eine verbindung zu einer MySQL Datenbank im Web aufgebaut. Aber ob das ein Unternehmen/Firma will das die Daten aus dem eigenem Haus gelangen sollen ist sehr fraglich würde deshalb zu einer lokalen Datenbank ala SQLight ratten und eine Syncronisations funktion für diese mit anderen PC anbieten, so dass der User die eigendliche Kontrolle über die Daten behält
-
GAMES1990 schrieb:
Aber ob das ein Unternehmen/Firma will das die Daten aus dem eigenem Haus gelangen sollen ist sehr fraglich würde deshalb zu einer lokalen Datenbank ala SQLight ratten und eine Syncronisations funktion für diese mit anderen PC anbieten, so dass der User die eigendliche Kontrolle über die Daten behält
Das klingt furchtbar. Einen DB-Server kann man auch bequem im eigenen Netzwerk betreiben.
-
mysqllokal schrieb:
Der Benutzer braucht die Datenbank auch nur lokal auf dem Rechner, zumindest bis jetzt... was später ist kann man ja nicht sagen, aber man will auch für die Zukunft denken und auch da flexibel bleiben.
so wie dies sich für mich anhört ist die Zielgruppe, Unternehmen die nicht unbedingt über ein Firmennetzwerk verfügen, zwar ist dies möglich.Da scheint mir der Aufwand einen MySql-Server aufzusatzen und zu warten umständlich und fehleranfällig als eine ohne MySql-Server. Sobald aber die Zielgruppe nicht mehr hauptsächlich auf einer Stand-Alone PC abziehlt spricht nichts gegen einen Server-Client Architektur. Die Frage ist ob man dann einen MySql-Server verwendet oder einen eigenen Server schreibt, der für dieses Aufgaben spezialisiert ist
-
GAMES1990 schrieb:
Die Frage ist ob man dann einen MySql-Server verwendet oder einen eigenen Server schreibt, der für dieses Aufgaben spezialisiert ist
- Es gibt natürlich auch RDBMS außer MySQL.
- Es gibt Hoster, bei denen man recht bequem VServer oder auch nur Datenbanken hosten lassen kann.
- Server selbst schreiben: Wozu? Um dann was halbfunktionierendes zu haben, was weniger performant ist als bestehende Lösungen und weniger sicher?
würde deshalb zu einer lokalen Datenbank ala SQLight ratten und eine Syncronisations funktion für diese mit anderen PC anbieten
Das deutet stark darauf hin, dass ein DB-Server eine gute Idee wäre. Mit anderen Rechnern synchronisieren ist non-trivial.