Datenbank



  • Hallo,

    Wir planen gerade eine eigene Datenbank. Die zu Grunde liegende Geschichte ist, daß wir derzeit unsere Daten in einer Access DB speichern (über ein Interface unseres Software - Lieferanten) und damit bei größeren Datenbanken nur Ärger haben ( Abstürze und und .... ab ca. 300.000 Datensätzen ). In der DB werden Patientendaten gespeichert. Bilddaten werden per Speicherung des Speicherpfades in der DB referenziert.

    Problem ist, dass wie immer kein Geld da ist 🙂 ( mysql ist schon fast die Obergrenze ) und auch keine Erfahrung. Was ist in diesem Segment sinnvoll? Stabilität ist das ausschlaggebende Kriterium. Zu mysql habe ich schon zu viele Wiedersprüchliche Aussagen gehört und Freeware ist Fragwürdig wegen langfristiger Wartung und Pflege.

    Vielen Dank



  • In einer der letzten c't war ein großen Vergleichstest von kostenlosen DBs. So wie ich es noch in erinnerung habe, nehmen sich diese kostenlose DBs nicht sehr viele. Wobei natürlich jede ihre Vor- und Nachteile hat. Bei MySQL ist es ganz einfach die große Community, aber mySQL fehlen die Hardcore-Funktionen.

    Weiterhin sollte man doch beachten, das es nicht nur mySQL als kostenlose DB gibt. Von SAP (ja!) gibt es auch eine und die scheint laut Test sehr mächtige Funktionen zu haben, da sie mal kommerziell war und jetzt halt von SAP frei gegeben wurde. Es waren auch noch andere DBs dabei, deren Namen mir jedoch nicht geläufig sind.

    Ich rate dir einfach mal die entsprechende Ausgabe zu nach zu bestellen (hab sie zu Hause liegen, also nicht griffbereit) oder in einer Bibliothek deiner Stadt die Seiten raus zu kopieren.

    Warum die DB jedoch nicht kostenlos sein darf, versteh ich nicht ganz, da ihr doch keine Kohle habt? :p Eine Oracle-DB kostet glaub ich ca. 80.000 EUR oder so (hab keine aktuellen Daten da). Und Access als echte DB zu bezeichnen ist irgendwie nicht angebracht. Es ist wirklich nur was für das Büro, mehr nicht. Übrigens hat Access ne 4 GB-Beschränkung.

    [ Dieser Beitrag wurde am 08.04.2003 um 13:32 Uhr von Artchi editiert. ]



  • Warum die DB jedoch nicht kostenlos sein darf, versteh ich nicht ganz, da ihr doch keine Kohle habt

    Da sind wir im Bereich "Verkaufspolitik" angelangt. Viele Kunden wollen (auch wenn sie meist keine Ahnung haben und es Ihnen eigentlich auch egal sein könnte) irgend einen "bekannten" Namen hören.
    Freeware ist genau dann kritisch, wenn man auf irgendwelche "echten" Probleme stößt, da man ja keinen Anspruch auf irgendwelchen Support hat oder irre ich da?

    Und Access als echte DB zu bezeichnen ist irgendwie nicht angebracht. Es ist wirklich nur was für das Büro, mehr nicht. Übrigens hat Access ne 4 GB-Beschränkung.

    Access als echte DB - wäre mir auch nicht eingefallen - war halt dabei, und so haben wirs genutzt - ging ja auch die letzten Jahre....
    Mit den 4GB hätten wir nicht mal ein Problem, da die Bilddaten ja getrennt gespeichert werden -> s.o.

    Derzeit geht die Entscheidung zu Gunsten von mysql -> noch kann ich also "bekehrt" werden 🙂 - werde wohl trotzdem noch mal CT lesen.



  • OK, wenn der Kunde bezahlt kann es euch egal sein. Bei uns im Projekt nutzen wir auf nem Host ne IBM-DB2 Datenbank, und weißt du was die nicht mal korrekt speichern kann? Sonderzeichen für Sprachen wie polnisch u.ä. Jetzt dürfen wir in den Textfeldern alles mit \uXXXXX für den Unicode ablegen und entsprechend beim lesen umwandeln damit unsere weltweiten Konzernanwender ihre Texte korrekt lesen und speichern können.

    Das sind wirklich Probleme mit denen man nicht rechnet, und da hilft es auch nicht das IBM dahinter steckt. 😉 OK, wenn die Codepage unicodefähig wäre, wären auch die Textfelder Unicode und somit jeder Zeichen 16 bit groß, anstatt der 8 bit. Nachteil ist aber, wenn ein Chinese daher kommt und seine gesamten Texte im Unicode speichern muß, aber jedes Zeichen mehrere Bytes benötigt, weil wir letztlich doch alles im \uXXXXX-Format ablegen müssen, und somit mehr Speicher verballert wird als wenn alles wirklich Unicode wäre. Also muß man sich selber drum kümmern. Alles hat irgendwie nen Nachteil.

    Wenn ich den c't-Artikel noch richtig in erinnerung habe, hat SAP für ihre DB auch noch telefonischen Support, der sogar gut funktioniert hat. Das Problem ist, das ich den Artikel nicht vor mir liegen habe. Deshalb rate ich dir da mal selber nen Blick rein zu werfen.

    Achja, es gibt ja auch noch AdabasDB von Sun im StarOffice. Kommerziell und kostet gerade mal ein Taschengeld. Aber ich weiß nicht ob die besser als Access ist. 😉

    [ Dieser Beitrag wurde am 08.04.2003 um 15:40 Uhr von Artchi editiert. ]

    [ Dieser Beitrag wurde am 08.04.2003 um 15:43 Uhr von Artchi editiert. ]



  • Hallo !

    Vielleicht ist ja die MSDE was für Dich. Die MSDE basiert auf der gleichen
    Engine wie der SQL Server 2000. Hat allerdings eine Beschränkung von
    2GB pro Instanz und nur 5 gleichzeitige Verbindungen.

    Kannst ja mal unter
    [url]http://www.microsoft.com/sql/techinfo/development/2000/MSDE2000.asp [/url]
    nachgucken.



  • Ich würde den MS SQL Server empfehlen, da er leicht zu administrieren ist(im Vergleich zu Oracle).

    Außerdem ist er mit ca. 1500 € pro Server-Lizenz nicht sehr teuer.



  • Cache 5.0 von Intersystems!! www.intersystems.com
    Ist objektorientiert kann aber trotzdem über ODBC,JDBC mit SQL gefüttert werden.
    Verfügt über ein SQL-Gateway womit die Daten aus bestehenden relationalen Datenbanken genutzt werden können. Und,was den Namen angeht, Cache ist die führende DB im Medizinbereich.(natürlich nicht umsonst 😞 )

    MfG Spacelord 🙂



  • Viele Kunden wollen (auch wenn sie meist keine Ahnung haben und es Ihnen eigentlich auch egal sein könnte) irgend einen "bekannten" Namen hören.

    Wenn da nicht SAP DB punkten kann ("ja, von SAP!" :D)

    da man ja keinen Anspruch auf irgendwelchen Support hat oder irre ich da?

    Anspruch hat man doch auch nicht unbedingt bei kommerziellen Produkten aber zu den meisten freien Datenbanken gibt es Support Verträge (die kosten dann aber was)

    (BTW: ist PostgreSQL auch noch eine freie DB, die zwar nicht ganz so viel kann wie SAP DB aber ISO SQL schon besser unterstützt als MySQL)



  • Hier ein Ausschnitt aus der c't 5/2003, S. 142: Open-Source-Datenbanken:
    http://www.heise.de/ct/03/05/142/default.shtml

    Hier kurz was aus dem Fazit:

    "Letztendlich sind alle hier betrachteten Datenbanken für den täglichen Einsatz geeignet und alles andere als nur Spielzeuge spinnerter Open-Source-Verfechter. MySQL hinkt weiterhin hinter seinen Mitbewerbern her, sobald etwas anspruchsvollere Dinge ins Spiel kommen, etwa Trigger, Subselects etc. ..."

    "... Für Anwendungen, die einer Desktop-Datenbank entwachsen sind, eignen sich PostgresSQL, Firebird und SAP DB gleich gut."

    Da ihr denke ich mal keine Cluster u.ä. braucht (vermute ich mal, wenn ihr eigentlich mit Access ausgekommen seid) brauch ihr auch kein Oracle oder DB2. Weil das können die OpenSource-DBs natürlich nicht.

    Hier noch die wichtigsten URLs: www.mysql.de www.postgresql.org www.firebirdsql.org www.sapdb.org

    [ Dieser Beitrag wurde am 08.04.2003 um 21:26 Uhr von Artchi editiert. ]



  • ich würde SAP DB vorschlagen hab bis jetzt gute erfahrungen gemacht! relativ schnell sehr stabiel und kostenlos aber achtung der support kostet. die engine basiert auf Oracle und is von SAP en bissle umgestrickt worden.



  • Laut c't basiert die SAP DB auf AdabasD, da es Ex-Software AG Mitarbeiter sind, die vor ein paar Jahren das Projekt begonnen haben. Weiterhin handelt es sich nicht um die "alte" SAP DB (DDB/4) von 1992, sondern wurde 1997 begonnen und 2000 unter GPL gestellt.



  • Danke euch allen,

    SapDb liest sich auch erstmal ziemlich gut, zumal die angebotenen Schnittstellen recht umfangreich scheinen. Spricht eigentlich irgendwas dagegen erstmal eine ODBC Schnittstelle zu verwenden, und dann einfach mal alle DBs (so sie einen ODBC Treiber haben) auf Ihre Eignung durchzutesten?

    Wie realisiert Ihr DB Zugrife? Mittels ODBC oder über sonstige SDK - Interfaces?



  • ODBC an sich ist nicht falsch. 😉 Wir benutzen für DB2-Zugriffe JDBC (das ODBC für Java) und einem Gateway das vor der Datenbank hängt, weil DB2 sonst einen zus. Client unter Windows verlangt (zu viel Installieraufwand, also klemmen wir nen Dual-P3-Gateway vor den DB2-Host). Rein von der Performance klappt das alles noch recht gut.

    Aber bedenke, das ODBC nicht heißt das alle Datenbanken das gleiche Verhalten ausweisen. Die haben alle so ihre Eigenheiten. Aber zum Testen und Research auf jeden Fall i.O. alle durch zu probieren und sich dann für ein zu entscheiden.

    Ansonst halt nen Wrapper coden damit man später evtl. auf eine spezielle DB-API umsteigen kann. Kommt darauf an wieviel User so auf der DB aktiv sind.



  • Spricht eigentlich irgendwas dagegen erstmal eine ODBC Schnittstelle zu verwenden

    ja, die ODBC Schnitstelle 😉 Naja, aber wenn man sich dadurch quält, dann ist das natürlich eine Möglichkeit (warum macht eigentlich niemand mal ein ODBC 2, mit einem vernünftigen Interface (und bitte nicht wieder MS, die uns schon das aktuelle Interface eingebrockt haben 😡 ))

    Wie realisiert Ihr DB Zugrife? Mittels ODBC oder über sonstige SDK - Interfaces?

    Ich hab mal einen Wrapper für Datenbank Zugriffe geschrieben, der ODBC genutzt hat und MySQL und PostgreSQL aber auch direkt über die eigenen APIs angesprochen hat (ist aber nie ganz fertig geworden, da das Projekt für dass der Wrapper geschrieben wurde nicht vorran kam)

    @Artchi

    brauch ihr auch kein Oracle oder DB2. Weil das können die OpenSource-DBs natürlich nicht.

    Ich dachte SAP DB wär in dem Bereich gut



  • Nimm PostgreSQL oder MYSQL.
    IMHO sind dies bekannte DB und eigentlich auch nicht kostenlos.
    SUBSELECTS kommen in die MYSQL-DB rein. Fraglich warum man die brauchen sollte!

    Mysql unterstützt auch Transaction



  • Ich hab gestern abend SAP DB auf mein Win2000pro installiert, war ganz easy. Erste Datenbank angelegt, Selects, Creates usw. per WebTools von SAP durchgeführt. Kann man nicht meckern. Auch ODBC usw. gleich alles im System eingetragen.



  • SUBSELECTS kommen in die MYSQL-DB rein. Fraglich warum man die brauchen sollte!

    Jo und falls ich mich nicht irre, gibt es laut Standard gar keine Subselects,
    oder liege ich da falsch? Wenn nich, verstehe ich nicht, dass solche Dinge, die
    nicht im Standard sind immer als contra-Argument genommen werden.

    Sollte ich falsch liegen, beuge ich mich der Wahrheit, aber ich meine Subselects
    gehoeren nicht zum SQL Standard.

    mfg
    v R



  • Danke euch allen,

    Dann werde ich wohl erstmal ein bisschen mit ODBC rumspielen und die finale Entscheidung noch ein bisschen vertagen - Bis ODBC für mich ein bisschen mehr als nur ein Wort ist 🙂 .



  • Relationale DB und OOP passt einfach nicht,egal für welche du dich entscheidest.
    Da entwirfst du die tollsten Klassen um die Attribute nachher wieder auf 150 normalisierte Tabellen zu verteilen 🙄 .
    Das dauert und kostet 😞 .

    MfG Spacelord 🙂



  • Und zusätzlich bemerkt. Wenn du Performance willst lass die finger von ODBC


Anmelden zum Antworten