Поисковый стартап Kosmix выпустил открытый исходный текст распределённой файловой системы KosmosFS, аналогичной Гугловой GFS. Отличие от такого же проекта Hadoop -- язык реализации, C++ (в отличие от Java в Hadoop).
И хотя выпущеная версия 0.01 является альфа-версией, она обладает впечатляющим набором возможностей для альфа-версии:
- Наращиваемая масштабируемость. Новый сервер (узел кластера) для чанков легко добавляется в систему по мере необходимости, система автоматически настраивается к новыми узлами в кластере.
- Надежность. Ес-но данные дублируются и резервируются на случай падения какого-либо чанк-сервера. Однако в данный момент система критична к падению мастер-сервера.
- Ребалансировка. Периодически мета-сервер может балансировать распределение чанков по чанк-серверам. Это помогает равномерно использовать дисковое пространство на всех чанк-серверах.
- Целостность данных. Для защиты от повреждений данных при сбое жесткого диска, каждый чанк защищается контрольной суммой, которая проверяется при каждой операции чтения. При несовпадении контрольной суммы, данные восстанавливаются из реплицированой копии.
- Если клиентская бибилиотека во время операции чтения обнаружит падение какого-то чанк-сервера, она переключится на другой чак-сервер прозрачно для клиентского приложения.
- Клиентские бибилиотеки сеществуют для языков: C++, Java, и Python.
- Поддеживается Linux FUSE. Если KFS монтируется через FUSE, она становится доступной для обычных системных утилит (таких, как ls).
- Клиентская бибилиотека поддерживает кэширование для увеличения производительности.
Однако размер KosmosFS, 21 мегабайт в tar.gz архиве, напрочь отбил всё желание его посмотреть, -- это же примерно пол-Яндекса в исходниках! Монстр какой-то...