Jump to content

Контентно-адресуемое хранилище

Хранилище с адресацией по содержимому ( CAS ), также называемое хранилищем с адресацией по содержимому или хранилищем с фиксированным содержимым , представляет собой способ хранения информации, чтобы ее можно было получить на основе ее содержимого, а не ее имени или местоположения. Он использовался для высокоскоростного хранения и извлечения фиксированного контента, например документов, хранящихся в соответствии с государственными постановлениями. [ нужна ссылка ] . Хранилище с адресацией по содержимому аналогично памяти с адресацией по содержимому .

Системы CAS работают, передавая содержимое файла через криптографическую хеш-функцию для генерации уникального ключа, «адреса содержимого». файловой системы хранятся В каталоге эти адреса и указатель на физическое хранилище содержимого. Поскольку попытка сохранить один и тот же файл приведет к созданию одного и того же ключа, системы CAS гарантируют, что файлы внутри них уникальны, а поскольку изменение файла приведет к созданию нового ключа, системы CAS гарантируют, что файл не изменится.

CAS стал важным рынком в 2000-х годах, особенно после принятия в 2002 году Закона Сарбейнса-Оксли в США , который требовал хранения огромного количества документов в течение длительных периодов времени и извлекался лишь изредка. Постоянно растущая производительность традиционных файловых систем и новых программных систем снизила ценность устаревших систем CAS, которые примерно с 2018 года становятся все более редкими. [ нужна ссылка ] . Тем не менее, принципы адресации контента по-прежнему представляют большой интерес для ученых-компьютерщиков и составляют основу многочисленных новых технологий, таких как одноранговый обмен файлами , криптовалюты и распределенные вычисления .

Описание [ править ]

Подходы, основанные на местоположении [ править ]

Традиционные файловые системы обычно отслеживают файлы по их имени . На носителях с произвольным доступом, таких как дискета , это достигается с помощью каталога , состоящего из своего рода списка имен файлов и указателей на данные. Указатели относятся к физическому местоположению на диске, обычно с использованием секторов диска . В более современных системах и более крупных форматах, таких как жесткие диски , каталог сам разделен на множество подкаталогов, каждый из которых отслеживает подмножество общей коллекции файлов. Подкаталоги сами по себе представлены в виде файлов в родительском каталоге, образуя иерархическую или древовидную организацию. Ряд каталогов, ведущих к определенному файлу, известен как «путь». [1]

В контексте CAS эти традиционные подходы называются «с адресацией по местоположению», поскольку каждый файл представлен списком из одного или нескольких местоположений, пути и имени файла в физическом хранилище. В этих системах один и тот же файл с двумя разными именами будет храниться на диске как два файла и, следовательно, иметь два адреса. То же самое верно, если один и тот же файл, даже с одним и тем же именем, хранится более чем в одном месте иерархии каталогов. Это делает их далеко не идеальными для цифрового архива , где любая уникальная информация должна храниться только один раз. [2]

Поскольку концепция иерархического каталога стала более распространенной в операционных системах, особенно в конце 1980-х годов, этот тип шаблона доступа начал использоваться совершенно несвязанными системами. Например, во Всемирной паутине используется аналогичная система пути/имени файла, известная как URL-адрес для указания на документы . Тот же документ на другом веб-сервере имеет другой URL-адрес, несмотря на идентичное содержимое. Аналогичным образом, если существующее местоположение каким-либо образом изменится, если изменится имя файла или сервер перейдет на новое имя службы доменных имен , документ больше не будет доступен. Это приводит к распространенной проблеме гниения ссылок . [2]

CAS и FCS [ править ]

Хотя хранение на основе местоположения широко используется во многих областях, так было не всегда. Раньше наиболее распространенным способом получения данных из большой коллекции было использование какого-либо идентификатора на основе содержимого документа. Например, система ISBN используется для создания уникального номера для каждой книги. Если выполнить поиск в Интернете по запросу «ISBN 0465048994», вам будет предоставлен список мест, где можно найти книгу « Почему информация растет » на тему хранения информации. Хотя будет возвращено множество местоположений, все они относятся к одной и той же работе, и пользователь может выбрать наиболее подходящее расположение. Кроме того, если какое-либо из этих мест изменится или исчезнет, ​​контент можно будет найти в любом другом месте. [2]

