Хранилище файлов с адресным содержимым - Content Addressable File Store
Содержание Адресные File Store (CAFS) был аппаратным устройством , разработанный International Computers Limited (ICL), представившей дисковое хранилище со встроенной возможностью поиска. Мотивом для устройства было несоответствие между высокой скоростью, с которой диск мог доставлять данные, и гораздо более низкой скоростью, с которой универсальный процессор мог фильтровать данные в поисках записей, соответствующих условию поиска.
Разработка CAFS началась в Центре исследований и перспективных разработок ICL под руководством Гордона Скарротта в конце 1960-х годов после исследования Джорджа Кулуриса и Джона Эванса, которые завершили полевое исследование систем баз данных и приложений в Имперском колледже и Колледже Королевы Марии (Scarrott, 1995). Их исследование выявило потенциал существенного повышения производительности в крупномасштабных приложениях баз данных за счет включения логики поиска в контроллер диска.
В исходном виде логика поиска была встроена в головку диска. Автономное устройство CAFS было установлено несколькими клиентами, включая BT Directory Inquiries , в 1970-е годы. Впоследствии это устройство было разработано и в 1982 году включено в качестве стандартной функции в мэйнфреймы ICL серий 2900 и 39. На этом этапе, чтобы снизить затраты и воспользоваться преимуществами увеличения скорости оборудования, логика поиска была встроена в контроллер диска. Запрос, выраженный на языке запросов высокого уровня, мог быть скомпилирован в спецификацию поиска, которая затем была отправлена на контроллер диска для выполнения. Первоначально эта возможность была интегрирована в собственный язык запросов ICL Querymaster, который работал вместе с базой данных IDMS ; впоследствии он был интегрирован в порт ICL VME реляционной базы данных Ingres .
ICL получила премию Королевы за технологические достижения для CAFS в 1985 году.
Одним из факторов, ограничивавших внедрение CAFS, было то, что устройству необходимо было знать структуру данных на диске, и это накладывало ограничения на эту структуру. Интеграция продуктов баз данных с CAFS часто связана с изменением макета страницы, что делает интеграцию очень дорогой, особенно с учетом рыночной тенденции использования стороннего программного обеспечения для баз данных. Управление целостностью данных в параллельной среде также требует пристального внимания, поскольку поиск CAFS будет выполняться без каких-либо сведений о блокировках и кешах, поддерживаемых программным обеспечением базы данных.
ICL также выпустила версию CAFS для линейки миникомпьютеров DRS под названием SCAFS (Сын CAFS). В отличие от своего кузена мэйнфреймов, это было реализовано с использованием специальной прошивки, работающей на стандартном микропроцессоре. Программное обеспечение, поддерживающее сторонние базы данных, включая Ingres , Informix и Oracle, продавалось как Ingres Search Accelerator (и т. Д.). Каждый сторонний продукт требовал модификации и поставлялся с фиктивной библиотекой интерфейса SCAFS, которую нужно было заменить продуктом ICL. IBM также получила лицензию на использование этой технологии с DB2 на RS / 6000 . Устройство в конечном итоге стало устаревшим по мере увеличения скорости процессора, что устранило первоначальное оправдание устройства, а именно то, что центральный процессор не мог искать данные так быстро, как дисковая подсистема могла их доставить. Большой объем памяти также означал, что многие базы данных среднего размера можно было полностью хранить в памяти. Эти факторы устранили любой массовый рынок для SCAFS и сделали его нерентабельным.