Всем привет
Наконец-то решил написать про проект, которым занимаюсь.
Есть такая база данных
MarkLogic. Причем это не просто база данных, а целая среда. Там и веб сервер и база данных. Отвечает не только за хранение данных но и с помощью
xquery или
sparql дает программисту доступ к данным + реализацию всей нужной логики для работы. То есть все, что раньше я писал с помощью PHP теперь делаю на xquery.
Так вот этот самый MarkLogic дает возможность обрабатывать миллионы миллионов документов. И да, совсем забыл, база не sql, а все хранится в XML. Точнее до последней версии все хранилось в XML, а новой версии, которая выйдет буквально через месяц все можно будет хранить в triplestore, где каждый элемент, точнее каждая сущность записывается в формате троек, то есть triples. Это когда есть subject, predicate и object. То есть например "person_123" -> "has-name" -> "Vasya". ЧТо-то типа этого.
Теперь немного ближе к самому проекту.
Есть некое дерево категорий. У каждой категории есть набор ключевых слов. Это хорошо представить на примере библиотеки. Есть список жанров, авторов и тд. Такое себе многоуровневое дерево.
Также есть загрузка файлов различных типов с контентом и вот когда файлы загружаются, то вытаскивается контент, сохраняется в xml и происходит связка документов с категориями из дерева с помоью тех самых ключевых слов. На самом деле там не совсем просто ключевые слова, там логические выражения.
И вот получается, что при правильно созданном дереве после загрузки документов получается структурированное хранилище с дополнительным поиском и т.д.
Вот если в двух словах, то занимаюсь вот этим вот и честно говоря очень не люблю, когда приходится возвращаться к PHP :)