Tencent Transaction Processing Testbed System (3TS) — это система, разработанная совместно командой TDSQL компании Tencent и Ключевой лабораторией инженерии данных и инженерии знаний Министерства образования Китайского народного университета. Система предназначена для разработки и построения унифицированной структуры обработки транзакций (включая распределённые транзакции). Она позволяет пользователям быстро создавать новые подходы к управлению параллелизмом через интерфейс доступа, предоставляемый структурой. На основе комплексного экспериментального исследования над бенчмарками и абстрагированными приложениями пользователи могут выбрать оптимальный подход к управлению параллелизмом. В настоящее время 3TS интегрировала 13 основных подходов к управлению параллелизмом и предоставляет общие бенчмарки, такие как TPC-C, PPS и YCSB. 3TS также предоставляет тест на уровень согласованности, чтобы решить проблему сложности выбора системы, вызванную взрывным развитием распределённых систем баз данных, и обеспечивает различение уровня согласованности и сравнение производительности.
Если вы хотите лучше понять цели нашего проекта, пожалуйста, ознакомьтесь с открытым объявлением 3TS.
Система проверки согласованности. Пожалуйста, проверьте новейшее обновление в ветке 'coo-consistency-check'.
Мы обновляем результаты на веб-странице отчёта.
Статический генератор случайных историй. Пожалуйста, проверьте новейшее обновление в ветке 'dev'.
Система проверки производительности и согласованности. Пожалуйста, проверьте новейшее обновление в ветке 'dev'.
make.sh
, чтобы скомпилировать код. Если компиляция прошла успешно, будет создан двоичный файл 3TS
.cp config/config.cfg.template config.cfg
, чтобы скопировать файл конфигурации.vi config.cfg
и измените его, чтобы определить поведение тестовой среды../3TS --conf_path=config.cfg
, чтобы выполнить тест. После завершения теста будет создан файл результатов теста.Структуру 3TS можно разделить на четыре части:
Target
, например, Target = ["FilterRun"]
.
FilterRun
: Выводит результат обнаружения каждого алгоритма для каждой истории, который можно фильтровать.BenchmarkRun
: Тестирует производительность, выводя стоимость времени каждого алгоритма, обнаруживающего аномалии из одинакового количества историй при разных количествах транзакций и переменных номеров элементов."SerializableAlgorithm_ALL_SAME_RU"
// стратегия незафиксированного чтения. «SerializableAlgorithm_ALL_SAME_RC» — стратегия чтения зафиксированных данных (чтение последней зафиксированной версии, что естественным образом позволяет избежать несериализуемых случаев, вызванных аномалией грязного чтения).«SerializableAlgorithm_ALL_SAME_RR» — стратегия повторяемого чтения (при повторном чтении одного и того же элемента переменной в одной транзакции чтение предыдущей версии, что естественным образом позволяет избежать несериализуемых случаев, вызванных аномалией неповторяемого чтения).
«SerializableAlgorithm_ALL_SAME_SI» — стратегия моментального снимка чтения (естественным образом позволяет избежать несериализуемых случаев, вызванных фантомной аномалией).
В основанных на стандарте сериализуемых алгоритмах все зафиксированные данные транзакций и окончательные версии соответствующих элементов переменных одинаковы для всех четырёх стратегий чтения.
«SerializableAlgorithm_COMMIT_SAME_RU» — стратегия незафиксированного чтения.
«SerializableAlgorithm_COMMIT_SAME_RC» — стратегия зафиксированного чтения.
«SerializableAlgorithm_COMMIT_SAME_RR» — стратегия повторяемого чтения.
«SerializableAlgorithm_COMMIT_SAME_SI» — стратегия моментального снимка чтения.
В основанных на стандарте сериализуемых алгоритмах только окончательные версии соответствующих элементов переменных одинаковы для всех четырёх стратегий чтения.
«SerializableAlgorithm_FINAL_SAME_RU» — стратегия незафиксированного чтения.
«SerializableAlgorithm_FINAL_SAME_RC» — стратегия зафиксированного чтения.
«SerializableAlgorithm_FINAL_SAME_RR» — стратегия повторяемого чтения.
«SerializableAlgorithm_FINAL_SAME_SI» — стратегия моментального снимка чтения.
Конфликтный сериализуемый алгоритм: «ConflictSerializableAlgorithm».
Динамическое пересечение линий (выявление аномалии): «DLI_IDENTIFY».
Сериализуемая изоляция моментальных снимков: «SSI».
Изоляция моментальных снимков записи: «WSI».
Обратный оптимистический контроль параллелизма: «BOCC».
Прямой оптимистический контроль параллелизма: «FOCC».
Для получения разъяснений по другим элементам конфигурации см. комментарии в файле конфигурации.
GPLv3 @ Tencent.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )