bdb - (Proof of Concept) агрегатор данных в MongoDB коллекции.
Суть - возможность использовать простое и единообразное апи для работы с динамическими данными, как с статическими.
Коллекции:
- people - ФИО, контакты, должности и прочая открытая идентифицирующая информация
- host - хосты, идентифицируемые по IPv4 - порты, заголовки и пр
- company - открытая информация по компаниям
- fragment - то, что пока не может быть идентифицированно (например, анонимный профиль)
Поля, ссылающиеся на другие документы в этих коллекциях, имеют имя inner_{имя_коллекции}
, например inner_host
Получает данные из декларативно описанных источников. Пример:
http_test:
description: Котировки с Яндекса за 10 последние дней
expire: 1m
type: http
format: html
url: https://news.yandex.ru/quotes/1.html
datasets:
price: td.quote__value
name: td.quote__change
При запросе данных этого источника в файловом кэше сохраниться два датасета (массивы значений) price и name. Если в течении 1 минуты сделать ещё один запрос, данные будут получены из кэша. Можно навечно сохранить в кэше(expire: never) или всегда обращаться за актуальной информацией(expire: always) Подробнее см. Bdb\Source.php
Маппер связывает датасеты с конкретными полями документов, что позволяет полностью или частично актуализировать документ, собранный из разных источников и просматривать эти источники.
TODO
all permissions for 4664424 app:
https://oauth.vk.com/authorize?client_id=4664424&display=page&redirect_uri=https://oauth.vk.com/blank.html&scope=268435455&response_type=token&v=5.52
напилить настраиваемые фильтры на датасеты, чтобы в маппинг не попадал мусор пофиксать проблему с кодировками