Чем отличается База данных как Значение в Datomic от BiTemporal Indexs в Кассандре?

База данных Datomic имеет концепцию " База данных как ценность ". Это означает, что вы можете получить ссылку на базу данных в определенный момент времени и запросить ее.

Похоже, что би-временные индексы в Кассандре делают почти то же самое.

У меня вопрос: что отличает базу данных как значение в двухатомных и двухэлементных индексах в Кассандре?

1 ответ

Решение

Эти две концепции очень похожи в том, что они позволяют запрашивать базу данных в определенный момент времени. Есть несколько моментов, которые их разделяют:

  1. Временный запрос встроен в Datomic с нуля, тогда как это плагин для Cassandra. Кроме того, с Cassandra вам придется самостоятельно поддерживать временные поля - плагин из этой презентации помогает только в запросах, а не во вставках или обновлениях.
  2. "База данных как значение" выходит за рамки запроса на определенный момент времени. Например:

    • Вы можете получить значение базы данных в промежуточном программном обеспечении веб-запроса и передать его следующим промежуточным программам и функциям-обработчикам. Это гарантирует, что все запросы, сделанные во время запроса, будут автоматически согласованы - вы можете выполнить столько запросов, сколько захотите, и вам никогда не придется беспокоиться о выполнении их внутри транзакции чтения. Вы могли бы сделать что-то похожее на эту работу, используя запрос на определенный момент времени, но это было бы намного уродливее с точки зрения кода.
    • Вы можете делать "что, если" обновления значения базы данных, не влияя на фактическую базу данных.
Другие вопросы по тегам