Подтвердить что ты не робот

Использование файловой системы (а не базы данных!) Для данных Schemaless - наилучшая практика

После прочтения моего другого вопроса Использование реляционной базы данных для данных схемы-меньше, я начал задаваться вопросом, является ли файловая система более подходящей, чем реляционная база данных для хранения и запросов к данным схемы.

Вместо того, чтобы просто создавать файловую систему поверх MySQL, почему бы просто не сохранить данные непосредственно в файловой системе? Индексация должна быть выяснена, но современные файловые системы очень стабильны, обладают такими замечательными функциями, как репликация, моментальные снимки и средства резервного копирования, и гибки при хранении данных без схемы.

Однако я не могу найти примеры того, кто использует файловую систему вместо базы данных.

Где я могу найти дополнительные ресурсы о том, как реализовать XML-схему (или "документально-ориентированную" ) в качестве слоя поверх файловой системы? Кто-нибудь использует современную файловую систему в качестве базы данных схемы?

4b9b3361

Ответ 1

Да, файловая система может быть использована как частный случай системы баз данных, подобной NOSQL. Он может иметь некоторые ограничения, которые следует учитывать при любых дизайнерских решениях:

плюсы:  -  - простой, интуитивный.

  • использует многолетние алгоритмы настройки и кэширования.
  • простая резервная копия, потенциально простая кластеризация

вещи, о которых нужно подумать:

  • богатство метаданных - какие типы данные хранятся, как это сделать вы запрашиваете их, можете ли вы иерархические или многозначные атрибуты

  • скорость запроса метаданных - не все fs особенно хорошо оптимизированы с чем-либо, кроме размера, дат.

  • невозможность объединения запросов (хотя что довольно часто встречается с NoSQL)

  • неэффективное использование хранилища (если только файл система выполняет блокирование блока, вы обычно будете наносить 4-16K за элемент хранятся независимо от размера)

  • Может не быть такого алгоритма кэширования вы хотите для него структуру каталогов
  • имеет тенденцию быть менее перестраиваемым и т.д. Решения для резервного копирования
  • могут иметь проблемы в зависимости от того, как вы храните вещи - слишком много, слишком много элементов за node, и т.д., что может преимущество такой структуры. блокировка для работы файловой системы LOCAL довольно хорошо, конечно, если вы позвоните правильные процедуры, но не обязательно для сетевого файла fileesytem (те проблемы были решены в различных путей, но это, безусловно, дизайн выпуск)

Ответ 2

Вы можете ознакомиться с нашей Solid File System, которая представляет собой продукт виртуальной файловой системы со встроенной поддержкой метаданных файлов и SQL-подобный механизм поиска, который выполняет поиск по этим данным. Также прочитайте article, в котором описаны преимущества хранения различных типов данных в разных хранилищах.

Ответ 3

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

Ответ 4

Там большой пример реализации на Amazon S3.

http://aws.amazon.com/s3/

Такая реализация - это то место, куда многие компании продвигаются, потому что он масштабируется в основном лучше, чем реляционная база данных. Этот подход прост, и он работает, и для некоторых проблем это отличное решение. В случае с Amazon S3 это особенно приятно для облачного хранилища, если вы не хотите беспокоиться о проблемах хранения данных самостоятельно.