Рационализация согласованности в облаках

Эксперимент 1: стоимость в расчете на транзакцию


Основная суть этой статьи состоит в оптимизации общей стоимости транзакции – стоимости, выраженной в долларах. Эта стоимость включает как стоимость выполнения транзакции, так и расходы, возникающие при продаже товаров сверх наличных запасов. В нашем первом эксперименте, результаты которого показаны на рис. 3, мы сравниваем общую стоимость транзакции при соблюдении разных гарантий согласованности.

Рис. 3. Стоимость транзакции ($/1000 транзакций); изменяются гарантии

Для данных категории A стоимость 1000 транзакций составляет примерно $0.15. Для данных категории C стоимость существенно зависит от распределения операций обновления. Для сильно скошенных распределений "80-20" возникает много продаж сверх имеющихся запасов из-за высокого уровня конкуренции операций записи за несколько записей данных. Для обеспечения адаптивной гарантии согласованности мы использовали Динамическую политику, поскольку она лучше всего подходит для сценария Internet-магазина. Эта политика обеспечивает наименьшую стоимость транзакций. Динамическая политика способствует нахождению правильного баланса между слабой согласованностью (позволяющей экономить расходы в время выполнения) и строгой согласованностью (гарантирующей отсутствие продаж сверх наличных запасов).

Рис. 4. Стоимость транзакции ($/1000 транзакций); изменяются расходы, вызываемые несогласованностью данных

На общую стоимость сильное влияние оказывает размер расходов, вызываемых несогласованностью данных. Это влияние демонстрируется на рис. 4. Для данных категории A общая стоимость транзакции при изменении размера этих расходов остается неизменной, поскольку несогласованность данных не возникает, и штрафных расходов просто нет. При возрастании размера расходов общая стоимость транзакций при применении Динамической политики приближается к стоимости транзакций с данными категории A. Динамическая политика настраивается на изменений размера штрафных расходов (см. п. 5.3.3) и при увеличении этого размера вынуждает выполняться в режиме строгой согласованности все большее число транзакций. Стоимость транзакций для данных категории C поразительно быстро растет. При увеличении размера штрафных расходов до $0.1 общая стоимость тысячи транзакций возрастает до $0.74 ($23) для равномерного распределения операций обновления (распределения "80-20"). Поэтому график возрастания стоимости транзакций для данных категории C на рис. 4 не показан.

Экстраполяция результатов экспериментов с использованием Динамической политики на приложения реального мира (такие как Amazon или eBay) показывает, что этот подход может привести к значительной экономии расходов.

Рис. 5. Время ответа (миллисекунды)



Содержание раздела