Размещенные базы данных: как обрабатываются задержки?

Я кое-что читал о размещенных (они же облачных) базах данных. Например, Cloudant предлагает размещенную базу данных CouchDB или Cassandra.io предлагает размещение Cassandra. Я понимаю, почему эти сервисы решают некоторые проблемы.

Мой вопрос: Почему эти сервисы работают? Я полагаю, что размещаю собственное приложение на своих серверах (или где-то на платформе облачного хостинга) и использую один из этих сервисов для хранения своих данных. Для каждого запроса к базе данных (чтение или запись) мне нужно оплатить полный цикл передачи через Интернет (предположим, что мое приложение не размещено в том же месте, что и мой поставщик облачных баз данных). Почему меня не убивают эти круговые обращения? Говоря о SQL, каждый запрос будет стоить еще x*10 мс только для сети, без каких-либо затрат времени.

Как решается эта проблема? Или эти сервисы не подходят для приложений, которым требуется быстрый отклик, и могут использоваться только для обработки данных, когда задержка не является проблемой?


person theomega    schedule 08.08.2012    source источник


Ответы (1)


как правило, физические хосты размещенных служб баз данных обычно находятся в крупных центрах обработки данных (например, AWS). Чтобы уменьшить задержку в сети, клиенты могут выбрать, размещать ли свое приложение на серверах, которые находятся в том же физическом центре обработки данных, что и их размещенные базы данных.

Большинство высокопроизводительных приложений и/или веб-сайтов, которые не используют размещенные службы баз данных, обычно поддерживают свои серверы приложений и свои серверы баз данных на отдельных хостах в любом случае из соображений производительности. Короче говоря, переход на службу размещенной базы данных не обязательно приведет к увеличению задержки в сети.

person Lea Krause    schedule 29.09.2012