Python für eigene Datenbank?

#1
Hey, ich bin neu hier im Forum und habe gleich meine erste Frage:
Ich möchte eine eigene Datenbank entwickeln d.h. ich möchte quasi ein eigenes MySQL programmieren und ich möchte das Anfragen schnell bearbeitet werden können also brauche ich eine sehr schnelle Programmiersprache dafür. Welche würdet ihr mir dafür empfehlen?
 

asc

Well-Known Member
c-b Experte
#2
C/C++

Alternativ Rust, Go oder D

Da du wohl ISO/SQL (SQL:2016) implementieren möchstest, brauchst du zusätzlich Parser-Tools (z.b. BISON/YACC/LALR-Generator XYZ).
Würde die Programmiersprache daran richten.
 

asc

Well-Known Member
c-b Experte
#4
Naja, aber dein DBMS muss doch sowas wie SELECT * FROM tablename verarbeiten können, oder nicht?
Hab ich was falsch verstanden?
 

asc

Well-Known Member
c-b Experte
#6
Joa und deswegen ja der Tipp, dass du dir eine Programmiersprache anhand der verfügbaren Parser-Tools suchen solltest :D
Für C/C++ wäre das BISON und YACC

Es sei denn du willst dir einen Parser komplett von Hand bauen, dann ist das was anderes.
 

-AB-

R.I.P.
c-b Team
c-b Experte
#7
Es sei denn du willst dir einen Parser komplett von Hand bauen, dann ist das was anderes.
Spätestens dann gehen aber sämtliche Illusionen, dass das halbwegs perfomant wird, in Luft auf... ;)

Generell ist es als Übung wohl okay, aber ein derart großes Projekt auf Ausführungsgeschwindigkeit zu optimieren, halte ich für falsch. Lieber sauberen Code schreiben, sonst hat man am Ende ein verbuggtes, hässliches Stück Code, das niemand anfassen will.
 
Gefällt mir: asc

asc

Well-Known Member
c-b Experte
#8
MySQL hat aktuell wohl über 3 Millionen Zeilen C/C++ Code (andere Sprachen habe ich weggelassen, das sind wohl eher APIs bzw. Gluecode für diese Sprachen oder die HTML-Version der API-Dokumentation) https://www.openhub.net/p/mysql/analyses/latest/languages_summary

Statt einer relationalen Datenbank würde ich als Übung vielleicht eher mit einer NoSQL Datenbank anfangen. Sowas kann man dann auch mal mit Python Prototypen und nach und nach ausbauen.
 

Jan Krüger

Well-Known Member
c-b Team
c-b Experte
#9
Bevor du anfängst, lies dir erstmal was zum Thema "wie funktioniert ein Datenbankindex" durch (am besten auch "was macht ein Query-Planer") - und überleg dir danach nochmal, ob du das wirklich alles selber machen willst. ;)
 
Oben