Maximale Anzahl von Datenbankeinfügungen pro Sekunde

Maximale Anzahl von Datenbankeinfügungen pro Sekunde

Ich möchte ein System entwerfen, das sehr viele Datensätze empfangen kann.

Gibt es eine feste Begrenzung für die Anzahl der Einfügungen, die Sie pro Sekunde in eine Datenbank durchführen können?

Wir verwenden normalerweise MS SQL Server. Ist Oracle besser? Ist es möglich, mit einer No-SQL-Cloud-Lösung eine bessere Leistung zu erzielen?

Antwort1

Ich kenne kein Datenbanksystem, das eine künstliche Begrenzung der Anzahl von Operationen pro Sekunde hat, und wenn ich eines finden würde, das dies täte, wäre ichfuchsteufelswild. Ihr einziger begrenzender Faktor sollten die praktischen Einschränkungen Ihres Betriebssystems und Ihrer Hardware sein, insbesondere der Festplattendurchsatz.

Der Rest Ihrer Frage (welche Datenbank ist „besser“) hängt von Ihrer Implementierung und Ihren Anforderungen ab. Wenn Sie nur Daten in einen Bucket kopieren, ist eine NoSQL-Lösung wieMongoDBkönnen geeignet sein und ihre Leistung kann recht beeindruckend sein. Wenn Ihre Daten stark relational sind, sind SQL-basierte RDBMS-Systeme die bessere Wahl.

Bei jedem SQL-basierten RDBMS sollten Sie damit rechnen, einige Zeit damit zu verbringen, das System für optimale Leistung zu optimieren. Ihr Datenbankanbieter verfügt wahrscheinlich über einen kleinen Berg an Dokumentation zu diesem Thema, und der Unterschied zwischen einem optimal abgestimmten System und einem, das einfach auf die Hardware gesetzt wurde, kann dramatisch sein.

Antwort2

Ich bin über diesen Beitrag gestolpert, als ich nach den Gründen für die interessanten Ergebnisse einiger meiner eigenen Leistungstests gesucht habe.

Ich habe Tests auf Postgres durchgeführt, um zu sehen, wie sich die Leistung durch Gruppieren meiner Einfügungen verbessern lässt. Anstatt jeweils eine Einfügung durchzuführen, füge ich mehrere in eine große SQL-Zeichenfolge ein und führe dann diese SQL aus.

Ich wusste schon beim Testen, dass ich mit einer besseren Leistung rechnen konnte, je mehr ich zusammenfügte, da der Overhead im Vergleich zu den tatsächlichen Daten minimiert wurde. Ich dachte auch, dass die Leistung irgendwann nachlassen würde, da der Overhead durch die erneute Übertragung entsteht, wenn in einer so langen Zeichenfolge ein einziger Bitfehler auftritt.

Womit ich nicht gerechnet hatte, waren meine experimentellen Ergebnisse. Ich bin mir nicht sicher, wie ich diese Daten erklären soll. Vielleicht kann jemand, der mehr darüber weiß, versuchen, sie zu erklären.

Alt-Text

verwandte Informationen