Миграция с MySQL на Crate

Я только что провел некоторое время, экспериментируя с Crate - crate.io - и первые впечатления хорошие. Если я правильно понимаю, Crate - это NoSQL DB, которая предоставляет довольно аккуратный SQL-интерфейс для манипулирования и запросов к базе данных. Ницца!

Однако на данном этапе у меня больше вопросов, чем ответов. Вот три для начала

  • Консоль администратора Crate хороша. Тем не менее, как - если вообще - я могу защитить его, кроме настройки правила таблиц IP?
  • Как индексы MySQL переводятся в Crate. Я не вижу, что я могу продолжать использовать УНИКАЛЬНЫЕ индексы и затем полагаться на UPDATE...ON DUPLICATE KEY... SQL-операторы
  • Наконец, если я прав, предполагая, что после настройки кластера Crate позаботится о репликации и синхронизации данных без каких-либо дополнительных усилий с моей стороны. Так что, если у меня будут географически распределенные узлы кластера Crate, будут ли проблемы с задержкой, связанные с синхронизацией, замедлять производительность всего кластера? Я предполагаю чтение / запись в локальный экземпляр ящика, но с возможностью затем восстановить эти данные из другого экземпляра ящика позднее (синхронно это не актуально)

Эти вопросы могут не полностью "соответствовать" формату SO, но, учитывая, насколько молодым Crate, я надеюсь, что они все еще будут считаться приемлемыми.

1 ответ

Решение

Рад, что вам это нравится.

1) В настоящее время в Crate нет поддержки ACL. Таким образом, интерфейс администратора, а также конечные точки HTTP все открыты. Общая идея заключается в том, что Crate запускается внутри частной сети и не подвергается непосредственному воздействию извне.

Посмотрите эту проблему github и этот пост в блоге о том, как создать прокси nginx только для чтения, для получения дополнительной информации.

2) Ящик не поддерживает УНИКАЛЬНОЕ ограничение. (За исключением первичного ключа, который, конечно, уникален). Так что UPDATE .. ON DUPLICATE KEY будет работать, если первичный ключ уже присутствует.

Другие УНИКАЛЬНЫЕ ограничения трудно сделать, потому что данные могут находиться в разных узлах, и тогда иметь какой-то механизм, который гарантирует уникальность, будет очень дорогим.

3) Да, задержка замедлит операции вставки. Подробнее об этом можно узнать в разделе "Настройка нескольких зон" в документации.

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