4 Stimmen

Welches sind die RDBMS, die die Server-Roundtrips minimieren? Welche RDBMS sind (in diesem Bereich) besser als MS SQL?

WICHTIGER HINWEIS: Ich habe viele Antworten erhalten und ich danke Ihnen allen. Aber alle Antworten sind mehr Kommentare als Antworten. Meine Frage bezieht sich auf die Anzahl der Roundtrips pro RDBMS. Eine erfahrene Person sagte mir, dass MySQL weniger Roundtrips hat als Firebird. Ich möchte, dass die Antwort in demselben Bereich bleibt. Ich stimme zu, dass dies nicht die erste Sache ist, die zu berücksichtigen ist, es gibt viele andere (Anwendungsdesign, Netzwerkeinstellungen, Protokolleinstellungen...), trotzdem möchte ich eine Antwort auf meine Frage erhalten, keinen Kommentar. Übrigens fand ich die Kommentare alle sehr nützlich. Vielen Dank!

Wenn die Latenzzeit hoch ist ("wenn das Anpingen des Servers Zeit in Anspruch nimmt"), machen die Server-Roundtrips den Unterschied aus.

Ich möchte mich jetzt nicht auf die in der Programmierung erzeugten Roundtrips konzentrieren, sondern auf die Roundtrips, die "unter der Haube" in der DB-Engine+Protokoll+DataAccessLayer stattfinden.

Mir wurde gesagt, dass FireBird hat mehr Roundtrips als MySQL . Aber das sind die einzigen Informationen, die ich kenne.

Ich unterstütze derzeit MS SQL, möchte aber das RDBMS wechseln. Um eine kluge Wahl zu treffen, möchte ich auch diesen Punkt in meine RDBMS-Vergleichsmatrix" aufnehmen, um zu verstehen, welches das beste RDBMS ist, das man als Alternative zu MS SQL wählen kann.

Der fettgedruckte Satz oben würde mich dazu bringen, MySQL gegenüber Firebird zu bevorzugen (für das Roundtrips-Konzept, nicht im Allgemeinen), aber kann jemand Informationen hinzufügen?

Und MS SQL, wo befindet es sich? Ist jemand in der Lage, die Roundtrip-Performance der wichtigsten RDBMS zu bewerten, oder zumindest: MS SQL, MySql, Postegresql, Firebird (Ich bin nicht an Oracle interessiert, da es nicht kostenlos ist, und wenn ich wechseln muss, würde ich zu einem kostenlosen RDBMS wechseln).

Wie auch immer, MySql (wie mehrfach auf stackoverflow erwähnt) hat eine unklare Zukunft und eine nicht 100% freie Lizenz. Also meine endgültige Wahl wird wahrscheinlich dall auf PostgreSQL oder Firebird.

Zusätzliche Informationen:

Sie können meine Frage irgendwie beantworten, indem Sie eine einfache Liste erstellen:

MSSQL:3;

MySQL:1;

Feuervogel:2;

Postgresql:2

(wobei 1 gut, 2 durchschnittlich und 3 schlecht ist). Wenn Sie natürlich einige Links posten können, in denen die Roundtrips pro RDBMS verglichen werden, wäre das großartig

Aktualisierung:

Ich verwende Delphi und habe vor, DevArt DAC (UNIDAC) zu verwenden, so dass irgendwie die "gleiche" Data Access-Komponente verwendet wird. Wenn es also signifikante Roundtrip-Unterschiede gibt, so sind diese auf die verschiedenen verwendeten RDBMS zurückzuführen.

Weitere Aktualisierung:

Ich habe eine 2-Tier-Anwendung (das Einfügen einer mittleren Schicht ist keine Option), so dass ich durch die Wahl eines RDBMS, das "roundtrip-side" optimiert ist, eine Chance habe, die Leistung der Anwendung weiter zu verbessern. Diese Art von "Optimierung" ist vergleichbar mit "eine schnellere Internetverbindung kaufen" oder "mehr Arbeitsspeicher auf dem Server installieren" oder "die Server-CPUs aufrüsten". Aber auch diese "Optimierungen" sind wichtig.

