За два последних десятилетия появилось много интересных подходов и новинок в области распределенных систем, баз данных и клиентских приложений, работающих с ними. Объемы хранимых данных показывают практически экспоненциальный рост год к году. Растет количество подключенных устройств, а вслед за ними и нагрузки на распределенные системы. Компаниям, сталкивающимся с подобным ростом даных и нагрузок приходится использовать новые продукты, появляющиеся на рынке или даже разрабатывать собственные. Предпочтение часто отдается свободному ПО с открытым исходным кодом. Толерантность к простоям таким систем становится все ниже, так как они часто являются интерактивными, то есть взаимодействуют с конечным пользователем. В докладе я рассмотрю внутреннее устройство одной из таких систем — YDB. Это распределенная отказоустойчивая масштабируемая база данных с открытым исходным кодом. Рассмотрю ключевые алгоритмы, выбор который мы сделали при проектировании YDB. Расскажу про эволюцию системы и ее будущее развитие. Я затрону такие аспекты как: - надежность, масштабируемость, обслуживание; - протоколы взаимодействия; - клиент-серверное взаимодействие в современных распределенных системах; - мониторинг распределенных систем; - выбор модели данных и языка запросов; - подходы к хранению данных на различных типах накопителей; - репликация в распределенных системах; - различные подходы к партицированию; - поддержка распределенных транзакций, ACID, уровни изоляции и аномалии; - проблемы распределенных систем; - согласованность и консенсус; - эволюция распределенных баз данных. Презентация – Сайт –
Hide player controls
Hide resume playing