Системы CAS пытаются автоматически выдавать результаты, подобные ISBN, для любого документа. Они делают это, используя криптографическую хеш-функцию данных документа для создания того, что иногда называют «ключом» или «отпечатком пальца». Этот ключ сильно привязан к точному содержимому документа: например, добавление одного пробела в конце файла приведет к созданию другого ключа. В системе CAS каталог не сопоставляет имена файлов с местоположениями, а вместо этого использует ключи. [2]

Это дает несколько преимуществ. Во-первых, когда файл отправляется на хранение в CAS, хеш-функция создает ключ, а затем проверяет, существует ли этот ключ уже в каталоге. Если да, то файл не сохраняется, поскольку уже находящийся в хранилище идентичен. Это позволяет системам CAS легко избежать дублирования данных. Кроме того, поскольку ключ основан на содержимом файла, получение документа с заданным ключом гарантирует, что сохраненный файл не был изменен. Недостатком этого подхода является то, что любые изменения в документе создают другой ключ, что делает системы CAS непригодными для файлов, которые часто редактируются. По всем этим причинам системы CAS обычно используются для архивов преимущественно статичных документов. [2] и иногда их называют «фиксированным хранилищем контента» (FCS). [3]

Поскольку ключи не читабельны для человека, системы CAS реализуют каталог второго типа, в котором хранятся метаданные , которые помогут пользователям найти документ. Они почти всегда включают имя файла, что позволяет использовать классический поиск по имени. Но каталог также будет включать поля для общих систем идентификации, таких как коды ISBN или ISSN , ключевые слова, предоставленные пользователем, отметки времени и даты, а также полнотекстового поиска индексы . Пользователи могут выполнять поиск в этих каталогах и получать ключ, который затем можно использовать для получения фактического документа. [2]

Использование CAS очень похоже на использование поисковой системы в Интернете . Основное отличие состоит в том, что веб-поиск обычно выполняется по темам с использованием внутреннего алгоритма, который находит «связанный» контент, а затем создает список мест. Результатом может быть список идентичного контента в нескольких местах. В CAS для одного поиска может быть возвращено более одного документа, но каждый из этих документов будет уникальным и представлен только один раз.

Еще одним преимуществом CAS является то, что физическое местоположение в хранилище не является частью системы поиска. библиотеки Если, например, в карточном каталоге указано, что книгу можно найти на «полке 43, ящике 10», то при реорганизации библиотеки необходимо обновить весь каталог. Напротив, ISBN не изменится, и книгу можно найти, найдя полку с этими номерами. В настройках компьютера файл в файловой системе DOS по пути A:\myfiles\textfile.txt указывает на физическое хранилище файла в подкаталоге myfiles. Этот файл исчезает, если дискета перемещается на диск B:, и даже перемещение его местоположения в иерархии диска требует обновления каталогов, доступных пользователю. В CAS меняется только внутреннее сопоставление ключа с физическим местоположением, и оно существует только в одном месте и может быть спроектировано для эффективного обновления. Это позволяет перемещать файлы между устройствами хранения и даже между носителями, не требуя каких-либо изменений в процессе поиска.

Для данных, которые часто меняются, CAS не так эффективен, как адресация на основе местоположения. В этих случаях устройству CAS потребуется постоянно пересчитывать адрес данных по мере его изменения. Это приведет к сохранению нескольких копий всего почти идентичного документа - проблема, которую CAS пытается избежать. Кроме того, каталоги, предназначенные для пользователей, должны будут постоянно обновляться этими «новыми» файлами, которые будут загрязняться множеством похожих документов, что затруднит поиск. Напротив, обновление файла в системе, основанной на местоположении, высоко оптимизировано, необходимо изменить только внутренний список секторов, и к этой операции были применены многолетние настройки.

Поскольку CAS используется в основном для архивирования, удаление файлов часто строго контролируется или даже невозможно под контролем пользователя. Напротив, автоматическое удаление является обычной функцией, при которой удаляются все файлы старше некоторых установленных законом требований, скажем, десяти лет. [2]

