Anzeige:
Ergebnis 1 bis 15 von 17

Thema: Welches Datenbanksystem?

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Registrierter Benutzer
    Registriert seit
    02.01.2007
    Beiträge
    14

    Welches Datenbanksystem?

    Hallo,

    ich bin dabei ein Verwaltungsprogramm in Java zu schreiben und weiss nicht, welches Datenbanksystem ich dafür jetzt eigentlich verwenden soll?!?

    Habe in dem Zusammenhang den Begriff "Eingebettetes Datenbanksystem" gelesen. Wenn dieses das ist, was ich meine, dann wäre sowas nicht schlecht.
    Möchte nämlich auf jeden Fall die Installation auf anderen Rechnern so einfach wie möglich gestalten. Die Datenbank sollte allerdings auch über Netzwerk von anderen Rechnern verfügbar sein.

    Was würde sich da anbieten?
    MySQL kenne ich bisher nur im Zusammenhang mit dem Xampp-Paket. Wie sieht da die Installation bzw. das Aufsetzen der Datenbank aus, wenn man das alleine betreiben möchte?

    Weiss nicht, ob ich mich jetzt klar ausgedrückt habe, was ich eigentlich suche und wo meine Probleme liegen, deswegen wäre ich über Fragen Eurerseits dankbar.

    Doofe Frage: Gibt es übrigens Datenbanklösungen, wo das alles lokal in einer Datei oder so ablaufen kann?

    Vielen Dank schon mal im Voraus.

  2. #2
    Registrierter Benutzer Avatar von Molaf
    Registriert seit
    15.11.2004
    Beiträge
    127
    SQLite ist so ein System, wo alles in lokalen Dateien landet.

    Perl hat zudem noch einen Datenbanktreiber, der ebenfalls eine Datenbank emuliert und alles lokal in Flatfiles speichert - das sollte es für Java auch geben.

    Beides ist aber nicht übers Netzwerk ansprechbar, da ja keine echte DB-Engine auf Anfragen lauscht, sondern die Anwendungen nur über einen Zwischenschicht Daten speichert. Den Netzwerkkrams müsstest Du dann selber bereitstellen.

    Das war erstmal alles was ich dazu weiß.
    Gruß

  3. #3
    Registrierter Benutzer Avatar von Waxolunist
    Registriert seit
    19.06.2006
    Ort
    Wien
    Beiträge
    485
    HSQL ist für diese Sachen prädestiniert.
    http://www.hsqldb.org/

    mfg, christian
    Spezialitäten heute: PLSQL, TSQL, Java (alles mit Webanwendungen), Groovy, Grails, ASP.NET, Javascript, Python, Django
    Straight through, ohne Umwege ans Ziel

  4. #4
    Registrierter Benutzer
    Registriert seit
    02.01.2007
    Beiträge
    14
    @Waxolunist: Danke für den Tipp mit HSQLDB.

    "fast database engine which offers both in-memory and disk-based tables and supports embedded and server modes."

    Das hört sich gut an

    @Molaf
    Wenn man das lokal mit Flat Files betreibt, dann könnte man diese ja einfach im Netzwerk freigeben und die Programme dann auf den anderen Rechnern darauf verweisen oder geht das so sind?

  5. #5
    Registrierter Benutzer
    Registriert seit
    07.05.2003
    Beiträge
    127
    Zitat Zitat von p3lotud0 Beitrag anzeigen
    Wenn man das lokal mit Flat Files betreibt, dann könnte man diese ja einfach im Netzwerk freigeben und die Programme dann auf den anderen Rechnern darauf verweisen oder geht das so sind?
    Das geht eher nicht. Access (MS seine Desktop-Datenbank) macht so etwas und erfahrungsgemäß läuft das suboptimal. Das Problem ist das locking. Wer soll denn verhindern, dass zwei clients gleichzeitig die selben Daten verändern? Das können zwar sicherlich die Clients untereinander aushandeln, zum Beispiel über das Dateisystem, aber auf so etwas würde ich mich nicht freiwillig einlassen.

    mamue

  6. #6
    Registrierter Benutzer
    Registriert seit
    02.01.2007
    Beiträge
    14
    Also bei mehreren Clients auf jeden Fall mit Hilfe eines Datenbankserversystems arbeiten? "Embedded Modes" werden dann automatisch ausgeschlossen?

  7. #7
    Ratman
    Gast
    Vielleicht hilft Dir das hier: http://www.codebase.com/products/Java/

  8. #8
    Registrierter Benutzer Avatar von Waxolunist
    Registriert seit
    19.06.2006
    Ort
    Wien
    Beiträge
    485
    Also suchst du eine ganz normale DB, die du mit JDBC anbindest und kein Embedded DBMS.

    Da kannst du jede DB nehmen.

    Je nach Geld und Gebrauch.

    mfg, christian
    Spezialitäten heute: PLSQL, TSQL, Java (alles mit Webanwendungen), Groovy, Grails, ASP.NET, Javascript, Python, Django
    Straight through, ohne Umwege ans Ziel

  9. #9
    Registrierter Benutzer
    Registriert seit
    02.01.2007
    Beiträge
    14
    Ja das stimmt natürlich.
    Wichtig war mir aber: Wenn das Programm später wer-weiss-wo als Server-Version von jemand Unversiertem installiert werden soll, dass dieser dann sich nicht mit einem zuvor "umständlichen" Aufsetzen eines Datenbanksystems rumärgern soll.
    Also eine vereinfachte Inbetriebnahme von jemand, der sich da nicht wirklich auskennt.
    Inwieweit man jetzt z.B. die Installation eines MySQL-DB-Servers im Zusammenhang mit dem Anlegen der erforderlichen Datenbank automatisieren kann, weiss ich leider nicht.
    Bis jetzt habe ich Installationen immer nur selber ausgeführt, aber nie selber erstellt. Ggf. müsste z.B. auch die JAVA VM auf dem entsprechenden Rechner installiert werden, da ich ja das Programm in JAVA schreibe.

    Sonst würde ich natürlich ohne weiteres gerne auf MySQL zurückgreifen...

  10. #10
    Registrierter Benutzer
    Registriert seit
    07.05.2003
    Beiträge
    127
    Zitat Zitat von p3lotud0 Beitrag anzeigen
    Bis jetzt habe ich Installationen immer nur selber ausgeführt, aber nie selber erstellt. Ggf. müsste z.B. auch die JAVA VM auf dem entsprechenden Rechner installiert werden, da ich ja das Programm in JAVA schreibe.
    Nach meiner Erfahrung kann man die JVM auch mitliefern. Im primitivsten Fall kann man dann das gesamte Verzeichnis von einer CD-ROM irgendwo auf die festplatte kopieren. Dann ist natürlich ein Startscript (shell oder batch) nötig, dass den Interpreter lädt - das JAR-File per Doppelklick starten geht dann halt nicht mehr.
    Du brauchst aber auch nicht zwingend zu MySQL zu greifen, wenn Du einen Server in Java erstellst, auf den die Clients zugreifen (RMI, Servlets etc), denn dann greift nur Dein Serverprozess auf die embedded Datenbank zu.

    mamue

  11. #11
    Registrierter Benutzer
    Registriert seit
    10.03.2001
    Ort
    Delmenhorst
    Beiträge
    118
    In Java 6 gibt es bereits eine embeddable Datenbank anbei: JavaDB. Im Prinzip eine Cloudscape von IBM, oder auch wie sie neuerdings heisst Apache Derby.

    Gruss,
    comrad
    Holarse.de - Spielen unter Linux

  12. #12
    Registrierter Benutzer
    Registriert seit
    15.10.2005
    Ort
    Franken
    Beiträge
    362
    Das sollte sowieso kein Problem darstellen. Stichwort SQL99.

    Derby ist was die Technik angeht recht gut, aber noch langsamer als PostGres.Für Embedded-Anwendungen unter Java auf jeden Fall zu empfehlen.
    Dank der Rekursion kann ich IF-Schleifen bauen.

    In neuem Glanz: www.turbohummel.de

  13. #13
    Registrierter Benutzer
    Registriert seit
    02.01.2007
    Beiträge
    14
    Hi,

    danke für die Tipps, aber habe mich jetzt für die H2 entschieden!!
    Die erfüllt so ziemlich genau das, was ich mir so vorstelle.

    http://www.h2database.com/html/frame.html
    Geändert von p3lotud0 (01-02-2007 um 15:41 Uhr)

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •