Suche In-Memory Datenbanksystem
-
Suche ein Datenbanksystem mit folgenden Anforderungen:
- arbeitet ausschließlich im Ram
- opensource & kostenlos
- c libraies (gibts vermutlich für alle)
- SQL, wobei ich auch bereit wäre etwas neues zu lernenAnforderungen sind eigentlich ziemlich gering: insert, update und delete Operationen gibt es fast keine. Das meiste wird sich auf select und sort und inkrementelle Suche beschränken.
Hab bereits gesehen, dass sqlite eine In-Memory Option hat und mir kurz csql angeguckt. Erfahrungen und gibt es Vergleichsstatistiken?
Oder wäre es wegen der Anforderungen sogar vielleicht besser (schneller) eine eigene Datenstruktur zu bauen? Wollte das eigentlich umgehen wegen Unicode Normalisierung und inkrementeller Suche.
Geht inkrementelle Suche überhaupt effizient mit SQL?
-
Meinst du inkrementelle Suche wie in "acb" tippen -> Ergebnis für "abc", "d" tippen -> Ergebnis für "abcd" usw.?
Das geht mit SQL soweit ich weiss gar nicht. Also schon, aber du musst für jedes "Zwischenresultat" was du haben willst ne komplett neue Query lostreten.Oder meinst du einfach nur dass er nicht das gesamte Result-Set vorab ermittelt, sondern passende Zeilen erst dann "sucht" wenn das Programm sie anfordert? Das geht, und so lange du nicht sortierst bzw. die Sortierung über einen Index optimiert werden kann, macht SQLite das IIRC auch genau so.
Was Unicode-Normalisierung bzw. Unicode-Collations angeht wäre "die" Library vermutlich ICU.
Und vonwegen Unicode-Normalisierung/Unicode-Collations: SQLite unterstützt diesbezüglich in der Default-Version nix. Man kann SQLite allerdings irgendwie mit der ICU zusammenknoten. Ob das (wesentlich) einfacher ist als wenn man gleich mittels Suchbäumen und ICU selbst was bastelt ist allerdings fraglich.
-
hustbaer schrieb:
Meinst du inkrementelle Suche wie in "acb" tippen -> Ergebnis für "abc", "d" tippen -> Ergebnis für "abcd" usw.?
Genau das meine ich. Wie heißt der Fachausdruck dafür?
hustbaer schrieb:
Was Unicode-Normalisierung bzw. Unicode-Collations angeht wäre "die" Library vermutlich ICU.
Danke, sieht sehr gut aus. Hatte bisher nur CLDR gefunden, wobei ich mit den xml Dateien nichts anfangen konnte.
-
performanceman schrieb:
hustbaer schrieb:
Meinst du inkrementelle Suche wie in "acb" tippen -> Ergebnis für "abc", "d" tippen -> Ergebnis für "abcd" usw.?
Genau das meine ich. Wie heißt der Fachausdruck dafür?
Ich glaube der Fachausdruck heisst eh inkrementelle Suche.
Wollte nur nachfragen, weil es für mich so sonnenklar ist, dass das in SQL nicht geht, dass ich mir grad nicht sicher war, ob du auch wirklich das meinst.