Как Swift-Open Stack Storage System управляет метаданными файлов? - PullRequest
1 голос
/ 25 ноября 2011

Я работаю над написанием статьи в облачном хранилище.

Я изучаю систему хранения Openstack под названием Swift.

На странице: http://swift.openstack.org/overview_architecture.html

Объектный сервер Object Server - очень простой сервер хранения больших двоичных объектов, который может хранить, извлекать и удалять объекты, хранящиеся на локальных устройствах. Объекты хранятся в виде двоичных файлов в файловой системе, а метаданные хранятся в расширенных атрибутах файла (xattrs). Это требует, чтобы базовый выбор файловой системы для объектных серверов поддерживал xattrs для файлов. Некоторые файловые системы, например ext3, по умолчанию отключили xattrs.

Означает ли это, что Swift не отделяет метаданные от содержимого файла? Будет ли это создавать узкие места в огромном количестве доступа к метаданным или поиска? При каждом доступе к объекту головы будет ли он проходить через файловую систему для поиска метаданных?

Спасибо

Ответы [ 2 ]

3 голосов
/ 02 мая 2013

Swift использует преимущества хэша md5 и своих собственных структур данных кольца для поиска пути к файлу. Когда он находит файл, он читает xattrs вместе с файлом. В результате ему не нужно читать все метаданные в файловой системе.

0 голосов
/ 28 ноября 2011

Эта книга может немного помочь вам в понимании Свифта.Однако эта книга не дает ответа на ваш вопрос, но может помочь вам подумать, как он хранится.Для лучшего понимания вам обязательно нужно взломать код swift для себя и посмотреть или приблизиться к списку рассылки swift, т.е.Также найдите следующую ссылку Swift Api docs

...