В распределенных вычислениях [ править ]

Самый простой способ реализовать систему CAS — хранить все файлы в типичной базе данных, к которой клиенты подключаются для добавления, запроса и извлечения файлов. Однако уникальные свойства адресации контента означают, что эта парадигма хорошо подходит для компьютерных систем, в которых несколько хостов совместно управляют файлами без центрального органа управления, таких как распределенные системы обмена файлами , в которых физическое местоположение размещенного файла может быстро меняться в зависимости от типа файла. реакция на изменения в топологии сети, при этом точное содержимое извлекаемых файлов имеет большее значение для пользователей, чем их текущее физическое местоположение. В распределенной системе хэши контента часто используются для быстрого поиска определенных файлов по всей сети или для быстрого просмотра того, какие данные в данном файле были изменены и должны быть переданы другим членам сети с минимальным использованием полосы пропускания . В этих системах адресация контента позволяет абстрагировать весьма изменчивую топологию сети от пользователей, желающих получить доступ к данным, по сравнению с такими системами, как Всемирная паутина , в которой постоянное расположение файла или службы является ключом к простоте использования.

Сети, адресуемые по контенту [ править ]

Сеть с адресацией по содержимому (CAN) представляет собой распределенную децентрализованную инфраструктуру P2P , которая обеспечивает хеш-таблиц функциональность в масштабах, подобных Интернету . CAN был одним из первых четырех предложений распределенных хеш-таблиц , представленных одновременно с Chord , Pastry и Tapestry .

История [ править ]

Аппаратное устройство под названием Content Addressable File Store (CAFS) было разработано компанией International Computers Limited (ICL) в конце 1960-х годов и введено в эксплуатацию компанией British Telecom в начале 1970-х годов для поиска в телефонном справочнике . Доступная пользователю функция поиска поддерживалась контроллером диска с высокоуровневым интерфейсом прикладного программирования (API), поэтому пользователи могли отправлять запросы в нечто, похожее на черный ящик , который возвращал документы. Преимущество заключалось в том, что во время поиска диск не требовал обмена информацией с главным компьютером.

Пол Карпентье и Ян ван Риель придумали термин CAS, работая в компании FilePool в конце 1990-х годов. FilePool был приобретен корпорацией EMC в 2001 году и выпущен в следующем году под названием Centera. [4] Время было выбрано идеально; Введение Закона Сарбейнса-Оксли в 2002 году потребовало от компаний хранить огромные объемы документации в течение длительных периодов времени и требовало, чтобы они делали это таким образом, чтобы гарантировать, что они не будут редактироваться постфактум. [5]

Вскоре появился ряд подобных продуктов от других поставщиков крупных систем. В середине 2004 года отраслевая группа SNIA начала работать с рядом поставщиков CAS над созданием стандартов поведения и рекомендаций по совместимости для систем CAS. [6]

Помимо CAS, появился ряд аналогичных продуктов, которые добавили возможности CAS к существующим продуктам; примечательным среди них был IBM Tivoli Storage Manager . Развитие облачных вычислений и связанных с ними эластичных облачных систем хранения данных, таких как Amazon S3, еще больше снизило ценность выделенных систем CAS. Dell приобрела EMC в 2016 году и прекратила продажи оригинальной Centera в 2018 году в пользу своего продукта эластичного хранилища. [7]

CAS не был связан с одноранговыми приложениями до 2000-х годов, когда быстрое распространение доступа в Интернет в домах и на предприятиях привело к тому, что большое количество пользователей компьютеров захотели обмениваться файлами, первоначально делая это с помощью централизованно управляемых сервисов, таких как Napster . Однако судебный запрет против Napster побудил к независимому развитию сервисов обмена файлами, таких как BitTorrent , которые нельзя было централизованно закрыть. Чтобы функционировать без центрального сервера федерации, эти службы в значительной степени полагаются на CAS, обеспечивающий точное копирование и простой запрос уникальных файлов. В то же время рост движения за программное обеспечение с открытым исходным кодом в 2000-х годах привел к быстрому распространению сервисов на основе CAS, таких как Git , система контроля версий , которая использует многочисленные криптографические функции, такие как деревья Меркла, для обеспечения целостности данных между пользователями. и позволяют использовать несколько версий файлов с минимальным использованием диска и сети. Примерно в это же время отдельные пользователи криптографии с открытым ключом использовали CAS для хранения своих открытых ключей в таких системах, как серверы ключей .

