Мне нравится пользовательский опыт кубизма и хотел бы использовать его поверх бэкэнда, который у нас есть.Использование других источников данных для cubism.js
Я читал документы API и некоторые из них, большинство из них, похоже, было удалено. Как я мог начать использовать другие источники данных?
У меня есть хранилище данных около 6 тыс. Индивидуальных машин с точностью до 5 минут со скоростью около 100 или около того.
Я хотел бы запросить некоторое веб-приложение с определенным идентификатором для этого компьютера, а затем визуализировать панель, похожую на кубизм, путем запроса определенного хранилища данных mongo.
Написание webapp или запрос на монго не являются проблемой.
Проблема в большей степени соответствует тому факту, что кубизм, как представляется, требует запроса любого хранилища данных, которое вы используете для каждой отдельной точки данных (скажем, что у вас есть 100 статистических данных в окне недели ... дорого).
Есть ли другой способ, которым я мог бы использовать этот инструмент, чтобы посмотреть на данные, которые загружаются, используя что-то похожее на код ниже?
var data = [];
d3.json("/initial", function(json) { data.concat(json); });
d3.json("/update", function(json) { data.push(json); });
просто убедитесь, что это предназначено для каждой новой метрики. Таким образом, каждый клиент, подключенный к этому, будет делать x запросов в вашей базе данных для х-показателей. Нет простого способа, используя сокращение кубизма? например, вызов диаграммы, а затем наличие функции доступа? –
Несомненно, вы можете написать альтернативную метрическую реализацию, которая извлекает несколько показателей в пакете, но обычно это не стоит. Наши панели часто делают сотни одновременных запросов на Graphite (которые частично обрабатываются браузером, так как не будут содержать более 4 или 8 одновременных запросов на хост), и проблема с производительностью не возникает. Чтобы объединить параллельные запросы, вы ставили несколько запросов в очередь и использовали таймаут для создания комбинированного запроса. – mbostock
Просто, чтобы запустить его кем-то другим, чей опыт в этой области, скажите мне, если вы думаете, что это того стоит: у меня около 500 ГБ данных о n машинах. Db индексируется по метке времени, идентификатору машины и комбинации двух. Чтобы сделать один запрос (это MongoDB), требуется около 12 секунд, чтобы получить отсортированный список из 1440 результатов для 1 машины. Итак, x * 12 секунд = время загрузки, где x - количество показателей. –