Наша команда решила перейти на Amazon Keyspaces с собственного хостинга Cassandra. После настройки с Amazon Keyspaces Я обнаружил, что зарегистрированные пакеты не поддерживаются. В нашем решении есть несколько случаев, когда требуется использовать зарегистрированные партии.
Бывший: У нас есть несколько таблиц, в которых мы распространяем данные, чтобы иметь разные первичные ключи для быстрого запроса. Зарегистрированные партии используются здесь для обеспечения согласованности во всех таблицах.
Есть ли альтернативное решение для такого сценария в Amazon Keyspace?
К сожалению, из-за отсутствия поддержки LOGGED BATCH
в Amazon Keyspaces вам нужно каким-то образом реализовать логику в вашем приложении, чтобы поддерживать синхронизацию таблиц.
Вам нужно будет повторить все неудачные обновления таблицы, и если после N попыток это все еще будет неудачно, вам нужно решить, нужно ли вам (а) удалить проблемы с другими таблицами или (б) продолжить повторную попытку.
К сожалению, вы не знали об этом ограничении в Amazon Keyspaces. Я бы рекомендовал ознакомиться с другими ограничениями в следующих документах:
На самом деле, мы знали об этих проблемах. Но как команда мы полностью переносим наши продукты в AWS и подумали, что вместо управления собственным кластером Cassandra было бы идеально перейти на управляемое решение. Решил поискать решения, которым следовали другие, чтобы смягчить ограничения такого типа.
Для полного раскрытия: я работаю в DataStax, но если вы еще не видели, Astra DB — это полностью управляемая Cassandra как услуга, которая работает в общедоступных облаках, включая AWS. Ваше здоровье!
Да, сейчас я изучаю это. Я пытаюсь собрать кусочки, используя Terraform. Но не нашел способ получить идентификатор центра обработки данных Astra с помощью сценария Terraform. Не могли бы вы помочь мне с этим, пожалуйста?
Нет, и есть целый список других вещей, которые Keyspaces не поддерживает. Не для саморекламы или чего-то еще, но если вам нужна настоящая управляемая Cassandra, вы не ошибетесь с DataStax Astra DB.