5voto

Panagiotis Kanavos Punkte 102979

Warum konzentrieren Sie sich auf Rundreisen? Normalerweise sollten sie Ihre Leistung nicht beeinträchtigen, es sei denn, Sie haben ein sehr langsames und unzuverlässiges Netz. Der Unterschied zwischen ODBC- und OLEDB-Treibern für eine beliebige Datenbank beträgt beispielsweise fast eine Größenordnung zugunsten von OLEDB.

Wenn Sie zu MySQL oder Firebird gehen und ODBC anstelle von OLEDB/ADO.NET-Treibern verwenden, entsteht Ihnen ein Overhead, der um ein Vielfaches größer ist als die Roundtrips, die Sie vielleicht einsparen.

4voto

Der Code Ihrer Anwendung und die Art und Weise, wie und wann auf Daten zugegriffen und diese übertragen werden, wirken sich bei langsamen Verbindungen oder hohen Latenzzeiten wesentlich stärker aus als das DB-Netzwerkprotokoll selbst. Einige Datenbankprotokolle können so eingestellt werden, dass sie in ungewöhnlichen Szenarien besser funktionieren, z. B. durch Vergrößerung oder Verkleinerung der Datenpakete. Auch auf der TCP/IP-Schicht selbst kann es zu einer Verlangsamung kommen, was ebenfalls eine TCP/IP-Abstimmung erfordern könnte.

3voto

Fabricio Araujo Punkte 3938

Bis v2.1 erzeugt Firebird sicherlich mehr Datenverkehr als MS SQL Server. Ich habe einen Freund, der eine MSSQL C/S-Anwendung hier in Brasilien entwickelt hat, wo die Datenbank in einem Rechenzentrum gehostet wird. Die Client-Applikationen laufen in vielen Geschäften, die sich direkt mit dem Server über VPN/Internet verbinden, wobei Endbenutzer-Breitbandverbindungen (meist 1Mbps) verwendet werden, und das seit mehr als 5 Jahren ohne Probleme. Die Entfernungen reichen von einigen Hundert bis zu Tausenden von Kilometern vom Rechenzentrum.

Nach v2.1 kann ich nicht herausfinden, ob dies immer noch zutrifft, da ich seitdem keinen fairen Vergleich mehr gemacht habe und das Firebird Remote-Protokoll geändert wurde, um den Netzwerkverkehr auf langsamen Verbindungen zu optimieren. Mehr auf FirebirdSQL-Website .

Zu PostGres oder MySQL kann ich nichts sagen, da ich sie nicht verwendet habe.

2voto

used2could Punkte 4958

Ich kann keine detaillierten Angaben machen, aber ich befand mich vor einiger Zeit in einer ähnlichen Situation, als ich aus Budgetgründen nach Alternativen zu MS SQL suchte. Ich und 4 andere verbrachten einige Zeit damit, MySQL, Postgres und FireBird zu vergleichen.

Da wir lange Zeit mit MySQL gearbeitet haben, haben wir es für die meisten unserer größeren Projekte schnell ausgeschlossen. Die Entscheidung fiel zwischen Postgres y FireBird . Eine Sache, die gerade am Anfang stand, war der Mangel an populärer Unterstützung/Dokumentation bei FireBird im Gegensatz zu Postgres. Unsere Bench-Tests hatten immer entweder Postgres als Aufsatz oder auf einer Ebene mit FireBird , nie unter. Was die Funktionen angeht, so hat Postgres wieder unsere Bedürfnisse erfüllt, während wir bei FiredBird kreative Lösungen finden mussten.

Nachfolgend finden Sie eine Funktionsvergleichstabelle . ich gebe zu, es ist jetzt ein bisschen veraltet, aber immer noch sehr hilfreich :

Hier ist auch ein langes Forum Diskussionsfaden der Unterschied

G

1voto

Cade Roux Punkte 85601

Manchmal liegen die "Roundtrips" auch in der Protokoll- oder Datenzugriffsschicht, nicht in der "DB-Engine".

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X