Рост мобильных вычислений высокой пропускной способности и сетей мобильной широкополосной связи в 2010-х годах в сочетании с растущей зависимостью от веб-приложений с локационной адресацией, для повседневных вычислительных задач ухудшил существующую модель клиент-сервер обычную для интернет-сервисов, что привело к ускорению темпов разрушения каналов. и растущая зависимость от централизованного облачного хостинга . Кроме того, растущая обеспокоенность по поводу централизации вычислительной мощности в руках крупных технологических компаний , потенциальных злоупотреблений монопольной властью и проблем конфиденциальности привела к появлению ряда проектов, созданных с целью создания более децентрализованных систем. Биткойн использует CAS и пары открытого/закрытого ключей для управления адресами кошельков, как и большинство других криптовалют . IPFS использует CAS для идентификации и адресации общедоступных файлов в своей сети. Многочисленные другие одноранговые системы, предназначенные для работы на смартфонах , которые часто получают доступ к Интернету из разных мест, используют CAS для хранения пользовательских данных и доступа к ним как для удобства, так и в целях конфиденциальности данных, например, для обеспечения безопасности. обмен мгновенными сообщениями .

Реализации [ править ]

Собственный [ править ]

Система Centera CAS состоит из ряда сетевых узлов (обычно крупных серверов под управлением Linux ), разделенных между узлами хранения и узлами доступа. Узлы доступа поддерживают синхронизированный каталог адресов контента и соответствующий узел хранения, где можно найти каждый адрес. При добавлении нового элемента данных, или blob , устройство вычисляет хэш содержимого и возвращает этот хеш в качестве адреса содержимого BLOB-объекта. [8] Как упоминалось выше, хеш ищется, чтобы убедиться в отсутствии идентичного контента. Если контент уже существует, устройству не нужно выполнять никаких дополнительных действий; адрес контента уже указывает на правильный контент. В противном случае данные передаются на узел хранения и записываются на физический носитель.

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

Чтобы обеспечить дополнительную безопасность данных, узлы доступа Centera, когда не выполняются операции чтения или записи, постоянно обмениваются данными с узлами хранения, проверяя наличие как минимум двух копий каждого blob, а также их целостность. Кроме того, их можно настроить для обмена данными с другой, например, удаленной системой Centera, тем самым усиливая меры предосторожности против случайной потери данных.

У IBM есть еще один вариант CAS, который может быть программным — Tivoli Storage Manager 5.3 или аппаратным — IBM DR550. Архитектура отличается тем, что она основана на структуре иерархического управления хранилищем (HSM), которая обеспечивает некоторую дополнительную гибкость, например, возможность поддерживать не только диск WORM, но и ленту WORM, а также миграцию данных с диска WORM на ленту WORM и наоборот. Это обеспечивает дополнительную гибкость в ситуациях аварийного восстановления, а также возможность снизить затраты на хранение за счет перемещения данных с диска на ленту.

Другая типичная реализация — iCAS от iTernity. Концепция iCAS основана на контейнерах. Каждый контейнер адресуется по его хеш-значению. Контейнер содержит разное количество документов с фиксированным содержимым. Контейнер не подлежит изменению, а значение хеш-функции фиксируется после процесса записи.

