Ich erstelle zuerst eine Datenbank und Prototyping und Benchmarking. Ich verwende H2, eine Open-Source-, kommerziell freie, einbettbare, relationale Java-Datenbank. Ich bin momentan nicht in irgendeiner Spalte indexiert.Was verlangsamt die wachsende Datenbankleistung?
Nachdem die Datenbank auf etwa 5 GB angewachsen war, verdoppelte sich die Batch-Schreibgeschwindigkeit (die Schreibgeschwindigkeit wurde um das Zweifache der ursprünglichen Rate verringert). Ich schrieb ungefähr 25 Zeilen pro Millisekunden mit einer frischen, sauberen Datenbank und schreibe jetzt bei 7GB ungefähr 7 Zeilen/ms. Meine Zeilen bestehen aus einem kurzen, einem int, einem float und einem Byte [5].
Ich weiß nicht viel über Datenbank Interna oder sogar wie H2 programmiert wurde. Ich möchte auch erwähnen, dass ich H2 nicht schlecht mache, da dies ein Problem mit anderen DBMS ist, die ich getestet habe.
Welche Faktoren können die Datenbank so verlangsamen, wenn kein Indexing-Overhead vorhanden ist? Hat es hauptsächlich etwas mit der Dateisystemstruktur zu tun? Aus meinen Ergebnissen gehe ich davon aus, dass die Art, wie Windows XP und ntfs mit Dateien umgehen, es langsamer macht, Daten an das Ende einer Datei anzuhängen, wenn die Datei wächst.
Ich habe vergessen zu erwähnen, dass mein Byte [5] -Feld tatsächlich in einem Blob-Feld (Feld variabler Länge) sitzt. Das könnte etwas damit zu tun haben. Vielen Dank für Ihre schnellen Antworten. –