Высокопроизводительная книга mysql предполагает, что для разделения приложения блога может потребоваться поместить данные комментариев в 2 сегмента: во-первых, на фрагмент лица, отправляющего комментарий, и на фрагмент, где находится сообщение хранится.
Так что возникает вопрос, как надежно продублировать эти данные. Какой из следующих вариантов дублирования данных рекомендуется использовать в шардах?
Вариант 1: Сделать 2 отдельных вставки из скрипта PHP.
Плюсы: a) Логика находится на прикладном уровне.
Минусы: а) Пользователь удерживается за 2 вставки. б) Эту логику необходимо будет продублировать на каждом клиенте, пытающемся вставить похожие данные.
Вывод: кажется разумным.
Вариант 2: Формировать федеративные таблицы и использовать некоторый триггер для обработки вставки дубликата.
Плюсы: a) Слой приложения не должен беспокоиться о множественных вставках
Минусы: a) Каждый шард должен иметь федеративное соединение с каждым другим шардом; б) Федерация будет работать на машинах в локальной сети, но как на 2 разных сайтах. в) что если соединение с федеративным сервером не установлено.
Вывод: не похоже на здравую идею.
Вариант 3: Сообщения, такие как RabbitMQ
Плюсы: a) Разные клиенты могут вставлять данные в одном месте, и все подписчики могут использовать вставку.
Минусы: а) Комплекс; б) может наложить накладные расходы для размещения сервера обмена сообщениями и клиентов; c) не уверен, как он будет работать с поисковой службой для поиска соответствующих осколков
Вывод: Не уверен
Вариант 4: Ваше предложение?
Я буду очень признателен за вашу помощь.