Открытый исходный код [ править ]

  • Venti : один из первых серверов хранения данных с контентной адресацией. [9] первоначально разработанный для Plan 9 от Bell Labs , а теперь также доступен для Unix-подобных систем как часть Plan 9 от User Space .
    Первым шагом на пути к реализации CAS+ с открытым исходным кодом является Twisted Storage. [10]
  • Хранилище файлов с наименьшим авторитетом Tahoe : реализация CAS с открытым исходным кодом.
  • Git : файловая система CAS пользовательского пространства . Git в основном используется как система контроля исходного кода.
  • git-annex : распределенная система синхронизации файлов, которая использует хранилище с адресацией по содержимому для файлов, которыми она управляет. Он использует Git и символические ссылки для индексации местоположения в файловой системе.
  • Project Honeycomb : API с открытым исходным кодом для систем CAS. [11]
  • XAM : интерфейс, разработанный под эгидой Ассоциации производителей сетей хранения данных . Он предоставляет стандартный интерфейс для архивирования продуктов и проектов CAS (и подобных CAS). [12]
  • Perkeep : проект 2011 года, цель которого — донести до масс преимущества систем хранения данных с адресацией по контенту. Он предназначен для использования в самых разных случаях, включая распределенное резервное копирование, создание снимков по умолчанию, файловую систему с контролем версий и децентрализованный обмен файлами с контролем разрешений.
  • Ирмин: OCaml «библиотека для постоянных хранилищ со встроенными механизмами моментальных снимков, ветвления и возврата»; те же принципы проектирования, что и Git.
  • Кассета: реализация CAS с открытым исходным кодом для C#/.NET. [13]
  • Arvados Keep: распределенная система хранения данных с открытым исходным кодом, адресуемая по контенту. [14] Он предназначен для крупномасштабной, ресурсоемкой работы в области обработки данных, такой как хранение и обработка геномных данных.
  • Infinit: децентрализованная (одноранговая) платформа хранения данных с адресацией по контенту, приобретенная Docker Inc.
  • Межпланетная файловая система (IPFS): одноранговый протокол распространения гипермедиа с адресацией по содержимому.
  • casync : программная утилита Linux от Леннарта Поеттеринга для распространения часто обновляемых образов файловой системы через Интернет. [15]

См. также [ править ]

Ссылки [ править ]

  1. ^ Чунг, Шун Ян. «Хранение и организация файлов данных на дисках» . Университет Эмори .
  2. ^ Jump up to: а б с д и ж г Зумвальт, Мэтт. «Сила контент-адресации» .
  3. ^ Коннор, Дени (29 мая 2003 г.). «Фиксированное хранилище контента привлекает внимание пользователей» . Компьютерный мир .
  4. ^ Хранилище с адресацией по содержимому – Хранилище, каким я его вижу , Марк Ферелли, октябрь 2002 г., BNET.com
  5. ^ Ежегодная техническая конференция USENIX 2003, общий курс – Аннотация
  6. ^ Деятельность CAS по отраслевой стандартизации - XAM: http://www.snia.org/forums/xam
  7. ^ Шелдон, Роберт. «Адресованное хранилище контента» .
  8. ^ Создание хеша содержимого файла. В хранилище с адресацией по содержимому используются алгоритмы хеширования. , Крис Меллор, Опубликовано: 9 декабря 2003 г., Techworld. Архивировано 28 сентября 2007 г. в Wayback Machine. Статья перемещена по адресу https://www.techworld.com/data/making-a-hash-of-file-content-235/ .
  9. ^ «Венти: новый подход к архивному хранению» . doc.cat-v.org . Проверено 30 июня 2019 г.
  10. ^ «Извращенное хранилище» . Twistedstorage.sourceforge.net . Проверено 30 июня 2019 г.
  11. ^ «Хранилище фиксированного контента HoneyComb на OpenSolaris.org» . Архивировано из оригинала 12 октября 2007 года . Проверено 1 октября 2007 г.
  12. ^ «Спецификация интерфейса XAM (расширяемый метод доступа)» .
  13. ^ Простая система хранения с адресацией по содержимому для .NET 4.5 и .NET Core: point-platform/cassette , Point Platform, 6 мая 2019 г. , получено 30 июня 2019 г.
  14. ^ «Держать – Арвадос» . dev.arvados.org . Проверено 30 июня 2019 г.
  15. ^ «Леннарт Поеттеринг объявляет о новом проекте: касинк – Фороникс» . Фороникс .

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 8c78e15b07bbe2988b0948e7f360ad00__1710271560
URL1:https://arc.ask3.ru/arc/aa/8c/00/8c78e15b07bbe2988b0948e7f360ad00.html
Заголовок, (Title) документа по адресу, URL1:
Content-addressable storage - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)