Способы реализации управления версиями данных в Cassandra

Не могли бы вы поделиться своими мыслями о том, как бы вы реализовали управление версиями данных в Cassandra.

Предположим, мне нужно изменить версии записей в простой адресной книге. (Записи адресной книги хранятся как строки в семействе столбцов).

Не могли бы вы поделиться своими мыслями о том, как бы вы реализовали управление версиями данных в Cassandra.

Предположим, мне нужно версировать записи в простой адресной книге. (Записи адресной книги хранятся как строки в семействе столбцов).

Не могли бы вы поделиться своими мыслями о том, как бы вы реализовали управление версиями данных в Cassandra.

Предположим, мне нужно версировать записи в простой адресной книге. (Записи адресной книги хранятся как строки в семействе столбцов). Я ожидаю, что история:

  • будет использоваться нечасто
  • будет использоваться сразу, чтобы представить это в виде «машины времени»
  • , не будет больше версий, чем несколько сотен для одной записи.
  • история не истекает.

Я рассматриваю следующий подход:

  • Преобразуйте адресную книгу в семейство Super Column и сохраните несколько версий записей адресной книги в одной строке с ключом (по метке времени) как супер столбцы.

  • Создайте новое семейство суперстолбцов для хранения старых записей или изменений в записях. Такая структура выглядела бы так:

    { 'ключ строки адресной книги': { 'отметка времени1': { 'имя': 'новое имя', 'изменено': 'идентификатор пользователя', },

     'отметка времени2': {
     'имя': 'новое имя',
     'изменено': 'идентификатор пользователя',
     },
    },
    

    'другой ключ строки адресной книги': { 'отметка времени': { ....

  • Сохранять версии как сериализованный (JSON) объект, прикрепленный в новом ColumnFamilly. Представление наборов версий в виде строк и версий в виде столбцов. (по образцу Простое управление версиями документов с помощью CouchDB )

20
задан Piotr Czapla 15 November 2010 в 14:23
поделиться