Притворись сервером MySQL - PullRequest
0 голосов
/ 25 мая 2018

Для проекта мы работаем с несколькими внешними партнерами.Для проекта нам нужен доступ к их базе данных MySQL.Проблема в том, что они не могут этого сделать.Их база данных хранится в управляемой среде, где у них не так много возможностей для конфигурации.И они не хотят давать нам доступ ко всем своим данным.Таким образом, решение, которое они придумали, - объединенный механизм хранения.

Теперь у нас есть одна таблица для каждой таблицы их базы данных.Проблема в том, что объем данных, которые мы получаем, огромен и даже увеличится в будущем.Это означает, что в нашей базе данных выполняется много вставок.Для нас оптимальным решением было бы перехватить весь входящий трафик MySQL, обработать его и затем сохранить его навалом.Мы также подумали об использовании чего-то вроде redis для хранения данных.

Кроме того, мы планируем получить больше данных от разных партнеров.Они могут предоставить нам данные по-разному.Таким образом, использование redis позволит нам хранить все наши данные в одном месте.

Копирование данных в redis после их сохранения в базе данных mysql - не вариант.Мы просто не можем обработать столько вставок, и нам нужны данные как можно быстрее.

TL; DR есть способ притвориться сервером MySQL, чтобы мы могли напрямую обрабатывать данные, полученные через механизм федеративного хранения?


Мы также подумали об использовании механизма «черной дыры»в сочетании с бинарной регистрацией на нашей стороне.Таким образом, входящие данные будут записываться только в двоичный журнал и не будут храниться в базе данных.Но тогда производительность все равно будет ограничена дисковым вводом / выводом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...