XTX Markets открывает исходный код TernFS, своей распределённой файловой системы экзабайтного масштаба
XTX Markets открывает исходный код TernFS, облачной распределённой файловой системы эксабайтного масштаба, созданной для работы с триллионами файлов и миллионами клиентов.
XTX Markets объявила, что её собственная файловая система TernFS теперь доступна как программное обеспечение с открытым исходным кодом: компоненты основной файловой системы распространяются под лицензией GPL-2.0-or-later, а определения протоколов и клиентские библиотеки — под лицензией Apache-2.0 с исключением LLVM.
Изначально созданная для обработки огромных потребностей компании в данных, TernFS предназначена для хранения данных экзабайтного масштаба, поддерживая триллионы файлов и миллионы клиентов одновременно.
И теперь эти возможности стали публично доступными для всех, поскольку TernFS выходит на сцену, присоединяясь к проектам, таким как Ceph, Lustre и GlusterFS, которые долгое время доминировали в этой области. Но прежде чем мы продолжим, давайте немного подробнее рассмотрим саму файловую систему.
TernFS используется в XTX с середины 2023 года, управляя более чем 500 петабайтами данных в трёх дата-центрах, поддерживаемых приблизительно 30 000 жёстких дисков и 10 000 флэш-накопителей. Система создана для масштабирования гораздо дальше — до 10 экзабайт логического хранилища, триллионов файлов и миллионов одновременных клиентов.
Дизайн TernFS делает акцент на неизменяемости, надежности и работе в нескольких регионах. Файлы становятся неизменяемыми после записи, что упрощает репликацию и обеспечение согласованности в масштабах. Метаданные распределены по нескольким шардам, что устраняет единые точки отказа, а репликация и кодирование Рида–Соломона обеспечивают избыточность.
Ключевые компоненты включают:
- Регистр для метаданных кластера и отслеживания сервисов
- Метаданные шардов с использованием RocksDB с консенсусом через LogsDB
- Блокировать сервисы для хранения содержимого файлов с резервированием на разных узлах
- Координатор между каталогами для операций, охватывающих несколько каталогов
Доступ поддерживается через модуль ядра Linux, клиент FUSE и минимальную реализацию API S3. Система оптимизирована для работы с большими, неизменяемыми файлами — обычно больше нескольких мегабайт. Это означает, что она плохо подходит для маленьких файлов, частых обновлений или операций с каталогами, требующих быстрых изменений.
Для получения дополнительной информации смотрите объявление или посетите недавно опубликованный репозиторий на GitHub.


Добавить комментарий