Henryk Plötz: Sozialrocker

Beitrag lesen

Moin,

was sind denn strukturiert vorliegende Daten im RAM?

Genau das was da steht. Strukturen (zum Beispiel C-structs) die im RAM liegen und untereinander verpointert sind.

Ein RDBMS haelt Daten strukturiert im RAM

Ja, aber mit einer fast fest vorgegebenen Struktur die evt. nicht dem Einsatzzweck optimal angepasst ist.

ein Flatfile-System (eher) nicht.

Es geht auch nicht um ein Flatfile-System, sondern um strukturierte Daten im RAM. Ob man die dann zu Langzeitspeicherzwecken in eine Datei serialisiert oder woanders hin ist weitestgehend egal.

Wenn auf eine groessere Zahl Entitaeten zugegriffen wird, die miteinander in bestimmten Beziehungen stehen und diese Beziehungen werden abgefragt, dann ist das RDBMS natuerlich schneller. (Bei "Eintabellendatenzugriffen" natuerlich nicht.)

In diesem Fall nicht, d.h. die Aussage ist nicht allgemeingültig. Vergleichen wir doch mal losgelöst zwei annähernd optimale (unter den jeweiligen Bedingungen) Implementierungen (ich habe ausdrücklich keine detaillierte Ahnung was hier wirklich passiert, kann mir aber vorstellen was ich machen würde) unter der gemeinsamen Aufgabe "einen Threadbaum darstellen".

Datenstrukturen im RAM: Der Daemon kriegt den Auftrag und eine Threadnummer genannt. Er sucht den Anfang des jeweiligen Threads im RAM (ob über einen Index oder binäre Suche ist fast schon egal), dort findet er eine Datenstruktur mit den nötigen Informationen für das erste Posting, sowie eine Liste mit Pointern zu den direkten Kindpostings. Er macht jetzt einfach Tiefensuche auf den Pointern und findet so immer mehr Kindpostings die er direkt schon zurückgeben kann (da sie implizit in der richtigen Reihenfolge auftauchen). Das ganze ist 'straight forward' und enthält eigentlich nur Speicherzugriffe über Pointer sowie halt soviele Kopieraktionen wie notwendig sind um die abgefragten Daten zurückzugeben.

RDBMS: Der Datenbankserver kriegt eine Abfrage. Die muß er jetzt erstmal parsen. Wenn er sie geparst hat optimiert er vielleicht noch ein bisschen, sowie macht sich fertig auf die nötigen Tabellen zuzugreifen. Über einen Indexzugriff findet er vielleicht auch das erste Posting ganz leicht. Nehmen wir einfach mal an zu jedem Posting würden in einer separaten Tabelle auch noch alle direkten Kinder aufgelistet. Dann muß er trotzdem noch die ID des ersten Postings nehmen, in der Tabelle nachsehen welche IDs die Kinder haben und die Kinder über IDs (Indexzugriff) raussuchen, usw. (Die Alternative wäre wenn jedes Kind nur die ID seines Vaters im Datensatz hat, was aber auch nicht schneller wäre, eher im Gegenteil.)
Wenn man kein DMBS mit stored procedures und sub-selects o.ä. einsetzt muss ausserdem die rekursive Suche durch den Anfragenden Prozess angestoßen werden was viele, viele Kontextwechsel und häufiges erneutes Anstoßen des Query-Parsers und Optimierers bedeuten würde.
Am Ende muss der Datenbankserver (oder der anfragende Prozess) das Ergebnis ggbf. noch sortieren (und vielleicht die passenden Vater-Kind-Beziehungen zur Einrückung rekonstruieren).
Das ganze ist reichlich verzwackt und enthält nicht einen einzigen direkten Speicherzugriff, sondern immer nur Indirektionen über IDs. Das kann man zwar über Indices vergleichsweise(!) effizient implementieren, es ist aber mindestens um eine Größenordnung langsamer.

(P.S.: Ludger: Sollte ich zu viele Fremdwörter wie Datenstruktur, Tiefensuche oder Pointer verwendet haben: Keine Angst, die müssten alle bei Wikipedia erklärt sein.)

--
Henryk Plötz
Grüße aus Berlin
~~~~~~~~ Un-CDs, nein danke! http://www.heise.de/ct/cd-register/ ~~~~~~~~
~~ Help Microsoft fight software piracy: Give Linux to a friend today! ~~
0 224

Grund fuer Forums-Abstuerze gefunden

