2012-08-08 9 views
5

Ich lese einige Dinge über gehostete (aka Cloud) Datenbanken. Zum Beispiel Cloudant bietet eine gehostete CouchDB-Datenbank oder Cassandra.io Angebote gehostet Cassandra. Ich verstehe, warum diese Dienste einige Probleme lösen.Gehostete Datenbanken: Wie wird die Latenz gehandhabt?

Meine Frage: Warum funktionieren diese Dienste? Ich nehme an, dass ich meine eigene Anwendung auf meinen eigenen Servern (oder irgendwo auf einer Cloud-Hosting-Plattform) hosten und einen dieser Dienste verwenden, um meine Daten zu speichern. Für jede Datenbankanforderung (entweder lesen oder schreiben) muss ich eine vollständige Rundreise über das Internet bezahlen (vorausgesetzt, meine Anwendung wird nicht an dem Ort gehostet, an dem mein Datenbank-Cloud-Anbieter verwendet wird). Warum töten mich diese Roundtrips nicht? Wenn man über SQL nachdenkt, würde jede Abfrage nur für das Netzwerk ein weiteres x * 10ms kosten, ohne dass Zeit dafür aufgewendet wird.

Wie ist dieses Problem gelöst? Oder sind diese Dienste nicht für Anwendungen geeignet, die schnelle Antworten benötigen und nur für die Datenverarbeitung verwendet werden können, bei der die Latenz kein Problem darstellt?

Antwort

1

Im Allgemeinen befinden sich die physischen Hosts von gehosteten Datenbankdiensten normalerweise in wichtigen Datenzentren (z. B. AWS). Um die Netzwerklatenz zu reduzieren, können Kunden wählen, ob sie ihre Anwendung auf Servern hosten möchten, die sich in dem physisch gleichen Datenzentrum befinden, in dem sich ihre gehosteten Datenbanken befinden.

Die meisten Hochleistungsanwendungen und/oder Websites, die keine gehosteten Datenbankdienste verwenden, verwalten ihre Anwendungsserver und ihre Datenbankserver aus Leistungsgründen normalerweise auf separaten Hosts. Kurz gesagt, würde der Wechsel zum gehosteten Datenbankdienst nicht notwendigerweise die Netzwerklatenz erhöhen.