Schism управляемый рабочей нагрузкой подход к репликации и разделению баз данных

Epinions.com, два раздела


– набор данных основан на данных соответствующего Web-сайта социальной сети . Искусственным образом был сгенерирован набор из девяти транзакций, моделирующий наиболее популярные функциональные возможности Web-сайта – подробности см. в Приложении D. Чтобы получить возможность сравнить свои результатами с результатами разделения вручную, мы попросили заняться этим двух студентов магистратуры MIT. Они обнаружили, что наличие в схеме базы данных нескольких связей n-к-n (в которых фиксируются пользовательские рейтинги товаров и доверительные отношения между пользователями), а также существование нескольких паттернов доступа к данным в транзакциях делают эту задачу достаточно сложной. После нескольких часов анализа базы данных и рабочей нагрузки они нашли смешанную стратегию разделения и репликации, приводящую к 6% распределенных транзакций.

При наличии той же информации система Schism получила схему разделения на основе поисковой таблицы, обеспечивающую всего 4,5% распределенных транзакций. Это оказалось возможно, потому что система смогла обследовать социальный граф на уровне кортежей и обнаружила кластеры пользователей и товаров, к которым часто происходят совместные обращения, а обращения к кортежам за пределами этих кластеров редки. Поскольку в этой рабочей нагрузке в основном содержатся только читающие транзакции, кортежи, не присутствующие в исходной поисковой таблице (т.е. не затронутые транзакциями из обучающей выборки), реплицировались во всех разделах. Хэш-разделение и разделение по диапазонам значений привели к получению значительно худших результатов и не были выбраны Schism на фазе окончательной валидации.



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