SQL-Datenbank auf einem Pc bzw. Server hosten?

4 Antworten

Du kannst dir einigen Aufwand sparen, wenn du dir ein Webhosting-Paket (mit Datenbank) holst, da dann ein erfahrener Serverprovider die Serverwartung und notwendige Sicherheitsmaßnahmen für dich regelt. Anbieter wie lima-city oder 000webhost sind da sogar komplett kostenlose Optionen.

Dazu würde ich empfehlen, eine simple API zu bauen, die mit auf dem Webspace liegt und die Kommunikation mit der Datenbank übernimmt. So muss deine anfragende Java-Anwendung die Verbindungsdaten zur Datenbank nicht kennen, stattdessen kommuniziert sie via Requests / URL mit der Web-API. Auf diesem Wege wird die Kommunikation auch nicht blockiert (ein Serverprovider lässt aus Sicherheitsgründen üblicherweise keine externe Anwendung mit der Datenbank kommunizieren).

Eine API zu entwickeln, ist nicht schwer. Von deiner Java-Anwendung aus kannst du mit der HttpClient API arbeiten, um Anfragen an deine Web-API zu schicken. Das könnte beispielhaft so eine (URL-)Anfrage sein:

https://yourdomain.com/api.php?receive=user&name=Sylvester+Stallone

Da die meisten Webhoster PHP-Support liefern, führe ich ein andeutendes Beispiel mit PHP an (api.php).

<?php
  header("Content-Type: text/plain; charset=UTF-8");
  
  if (isset($_GET["receive")) {
    switch ($_GET["receive"]) {
      case "user":
        if (!isset($_GET["name"])) {
          exit;
        }

        $name = $_GET["name"];
        // validate name ...
        // send SQL query to database ...

        print "Some result ...";
        break;
      case "..."
        // ...
        break;
      /* etc. ... */
    }
  }

Es wird geprüft, ob der receive-Parameter existiert und wenn ja, ob er einem bekannten Wert (wie user) entspricht. In dem Fall wird geschaut, ob weiter erforderliche Parameter (hier ein Name) existieren, danach kann die Datenbank befragt werden. Die erfragten Daten lassen sich mit print ausgeben, sie stehen dann im Response Body.

Bezüglich Datenbankkommunikation und Datenvaliation lies hier.

Geht es dir um

  • "Ist das möglich?"
  • "Wie geht das?" (In dem Fall: Welches Betriebssystem und um welche SQL-Implementierung solls gehen?)
  • Oder etwas anderes?

jakobheb 
Fragesteller
 08.06.2021, 19:30

Ich habe ein Programm in Java entwickelt bei dem ich eine Datenbank mit eingebaut habe. Diese Datenbank ist ja aber nur lokal gespeichert und funktioniert natürlich nicht, wenn ich von einem anderen Pc das Programm starten möchte. Nun habe ich mir gedacht, dass es recht sinnvoll wäre die Datenbank auf dem alten Pc von meiner Schwester laufen zu lassen, doch ich weiß nicht wie.

Lg

0
Zahhak  08.06.2021, 19:31
@jakobheb

Also geht es um "Wie geht das?".

Gut, jetzt wären nur noch die zwei erwähnten Fragen zu diesem Punkt zu klären.

0

Ich weiß nicht genau was die Frage ist ich denke du Fragst ob das Möglich ist und ja das ist es.

Ja, geht.

Woher ich das weiß:Berufserfahrung

jakobheb 
Fragesteller
 08.06.2021, 19:24

ich habe jetzt den pc von meiner Schwester repariert und möchte diesen gerne zum Server machen. Wie muss ich vorgehen?

0
VanLorry  08.06.2021, 19:31
@jakobheb

Was für ein Server, für welchen Einsatzzweck? Wie und von wo willst du darauf Zugreifen?

SQL Datenbank? Welches Datenvolumen? Wieviele gleichzeigige Verbindungen?

MS SQL Server ist, afaik, in der Express Version kostenlos.

MySQL ist auch kostenlos.

0
jakobheb 
Fragesteller
 08.06.2021, 19:33
@VanLorry

Ungefähr 15 Personen würden gleichzeitig darauf zugreifen. 30 km entfernt

0
VanLorry  08.06.2021, 19:37
@jakobheb

D.h. der Server soll auch über das Internet freigegeben werden?

Dann wird das langsam komplex - du wirst dich dann auch mit deinem Router, Firewalleinstellungen usw. auseinandersetzen müssen. DynDNS ist evtl. auch ein Thema - denn sonst finden die 15 deinen Server nicht, ohne vorher bei dir Anzurufen, um die IP Adresse zu erfragen.

Prüfe mal, ob nicht ein Webhosting Angebot besser für dich wäre. Dort gibt es auch immer Pakete, wo du MySQL Datenbankinstanzen mit buchen kannst. Da musst du selber nichts installieren oder groß konfigurieren und Sicherheit und Zugriffsmöglichkeiten aus dem Internet sind gleich mit drin.

1
DeneX2  15.07.2021, 07:02
@jakobheb

Installier dir FreeBSD auf'n Rechner kannst sogar per Virtual Box auf Windows direkt.

0