Announcement

Collapse
No announcement yet.

OODB

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

  • OODB

    Hallo,

    Hat jemand schonmal eine richtige OO-Datenbank gesehen?
    Ich möchte eigentlich nichts Objektrelationales, bisher habe ich bei meinen Recherchen nichts wirklich überzeugendes gefunden.

    Grüße
    Timo

  • #2
    Hallo Timo,<br>
    ich habe vor ein paar Jahren die Objectdatenk O2 von Ardent-Software vertrieben und zum Teil auch Anwendungssoftware im Telekom-Bereich entwickelt. Leider ist diese Datenbank nicht mehr auf dem Markt.<p>
    Anderer Vertreter dieser Sparte sind Poet, ObjectStore, Objectivity um die Mitbewerber zu nennen.<p> Das Problem ist, dass es sich eigentlich um eine aussterbende Spezies handelt. In den meisten Fällen, werden diese Datenbanken heute als schnelle und persistente Hauptspeichererweiterungen vor den eigentlichen Persistenzservice SQL-Datenbanken geschaltet.<p>
    Wozu möchtest Du Dich den mit den OO-DB ausseinandersetzen?<p>
    Gruss<b>
    Fran

    Comment


    • #3
      Hi!

      Ich bräuchte eine Datenbank, die folgendes kann:<br>
      <br>
      - Collections von einander ähnlichen Datensätzen(=Objekten) (2 Dinge auf einmal.. :-)<br>
      <br>
      - Vererbung von Objekten (d.h. Felder, deren Eigenschaften und Trigger werden in neue Objekte übernommen)<br>
      <br>
      - automatisches Verwalten von 1:n-Beziehungen (Also zu einem Datensatz n Unterdatensätze)<br>
      <br>
      - Feldern zugeordnete Trigger (frei programmierbar)<br>
      <br>
      - Effiziente BLOB-Verwaltung<br>
      <br>
      Eventuell klingt das etwas übertrieben, aber ich habe mich gefragt, ob es nicht irgendein Produkt gibt, dass diese Bedingungen erfüllt? Zusammen mit einer Schnittstelle, die es z.B. Objekten in Programmiersprachen erlauben würde, die Manipulation am programmierten Objekt zu erlauben?

      (So zusammengeschrieben klingt das nach der eierlegenden Wollmilchsau, aber ich könnte so etwas gerade sehr gebrauchen.)

      Gerne auch per Email
      Grüße
      Tim

      Comment


      • #4
        Hi,<br>
        bevor ich eine Empfehlung aussprechen kann, muss Du mir noch zwei Fragen beantworten:<p>
        1. Mehrschichtenarchtektur oder Einschichtenarchitektur<br>
        2. Welche Programmiersprache<p>
        Fran

        Comment


        • #5
          Hi!

          Zu 1: Einschichtenarchitektur.
          Zu 2: Am liebsten Delphi, prinzipiell aber egal.

          Problematik ist weiterhin, dass ja in Zeiten, in denen XML einen nützlichen Zustand erreicht hat, Dinge wie 1:n-Relationen etc. in XML ausgedrückt werden können (und in Ergebnismengen zurückkommen), was eine "Standard"-Datenbank ja nicht sooo gut handlen kann.

          Interessant fand ich jetzt, dass OO-DBs auf dem absteigenden Ast sein sollen, bisher schien es mir nur so, als ob noch niemand einen gescheiten Approach gefunden hat?

          Grüße
          Tim

          Comment


          • #6
            Hi Timo,<br>
            leider ist es tatsächlich so, dass OO-Datenbanken nur noch eine Nische füllen. Das Hauptproblem war und ist, dass in den grossen Rechenzentren SQL-DBs laufen. Kein Rechenzentrumsleiter wird eine neue DB einführen, wenn er froh ist, das er seine Oracle oder DB2 administrieren kann.<p>
            Never touch a running system!!!<p>
            Schau mal unter dem folgenden Link nach:<p>
            http://www.objectdesign.com/htm/pse_prod.asp<p>
            Dort findest Du eine kleine OO-DB als Persistenzlayer. Für Delphi gibt es nichts. In der Kombination mit Java und Einschichtenarchtektur ist dies aber eine gute Kombination.<p>
            Für grössere Datenmengen und verteiltes Arbeiten gibt es von der gleichen Firma weitere DBs.<p>
            Gruss<br>
            Fran

            Comment


            • #7
              Hi!

              Es stimmt natürlich, das Rechenzentren eine Lösung brauchen, die allgemein verbreitet ist, daher sind Oracle etc. bestimmt verbreitet und wozu etwas "neues" machen.

              Eigentlich habe ich aber die Hoffnung, das irgendwann relationale Datenbanken den gleichen Status bekommen wie heute die strukturierte Programmierung.

              Mich nervt es oftmals an, ein sauberes Objektdesign zu machen und sobald ich es irgendwo ablegen will, lande ich in relationalen SQL-Statements mit Transaktionen etc.pp. Dafür geht dann eigentlich die meiste Coding-Zeit drauf.

              Vielen Dank schonmal für die Tipps, jetzt werde ich mal Prospekte lesen ;-)

              Grüße
              Tim

              Comment


              • #8
                Hallo Timo,<br>
                musst Du eigentlich grosse Datenmengen in einer einzigen Tabelle verarbeiten, oder hast Du ein grosses Beziehungsgeflecht in Deinem Objektmodell?<br>
                Gruss<br>
                Fran

                Comment


                • #9
                  Hi Frank,

                  das Beziehungsgeflecht ist nicht sooo wild, die Datenmengen könnten es werden. Wie gesagt, die Größen sind sehr unterschiedlich.

                  Es gäbe halt Listen von verwandten Objekten, diese Listen sind zudem hierarchisch gegliedert.

                  Grüße
                  Tim

                  Comment


                  • #10
                    Hi Timo,<br>
                    mit verwandten Objekten meinst Du bestimmt Vererbung?<br>
                    Den Vorteil, eine OO-DB einzusetzen kannst Du nir dann wirklich ausnutzen, wenn Du ein grosses Beziehungsgeflecht hast. Bei grossen Datenmengen in einer einigen Tabelle, auf denen Du ein SELECT durchführen willst, wirst Du Performanceeinbußen in Kauf nehmen müssen. Die OO-DBs sind fü diese Fälle nur schlecht gerüstet.<b>
                    Es mag sich zwar komisch anhören, aber manchmal ist es besser, die Objekthierarchie plattzuklopfen - alle Attribute in eine Tabelle - und dafür eine entsprechende Mappingstrategie zu entwickeln.<br>Die hierachische Ordnung kannst Du über eine stored procedure laden. Ein ähnliches Verfahren setze ich bei meiner eigenen Software auch ein.<br>
                    Alternativ, gibt es mittlerweile auch eine Möglichkeit XML über SQL in eine relationale DB zu speichern. Die Entwickler bei IBM Alphaworks haben hierzu eine entsprechende Entwicklung veröffentlicht.<p>
                    Gruss<br>
                    Fran

                    Comment


                    • #11
                      Hi Frank,

                      ja, ich meinte damit sozusagen Basis-Objekte, die bestimmte Bedingungen erfüllen und von denen spezialisiertere Objekte abgeleitet werden, die dann weitere Eigenschaften haben. Zudem sollten mehrere (verschieden grosse) Blobs als Felder eines Datensatzes.

                      Ich befürchte, es wird mir wohl nichts anderes übrigbleiben, als genau das zu tun, sprich ein relationales Modell davon zu erstellen und anschließend eben sauber zu übersetzen.

                      Schade ist es aber eigentlich schon, die meiste Zeit verbringe ich an Applikationen damit, diese langweiligen Umsetzungen zu tätigen.

                      Grüße
                      Tim

                      Comment


                      • #12
                        Hi Timo,<br>
                        hast Du schon einmal über Codegeneratoren nachgedacht. Ich beschäftige mich schon sehr lange mit Ansätzen zur Generierung von Anwendungen. Ich bin heute in der Anlage über ein sauberes Modell und ein vorhandenes Entwicklungsframework ca. 85% einer Software vorzugenerieren. Dies bedeutet auch, dass die Zugriffsschichten zu einem Persistenzlayer vollständig generiert werden können.<br>
                        <br>
                        Gruss<br>
                        Fran

                        Comment


                        • #13
                          Hi,

                          eigenes Framework oder kommerzielles Produkt? Welche Tools benutzt Du dafür?

                          Grüße
                          Tim

                          Comment


                          • #14
                            Hi,<br>
                            ich habe mir ein eignes framework geschaffen.<br>Im Fall von JAVA gibt es einige Ansätze, die im Bereich JAVA ONE verfügbar sind.<br>Wenn Du mit Delphi arbeiten möchtest, findest Du bei www.vclcrawler.com unter den Stichwort "framework" einige Bibliotheken. Ein Teil dieser Bibliotheken ist Free- ein Teil Shareware. Ich bin sicher, Du wirst hier das richtige Modul finden.<br>
                            Gruss<br>
                            Fran

                            Comment


                            • #15
                              Hallo Timo,

                              genau das gleiche Problem hatte ich vor einiger Zeit auch. Ich wollte objektorientiert programmieren und alle Vorteile, die dies nun einmal hat, auch nutzen können.
                              Schau Dir doch einmal die Bold-Technologie an (ist in Delphi 7 Architect enthalten). Du benutzt zwar nach wie vor relationale Datenbanken, aber das OR-Mapping übernimmt das Bold-Framework komplett, d.h. als Programmierer bewegst Du Dich in der OO-Welt.

                              Mehr zum Thema (in deutscher Sprache) findest Du unter http://www.activebold.com.

                              Viele Grüße
                              Christe

                              Comment

                              Working...
                              X