arbeiten mit zwei Catalogs?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • arbeiten mit zwei Catalogs?

    Ich habe mehrere große Datenbanken die an sich in drei Catalogs unterteilt sind. Zwei davon benötige ich zur Webseitenprogrammierung.
    Meine Frage:
    Ist es sinnvoll mit zwei Catalogs zu arbeiten und damit zwei Datenverbindungen zu benötigen oder ist es besser beide (bzw. richtiger drei) Datenbanken in einem Catalog zusammenzufassen und mit einer Datenverbindung zu arbeiten.
    Inwieweit hat die Trennung in zwei Catalogs dann Auswirkungen auf die Performance des Servers und der Website?
    Hinweis: eine Datenbank liegt im Größenbereich von 300 MB und wachsend (800-900MB sind im Endausbau nicht unwahrscheinlich),
    die beiden anderen sind kleiner (rd. 100 MB - bzw- 20 MB)

    Gruß
    Thomas
    Gruß
    Thomas Sebesta/Neunkirchen/Austria
    Entwicklergruppe dsfdb.org
    [color=blue](d)eutsche (s)peculativ (f)iction (d)aten(b)ank[/color]
    sourceforge.net/projects/dsfdb/

  • #2
    wenn das DBMS mit Verbindungsserver (linked server) wie z.B. MS-SQL
    arbeiten kann, dann brauchst du "clientseitig" (PHP, ASP, JSP, ...) dich nicht
    drum zu kümmern und baust nur eine Verbindung zum Haupt-SQL-Server
    auf. Der Rest macht der SQL-Server schon selbst. Somit entlastest du auch
    deinen WebServer.

    Kommentar


    • #3
      Mal sehen ob wir vom gleichen reden

      Ich habe jetzt eine Verbindung:

      PHP-Code:
         function db($server,$user,&$password,$database,$phpversion) {
            
      $this->server=$server;
            
      $this->user=$user;
            
      $this->password=$password;
            
      $this->database=$database;

            
      $password "";

            
      $this->connect();
         }

         function 
      connect() {
            
      $this->link_id=mysql_connect($this->server,$this->user,$this->password);
            if (!
      $this->link_id) {
               
      $this->error("Link-ID == false, keine Datenbankverbindung");
            }
            if (
      $this->database!="") {
               
      $this->select_db($this->database);
            }
         } 
      wenn ich jetzt einen zweiten Catalog aufbaue, muß ich nur eine zweite Verbindung über eine connect2() aufbauen, die kann ich auch dann früher schließen wenn ich sie nicht mehr brauche, denn die Verbindung betrifft nur Sonderfälle.
      Gruß
      Thomas Sebesta/Neunkirchen/Austria
      Entwicklergruppe dsfdb.org
      [color=blue](d)eutsche (s)peculativ (f)iction (d)aten(b)ank[/color]
      sourceforge.net/projects/dsfdb/

      Kommentar


      • #4
        Nee, ich kenne mich mit MySQL nicht sehr gut aus, dass ich sagen kann, ob
        er linked server unterstüzt (auch zu faul nachzusehen).

        Das, was ich meine ist bei z.B. MS-SQL-Server etwa so:

        - du erstellt auf dem SQL-Server einen Verbindungsserver zu einer anderen
        SQL-Server (MySQL, Oracle, DB2, ... was auch immer)
        - mit: select wasauchimmer ... from openquery(verbindungsservername,'select
        blabla from blabla...'). holst du die Daten vom Fremdserver usw.

        Vorteil: du baust nur die Verbindung (in diesem Fall) zum MS-SQL-
        Server auf, und lässt ihn alles für dich über T-SQL erledigen; ob Daten
        holen oder schreiben, was auch immer ...

        Kommentar


        • #5
          dachte mir schon, dass ich mich nicht richtig ausgedrückt habe.

          Die Cataloge liegen alle auf dem gleichen Server, keine Fremdserver.
          Webserver und MySqlServer leigen alle auf der gleichen Maschine.

          Definition zur Klarstellung des Sprachgebrauchs:

          "Datenbank" Sammlung von zusammenhängenden Informationen zur Lösung einer Aufgabenstellung. Datenbank im umgangssprachlichen Sinne. Gültigkeitsbereich: Aufgabenstellung, Schnittstelle

          "Database" Implementierung einer Datenbank auf einem Computer. Datenbank im technischen Sinne (Sichtweise: Daten)
          Gültigkeitsbereich: Implementierung

          "Server" Rechner mit einem installiertem Datenbankverwaltungsprogram. Voraussetzung für "Database".
          Datenbank im technischen Sinne (Sichtweise: Programm)
          mySQL wird damit als Server und nicht als Datenbank bezeichnet.
          Gültigkeitsbereich: Implementierung

          "Catalog" Mit einem Namen versehenen Verwaltungseinheit eines Servers. Also das was das Datenbankverwaltungsprogram unter "Datenbank" versteht.
          Ein Catalog kann mehr als eine "Database" enthalten Gültigkeitsbereich: Implementierung

          Für mich ist die Frage, ob es Sinn macht unter obigen Voraussetzungen, einen Catalog zu benutzen oder eine Trennung in zwei Cataloge vorzunehmen.

          Praktische Anwendung:
          Eine Database (WEB) enthält Daten einer Literaturverwaltung zur Anzeige auf der Website, eine andere Database (ADMIN) enthält die Daten zur Verwaltung der Website (user usw.), in einer dritten Database (IMPORT) sollen Dateneingaben von Usern aus der Website zwischengespeichert werden um diese Daten dann zu regelmäßig zu exportieren, die Daten werden dann extern einer Validierung unterzogen und nach Validierung in die Literaturverwaltung zur Anzeige im Web importiert.

          Der Grund: so wird sichergestellt, dass Dateneingaben von "Laien" welche zu einem relativ großen Prozentsatz nicht richtig (und auch redundant) sind durch ein Expertenprogramm (und im Notfall durch Fachleute selbst) überprüft werden und nur überprüfte und bereinigte Daten in der WEB zur Anzeige gelangen.


          Die Databases WEB und ADMIN sind in einem Catalog (DSFDB) zusammengefasst. WEB wird regelmäßig um die Eingabedaten aktualisiert, ADMIN wird direkt im Webbetrieb aktualisiert. Die Daten von IMPORT werden in der Website ebenfalls angezeigt, aber nicht als fixer Datenbestand sondern davon separiert, um eingebenden Usern ersichtlich zu machen wo Daten im Unterschied zu den validierten Daten der WEB bereicht zur Änderung oder Ergänzung vorliegen.

          Es erhebt sich jetzt die Frage, ob die hinzukommende database IMPORT sinnvollerweise ebenfalls im Catalog DSFDB implementiert werden soll, oder ob ein eigener Catalog (IMPORT) besser ist.

          Meine Überlegung geht dahin, dass alle databases in einem Catalog eine ziemliche Unübersichtlichkeit ergeben da die anzahl der tables in in DSFDB derzeit 71 ausmacht (12 für ADMIN und 59 für WEB). Für IMPORT kämen nochmals 59 tables hinzu. Im weiteren Ausbau ist sicherlich mit jeweils über 100 tables für jeweils WEB und IMPORT zu rechnen. Außerdem könnte ich mir vorstellen dass die Trennung ein bessers Handling für den In- und Export der Daten ergibt.

          Dazu würde ich gerne Meinungen von anderen noch hören.
          Gruß
          Thomas Sebesta/Neunkirchen/Austria
          Entwicklergruppe dsfdb.org
          [color=blue](d)eutsche (s)peculativ (f)iction (d)aten(b)ank[/color]
          sourceforge.net/projects/dsfdb/

          Kommentar


          • #6
            also sowas von durcheinander gemischt zwischen Englisch und Deutsch
            habe ich noch nie gesehen. Für dich hat Datenbank und Database eine
            andere Bedeutung als für mich, denn für mich ist Datenbank=Database.

            Ich habe nicht behauptet, dass MySQL, MS-SQL, ... Datenbanken sind.
            Das sind DBMS (Database Management System), wenn es dir was sagt.

            Ich habe nur versucht, dir zu helfen, aber da du mich nun als der Dumme
            abstempelst, brauche ich auch nichts mehr zu posten. Wenn die Databases
            auf dem gleichen DBMS liegen, braucht man z.B. bei vielen anderen DBMS
            (MySQL ) nur eine Verbindung aufzubauen, aber als Experte
            weisst du das ja natürlich auch.

            Viel Erfolg wünsche ich dir trotzdem.
            Zuletzt geändert von asp2php; 02.04.2004, 09:46.

            Kommentar


            • #7
              Na da hast du was in die falsche Kehle bekommen.

              Ich bin der Meinung - ich bin der Dumme, denn schließlich versteh ich ja was nicht - und versuche nur sicherzustellen, dass wir beide auch vom gleichen reden. Ich kann nur vermitteln, was ich bisher glaube zu wissen.

              Ich lasse mich gerne belehren, dass die Begriffdefinitionen nicht korrekt sind. Aber bei uns wird danach gearbeitet und ich muß damit leben. Hier bedeutet Datenbank eben nicht database, weil Datenbank im Sprachgebrauch eben eine beliebige Sammlung von Daten zur Lösung eines Problems bezeichnet und database die technische Umsetzung - und das ist ja ein Unterschied.

              Dies ist deshalb begründet, da wir deutsch als Verständigungssprache gewählt haben und die technischen Bezeichnungen eben doch englisch sind (Soweit nur zur Erklärung des Mischmasch).

              Das Problem ist ja, dass ich kein Experte bin (sonst würde ich hier Fragen beantworten und nicht stellen) und daher das Gefühl habe mich nicht richtig ausgedrückt zu haben weil mir die Lösung nicht zwingend logisch erscheint. Da ich Verständnisprobleme habe versuche ich sicherzustellen, dass wir vom gleichen reden und wenn ich das Gefühl habe, dass sich mein Verständnis immer noch nicht verbessert hat, so frage ich solange, bis ein Sprachgebrauch hergestellt ist, der mir das Verständnis liefert.

              Ich kann nur Ausdrücke gebrauchen, die ich kenne (dazu muß ich ja kein Experte sein). Wenn du sagst das ist kompletter Blödsinn nehme ich das zur Kenntnis. Wenn ich mir die Definitionen aber ansehe, so leuchtet mir der Unterschied schon ein.

              zum Rest:
              einer Antwort entnehme ich, dass du database geleichsetzt mit meinem Catalog. Soweit so gut.

              Aus dem o.a. Code geht heraus, dass ich mit connect() eine bestimmte database=catalog anspreche. Wenn ich also eine weitere database=catalog habe, so muß ich connect() ein weiteres mal aufrufen um eine Verbindung zur zweiten databes=catalog zu erhalten.
              Ich wiederhole daher meine Frage, ob dies ein sinnvoller Weg ist oder ob ich mir das sparen sollte (zB aus Performancegründen) oder liege ich so daneben, dass ich einen anderen Ansatz suchen muß.

              Ich danke dir jedenfalls für deine Mühe.
              Gruß
              Thomas Sebesta/Neunkirchen/Austria
              Entwicklergruppe dsfdb.org
              [color=blue](d)eutsche (s)peculativ (f)iction (d)aten(b)ank[/color]
              sourceforge.net/projects/dsfdb/

              Kommentar

              Lädt...
              X