Announcement

Collapse
No announcement yet.

Interbase versus MS-SQL

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Interbase versus MS-SQL

    Hallo,

    Sachverhalt :

    wir haben derzeit eine Lösung im Einsatz, die Interbase 6.0 als Datenbankplattform verwendet. Nach bekannten Problematiken wurde die
    BDE abgeschafft und IBObject verwendet. Neben der DELPHI Appliaktion für die LAN-Ebene haben unsere Programmierer ASP-Lösungen entwickelt um via ODBC aus dem WEB zugreifen zu können.

    Unser Problem :

    Unsere Datenbank ist ständig inkonsistent, teilweise verschwinden Buchungen aus dem System, doppelte Rechnungsnummern usw. werden vergeben, die ODBC-Treiber stürzen ab usw.

    Aussage unserer Programmierer ist, daß dies an der BDE lag und durch den Einsatz von IBObjects zukünftig behoben sein wird !?!?!?!

    Das noch größere Problem :

    Unsere Bosse haben keine Lust mehr auf das ganze. Mittlerweile schwirren X-Leute durch die Gegend und machen einen wirren Vorschlag nach dem anderen.

    Nun ist die Diskussion da, ob man nicht ggf. alles neu entwickeln und von Anfang an auf MS-SQL 7.0 und PHP bzw. JAVA wechseln soll.

    Hier schließt meine eigentliche Frage an :

    Jede Datenbank hat mit Sicherheit ihre Vor- und Nachteile. Das doppelte Rechnungsnummern usw. vergeben werden hat meines Erachtens eher was damit zu tun, daß die Datenbank von vornherein falsche aufgesetzt wurde und ggf. keine eindeutigen Indexe gesetzt wurden.

    Verschwinden der Datensätze könnte laut meiner Nachforschung damit zu tun haben, daß keine Plausibilitätskontrollen zwischen DELPHI und WEB-Applikation bei Zugriff auf den gleichen Record vorgenommen werden usw...

    Wer kann die Frage beantworten was heute bei einer evtl. Neuentwicklung die bessere Alternative ist : INTERBASE 6.0 und DELPHI und ASP Webseitig, oder MS-SQL mit JAVA und hinten irgendwo Access oder wie auch immer ???

    Ich bin langsam am Ende mit meinem Latein mir hier eine vernünftige Meinung bilden zu können.

    Bin für jede Antwort dankbar.

    Viele Grüße,

    Stefan
    [email protected]

  • #2
    Hallo,

    der InterBase ist nur in der klassischen Client/Server-Welt (Client hat einen direkten Zugriff über das LAN auf den Server) so richtig zu Hause. Beim WAN-Zugriff fangen die Probleme schon ab (abgebrochene Verbindungen; terminierender Server), hier im Forum war schon einiges über diese Schwierigkeiten zu lesen, für die es zur Zeit kein sicher wirkendes Rezept gibt.

    Beim Einsatz im Web (unbekannte Benutzeranzahl) wird eine skalierbare Lösung gebraucht, die bei Bedarf in Richtung Three-tier-Anwendung erweitert werden kann. Und in diesem Umfeld braucht man so etwas wie einen Datenbankverbindungs-Pool, der bestehende Datenbankverbindungen auf die einzelnen Request-Aufrufe aufteilen kann. Im Fall von ADO (ActiveX Data Objects) steht dank des OLE DB-Providers dieser Pool automatisch zur Verfügung, so dass bei der Lösung IIS + ASP + OLE DB-Provider + ADO + Microsoft SQL Server 7/2000 das Fundament der Anwendung bereits fertig ist. In dieser Umgebung benötigt man eine Lösung, die absolut threadfest ist (da sowohl der IIS als auch COM+ einen eigenen Thread-Pool verwenden), aber viele ODBC-Treiber halten an dieser Stelle nicht das ein, was sie versprechen. Die BDE stellt als <i>Resource Dispenser</i> in diesem Umfeld auf Wunsch auch einen Datenbankverbindungspool zur Verfügung (siehe BDE-Konfiguration <i>MTS POOLING</i>), aber ohne Workaround läuft das nicht stabil. Somit wäre ADO der ideale Zugriffsweg in dieser Umgebung, aber leider ist ADO für den InterBase 6 nur dritte Wahl (da es zur Zeit meines Wissens nach keinen vollständigen OLE DB-Provider für den InterBase 6 gibt). Und mit IBO und IBX müsste man den Datenbankverbindungs-Pool von Hand nachbauen.

    Sobald ich mit den Anforderungen "Three-tier" und "Web mit unbekannter Benutzeranzahl" zu tun habe, greife ich auf den Microsoft SQL Server 2000 zurück. Ansonsten erfüllt der InterBase 6 die Anforderungen.

    P.S: Man muss klar einräumen, dass der Microsoft SQL Server 2000 eine deutlich höhere Gewichtsklasse als der InterBase 6 hat. Die Stichworte DTS und DTS-Packages reichen wohl aus, hier kann man visuell Aufgaben automatisieren, für die es beim InterBase 6 überhaupt kein Gegenstück gibt.
    &#10

    Comment


    • #3
      Hallo Andreas,

      vielen Dank für Deine aussagekräftigen Hinweise !

      Gruß,

      Stefa

      Comment


      • #4
        Hi,

        Folgendes sollte man ebenfalls bedenken:

        1)
        Setzt man einen Klopper wie IIS + ASP + OLE DB-Provider + ADO + Microsoft SQL Server 7/2000 ein, braucht man auf alle Fälle einen recht aufgeweckten Systemandministrator, der den Server ständig unter Wind hält ( Also jemanden, der nicht immer sagt 'die Firewall ist sischer. Seit sie vor 3 Jahren installiert wurde, ist sie noch nie abgestürzt...' ). Sonst kann man an dummerhaftige Script-Kiddies auch gleich Einladungen verschicken, in der DB zu stöbern.

        2)
        Bei Inkonsistenzen in der DB spielt es überhaupt keine Rolle, welches System eingesetzt wird. D.h. ein sauberes DB-Design ( Stichwort fat-Server ) ist Grundvorraussetzung. Dieses lässt sich auf jeder transaktionsfähigen Datenbank erreichen.

        3)
        Entwickelt man von Anfang an auf einem sehr leistungsfähgem Backend, dann neigen Programmiere dazu, die angebotenen Funktionalitäten auch zu benutzen. Damit wird natürlich die Portierbarkeit unterminiert, aber das mehr an Leistungsfähigkeit wird eigentlich nie so richtig gebraucht. Von den (Lizenz-)Kosten will ich hier noch nicht einmal sprechen

        4)
        Ich würde Apache + PHP + ( irgendeine DB, die von PHP standardmässig unterstützt wird ) einsetzen. Als DB drängt sich dann Interbase auf, da es eben auch die Hausmarke von Delphi ist.

        Gruß
        Gesin

        Comment


        • #5
          Vielen Dank für Deine Antwort (im übrigen auch an die anderen)..

          Es hilft mir auf jeden Fall weiter, mir ein Bild über die Sache zu machen.

          Gruß,

          Stefa

          Comment


          • #6
            Hallo,
            ist dann also das Gespann Delphi/Interbase generell für die Web-Programmierung nicht zu gebrauchen? Die Entscheidung, ob Interbase oder MS-SQL verwendet werden soll, ist ja von enormer (finanzieller) Tragweite. Und wer will schon ein großes InterBase-Projekt entwickeln, wenn die eventuelle spätere Skalierung auf einen Webserver große Probleme bereiten soll.
            Aber das Beispiel CodeCentral von Borland zeigt doch, dass hier Delphi und InterBase eingesetzt wurden. Ist es also doch machbar

            Comment


            • #7
              Hallo,

              das Beispiel <i>CodeCentral</i> ist ein Negativbeispiel (so sollte man es nicht machen). Dort wird eine CGI (ccweb.exe) eingesetzt, wobei damit die Anzahl der gleichzeitigen Sessions zwangsläufig begrenzt ist (in ungünstigen Zeiten erhält man ja auch die Fehlermeldung, dass der Server ausgelastet ist).

              Über den Link <i>Usage Statistics</i> kann man sich die Auslastungszahl zurückliefern lassen. In den vergangenen 30 Tagen haben 8398 Benutzer darauf zugegriffen, wobei 205 000 Mal eine Seite abgerufen wurde (ca. 6800 Zugriffe pro Tag). Auf CodeCentral greift also eine sehr kleine Benutzergruppe zu - nicht zu vergleichen mit einer Web-Seite, die für ein breites Publikum ausgelegt werden muss.

              P.S: Nicht ohne Grund hat Borland seine vor langer Zeit ausgesprochene Zusage, den Source-Code von CodeCentral als MIDAS-Beispielprojekt zur Verfügung zu stellen, bis heute nicht eingelöst :-)
              &#10

              Comment


              • #8
                Hi,

                wer eine andere preisgünstige Datenbank sucht sollte mal unter www.adabas.com nachschauen.
                Darin enthalten: MS-Office Tools,Internet Tools / Für Linux und Windows.

                Soviel ich weis DM 5000,-- pro Server unlimited User

                Gruß Walte

                Comment


                • #9
                  Ich frag mal einfach so ist adabas mittlerweile eine richtige relationale DB, oder noch irgendwie hierachisch, oder wo immer das mal herkam

                  Comment

                  Working...
                  X