Как запросить LUT уровня bin на Aerospike 5.5?

#aerospike

Вопрос:

Предположим, у вас есть набор следующим образом:

  ------- ------- 
| PK    | myBin |
 ------- ------- 
| "1" |  24    |
 ------- ------- 
1 row in set (1 secs)
 

Как получить метаданные LUT для PK=1 for bin myBin ?

ПРИМЕЧАНИЕ: Я ищу bin уровень LUT, а не уровень строки

Ответ №1:

LUT на уровне Bin не доступны клиентам по причинам обратной совместимости. Таким образом, вы не можете запросить их у клиента. Кроме того, LUT на уровне ячеек не всегда поддерживаются. Они поддерживаются только в определенных конфигурациях XDR.

Обходной путь состоит в том, чтобы написать дополнительную ячейку с отметкой времени обновления вместе с обычным обновлением ячейки. Если у вас есть несколько ячеек, для которых вам необходимо знать отметку времени обновления, это разумный обходной путь с некоторыми накладными расходами.

Комментарии:

1. Спасибо @sunil, возможно ли это программно с помощью Java-клиента? Я видел обсуждение этого в Aerospike 5.5, которое оно поддерживало

2. Это правда, что он поддерживается при определенной конфигурации XDR в 5.5. Но он не доступен никаким клиентам.

3. Итак, есть ли какой-то способ найти ЛУТ конкретного бункера каким-то другим способом? поскольку предложенный вами обходной путь является большой тратой памяти для моего использования, в общем, я пытаюсь восстановить поврежденные данные, загруженные из Кафки, процесс восстановления сначала приостанавливает процесс загрузки в AS, затем сохраняет текущее машинное время AS, а затем воссоздает процесс загрузки, а затем обрезает все записи, на которых LUT это восстановление может завершиться неудачей при записи в несколько ячеек из нескольких загрузчиков (если они будут выполняться 1 на 1), и LUT на уровне ячеек решит эту проблему, но я вижу, что она не раскрыта

4. Как и запись LUT, LUT на уровне ячеек также не доступны клиентам Aerospike. Кроме того, LUT на уровне bin даже недоступны с помощью пользовательских функций, которые вы можете написать в LUA и запустить на серверных узлах. Только уровень записи LUT доступен через UDFS. Другими словами, у пользователя нет возможности выполнять какие-либо операции на основе LUT уровня bin. Они доступны только внутри модуля репликации перекрестного центра обработки данных Aerospike.