Datenbank programmieren
-
Hi,
ich habe gelesen das zum programmieren einer Datenbank sich B-Bäume gut eignen. Kennt wer ein gutes Scriptum oder Webseite wie man da grob vorgeht um eine eigene Datenbank zu programmieren? Also wie werden große Teile des Baumes am besten auf Platte ausgelagert etc.Ist es eigentlich dann so das für jeden Index den ich in einer Tabelle erzeuge ein neuer B-Baum erzeugt wird, damit ich dann schnell suchen kann?
Ich will nix professionelles machen es dient alles nur zum Lernen und Verstehen.
Danke schon mal im voraus.
-
datenbanken nutzen nicht "nur" eine datenstruktur wär ja auch noch schöner. für jedes problem gibts da ein wässerchen
-
fang doch mal mit nem sql parser an, das sollte schon mal genug arbeit machen
-
Mir ist schon klar das große DBs das viel komplexer realisieren, aber ich will ja was ganz Kleines und was soll ich da am Anfang mit SQL??? Das wird am Anfang überhaupt keinen Parser haben da ich es nicht von extern steuern will.
Wäre nett wenn sich jemand damit auskennt und mir ein paar Tipps geben könnte, ansonsten muss ich weiter suchen.
-
also mein wissen schaut so aus dass:
1. für jeden index ein eigener baum angelegt wird.
2. alle indexe so oder so in den ram kommen weil sonst die performance schlecht ist.
3. verschiedenste datenstructuren verwendet werden.mehr weiß ich auch nicht
-
Danke erst mal, ich habe hingegen gelesen das gerade die b-trees deswegen so gut sind weil man sie auf hd auslagern und stückeln kann und eben nicht alles im ram lassen muss.
wenn noch jemand mehr weiß immer her damit, ansonsten werde ich schon raus kriegen wie man eine db angeht. Da haben ja mal alle bei 0 angefangen. Und ich implementiere erstmal die b-trees.
-
Je nachdem wieviel RAM du zur Verfügung hast kannst du bei vielen Datenbankanwendungen (ala ich hab ein Forum mit 10 Usern und hin und wieder einen Gästebucheintrag) auch die gesamte Datenbank in den RAM laden - und dann brauchst du ganz andere Algorithmen.
Wenn es dir um Algorithmen auf der Festplatte geht würde ich ein Buch dazu kontaktieren
MfG SideWinder
-
Da verwendest du sicherlich was ähnliches wie im Artikel LAMP oder AMP stand. Ich möchte aber schon die Möglichkeit haben auszulagern und habe schon jetzt während der Recherche gesehen dass das Thema extrem komplex werden kann. Ich suche aber schon was ganz einfaches worauf ich aufbauen kann.
Wenn du ein guten Buch dazu kennst würde mir das auch helfen. Es ist wirklich sehr schwer danach zu suchen, da viele unter Datenbank programmieren das Erstellen einer Datenbank mit einem DBMS meinen. Alle wenden Datenbanken an aber keiner entwickelt welche in den Büchern und Artikel.
Vielleicht kennt auch einer eine öffentliche Diplomarbeit zu dem Thema. Diplomarbeiten sind ja in der Regel recht einfach zu lesen und vom Umfang auch nicht gerade groß.
-
http://www.dbai.tuwien.ac.at/education/dbs/current/index.html
http://www.dbai.tuwien.ac.at/education/dbt/current/index.htmlDie erste Lehrveranstaltung hat teilweise auch noch mit der Anwendersicht zu tun. Geht beides nicht sehr stark in die Tiefe aber die Literaturtipps helfen die interessanten Kapitelüberschriften zu finden.
MfG SideWinder
-
Dankeschön das sind schon mal gute Startpunkte. Was man sich als Arbeitsloser so alles antut
-
rage_quit schrieb:
also mein wissen schaut so aus dass:
1. für jeden index ein eigener baum angelegt wird.
richtig
2. alle indexe so oder so in den ram kommen weil sonst die performance schlecht ist.
falsch.
indexe stehen bei den meisten datenbanken auf der disk, wie alles andere auch. weil die meisten datenbanken datenbestände >> RAM-grösse erlauben wollen/müssen/tun.3. verschiedenste datenstructuren verwendet werden.
woo-hoo.
ja ne B-bäumchen + derivate sind schon immer noch die wichtigsten und meistverwendeten.