Битемпораль с Арангодбом

Есть ли какие-либо шаблоны или примеры, доступные для выполнения битемпорального моделирования с 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
 }

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

Другие вопросы по тегам