Christian Kruse
  • zu diesem forum
  1. 0
    Elya
  2. 0
    XaraX
    1. 0
      Christian Kruse
      1. 0
        Carsten
        1. 0
          Harry
          1. 0
            XaraX
            1. 0
              LanX!
              1. 0
                LanX!
              2. 0
                at
                1. 0
                  LanX!
                2. 0
                  Christoph Schnauß
                  1. 0
                    Tim Tepaße
                  2. 0
                    at
                    1. 0
                      LanX!
                      1. 0
                        at
                        1. 0
                          LanX!
                          1. 0
                            at
                            1. 0
                              LanX!
                              1. 0
                                at
                                1. 0
                                  LanX!
                                  1. 0
                                    at
                                    1. 0
                                      LanX!
                                      1. 0
                                        Freudscher Bug
                                      2. 0
                                        at
                                        1. 0
                                          LanX!
                                          1. 0
                                            at
                                            1. 0
                                              LanX!
                                      3. 0
                                        Henryk Plötz
                                        1. 0
                                          at
                3. 0
                  Harry
                  1. 0
                    LanX!
                  2. 0
                    at
                    1. 0
                      Harry
                      1. 0
                        at
                      2. 0
                        Matti Maekitalo
  3. 0
    Chräcker Heller
    1. 0
      Christian Kruse
      1. 0
        Thomas J.S.
  4. 0
    Carsten
    1. 0
      MudGuard
      1. 0
        at
        1. 0
          Christoph Schnauß
          1. 0
            at
            1. 0
              MudGuard
              1. 0
                at
          2. 0
            MudGuard
            1. 0
              at
              1. 0
                MudGuard
  5. 0

    "Namen schützen" führt zu Fehlermeldung

    Utz
    1. 0
      Christian Kruse
      1. 0
        Utz
  6. 0
    Siechfred
    • menschelei
    1. 0
      Christian Kruse
      1. 0
        Siechfred
  7. 0
    JürgenB
  8. 0
    Andreas-Lindig
    1. 0
      Christian Kruse
      1. 0
        Andreas-Lindig
        1. 0
          Wilhelm Turtschan.
          1. 0
            Andreas-Lindig
    2. 0
      Christoph Schnauß
      1. 0
        @ ;-)
        1. 0
          Christoph Schnauß
          1. 0
            Johannes Zeller
  9. 0
    Ludger Keitlinghaus
    1. 0
      Carsten
      1. 0
        Ludger Keitlinghaus
        1. 0
          Johannes Zeller
          1. 0
            Ludger Keitlinghaus
            1. 0
              Johannes Zeller
              1. 0
                Ludger Keitlinghaus
                1. 0
                  Daniela Koller
                  1. 0
                    Ludger Keitlinghaus
                    1. 0
                      Götz
                      1. 0
                        Ludger Keitlinghaus
                        1. 0
                          Götz
                    2. 0
                      Daniela Koller
                      1. 0
                        Ludger Keitlinghaus
                        1. 0
                          Schuer
                          1. 0
                            Ludger Keitlinghaus
                  2. 0
                    Mathias Bigge
                    1. 0
                      Daniela Koller
                2. 0
                  Götz
                  1. 0
                    Ludger Keitlinghaus
                    1. 0
                      Götz
                      1. 0
                        Christian Kruse
                        1. 0
                          Ludger Keitlinghaus
                          1. 0
                            Daniela Koller
                          2. 0
                            Christian Kruse
                            1. 0
                              Ludger Keitlinghaus
                              1. 0
                                Christian Kruse
                                1. 0
                                  Ludger Keitlinghaus
                              2. 0
                                Henryk Plötz
                    2. 0
                      Henryk Plötz
                      1. 0
                        Ludger Keitlinghaus
                        1. 0
                          Johannes Zeller
                          1. 0
                            Ludger Keitlinghaus
                            1. 0
                              Robert
                              1. 0
                                Ludger Keitlinghaus
                                1. 0
                                  Johannes Zeller
                            2. 0
                              Johannes Zeller
                3. 0
                  Henryk Plötz
                  1. 0
                    Ludger Keitlinghaus
                    1. 0
                      Henryk Plötz
                      1. 0
                        Ludger Keitlinghaus
                        1. 0
                          Henryk Plötz
                          1. 0
                            Ludger Keitlinghaus
                    2. 0
                      Johannes Zeller
                      1. 0
                        Ludger Keitlinghaus
                        1. 0
                          Jonathan Zeller
                        2. 0
                          Johannes Zeller
                          1. 0
                            Ludger Keitlinghaus
        2. 0

          Feindschaften

          Mathias Bigge
          1. 0

            Sozialrocker

            Ludger Keitlinghaus
            1. 0
              Mathias Bigge
              1. 0
                Ludger Keitlinghaus
                1. 0
                  Christian Kruse
                  1. 0
                    Ludger Keitlinghaus
                    1. 0
                      Christian Kruse
                      1. 0
                        Ludger Keitlinghaus
                        1. 0
                          Christian Kruse
                          1. 0
                            Ludger Keitlinghaus
                            1. 0
                              Christian Kruse
                              1. 0
                                Ludger Keitlinghaus
                                1. 0
                                  Christian Kruse
                                  1. 0
                                    Ludger Keitlinghaus
                                    1. 0
                                      Christian Kruse
                                      1. 0
                                        Ludger Keitlinghaus
                                        1. 0
                                          Christian Kruse
                                          1. 0
                                            Ludger Keitlinghaus
                                            1. 0
                                              Christian Kruse
                                2. 0
                                  Detlef G.
                                  1. 0
                                    Ludger Keitlinghaus
                                3. 0
                                  Raik
                        2. 0
                          Henryk Plötz
                          1. 0
                            Slyh
                            1. 0
                              Auge
                              1. 0
                                Slyh
                                1. 0
                                  Christian Kruse
                                  1. 0
                                    Christian Kruse
                                  2. 0
                                    Slyh
                                    1. 0
                                      Christian Kruse
                                      1. 0
                                        Slyh
                                    2. 0
                                      Christian Kruse
                                      1. 0
                                        Slyh
                                        1. 0
                                          Christian Kruse
                                          1. 0
                                            Sven Rautenberg
                                            1. 0
                                              Ludger Keitlinghaus
                                              1. 0
                                                Henryk Plötz
                                                1. 0
                                                  Ludger Keitlinghaus
                                                  1. 0
                                                    Henryk Plötz
                                                    1. 0
                                                      Stonie
                                                  2. 0
                                                    Slyh
                                                    1. 0
                                                      Ludger Keitlinghaus
                                                      1. 0
                                                        Raik
                                                2. 0
                                                  Slyh
                                                  1. 0
                                                    Christian Kruse
                                                    1. 0
                                                      Slyh
                                                      1. 0
                                                        Christian Kruse
                                                        1. 0
                                                          Slyh
                                                          1. 0
                                                            Christian Kruse
                                                            1. 0
                                                              Slyh
                                                              1. 0
                                                                Slyh
                                                                1. 0
                                                                  Christian Kruse
                                                              2. 0
                                                                Christian Kruse
                                                  2. 0
                                                    Henryk Plötz
                                                    1. 0
                                                      Slyh
                                                      1. 0
                                                        Henryk Plötz
                                                        1. 0
                                                          Slyh
                                              2. 0
                                                Slyh
                                                1. 0
                                                  Christian Kruse
                                                  1. 0
                                                    Slyh
                                                    1. 0
                                                      Christian Kruse
                                                      1. 0
                                                        Slyh
                                                        1. 0
                                                          Christian Kruse
                                                          1. 0
                                                            Slyh
                                                            1. 0
                                                              Daniela Koller
                                                              1. 0
                                                                Slyh
                                                                1. 0
                                                                  Daniela Koller
                                                                  1. 0
                                                                    Slyh
                                                                    1. 0
                                                                      Daniela Koller
                                                                      1. 0
                                                                        Ludger Keitlinghaus
                                                                        1. 0
                                                                          Raik
                                                                      2. 0
                                                                        Wilhelm Turtschan
                                                                        1. 0
                                                                          Daniela Koller
                                                            2. 0
                                                              Christian Kruse
                                                              1. 0
                                                                Slyh
                                                                1. 0
                                                                  Daniel Thoma
                                                                  1. 0
                                                                    Slyh
                                                                    1. 0
                                                                      Daniel Thoma
                                                                      1. 0
                                                                        Raik
                                                                  2. 0
                                                                    Christian Kruse
                                                                    1. 0
                                                                      Slyh
                                                                      1. 0
                                                                        Christian Kruse
                                                                        1. 0
                                                                          Ludger Keitlinghaus
                                                                          1. 0
                                                                            Raik
                                                                          2. 0
                                                                            Johannes Zeller
                                                                    2. 0
                                                                      Daniel Thoma
                                                                      1. 0
                                                                        Christian Kruse
                                                                2. 0
                                                                  Christian Kruse
                                            2. 0
                                              Slyh
                            2. 0
                              Henryk Plötz
                          2. 0
                            Ludger Keitlinghaus
                            1. 0
                              Raik
                      2. 0
                        Christian Seiler
                        1. 0
                          Christian Kruse
                          1. 0
                            Christian Seiler
                    2. 0
                      Daniela Koller
                      1. 0
                        Ludger Keitlinghaus
          2. 0

            Soziopathen

            Orlando
            1. 0
              Wilhelm Turtschan
              1. 0
                Ludger Keitlinghaus
              2. 0
                Orlando
                1. 0
                  Wilhelm Turtschan
                  1. 0
                    Orlando
                    1. 0
                      Christian Kruse
                    2. 0
                      Ludger Keitlinghaus
                      1. 0
                        wahsaga
                    3. 0
                      Wilhelm Turtschan
                      1. 0
                        Orlando
          3. 0
            Henryk Plötz
            • menschelei
        3. 0
          Lude
  10. 0
    wahsaga