Битемпораль с Арангодбом
Есть ли какие-либо шаблоны или примеры, доступные для выполнения битемпорального моделирования с ArangoDB? Я оцениваю свои варианты выбора базы данных, и у ArangoDB, похоже, есть необходимые функции.
Lars
1 ответ
Нет, в настоящее время мы не знаем существующих примеров того, как это сделать в Arangodb.
Однако, прочитав статью проекта кода о Bitemporal Database Design, вы бы сделали то же самое в ArangoDB - имейте два атрибута с начальной и конечной датой.
Проблема этого подхода, однако, заключается в том, что вы не можете объединить диапазон более двух атрибутов в одном индексе пропускаемых списков. Вероятно, можно обойти это, указав диапазон в атрибуте start, который будет находиться внутри диапазона запроса. Затем второй фильтр сортирует документы, которые не соответствуют конечной отметке времени:
FOR item IN testCollection
FILTER item.startTime < @startTimeMin AND item.startTime > @startTimeMax
FILTER item.endTime < @endTimeMax
RETURN item
Со значениями связывания:
{
startTimeMin: '2016.01.15',
startTimeMax: '2016.01.30',
endTimeMax: '2016.01.25
}
Однако, если бы вы могли немного подробнее рассказать о вашем сценарии использования, возможно, можно будет дать более точный ответ.