Назад | Перейти на главную страницу

Можно ли управлять данными 20 ТБ с помощью MySQL?

Я работаю над проектом, и моя работа - создать систему базы данных для управления примерно 60 000 000 000 записей данных.

Предпосылки проекта таковы, что мне приходится хранить в реальном времени большое количество сообщений, которые каждую секунду читают примерно 30 000 считывателей RFID. Предположим, каждый считыватель RFID генерирует 6000 сообщений в день, мне нужно вставить 180 000 000 записей в базу данных.

Возможный ввод данных: «отметка_времени, Reader_ID, Tag_ID, other_msg_content»

Будут запросы (SELECT) на основе временного диапазона, Reader_ID и Tag_ID. Запросы не будут очень сложными.

Сейчас я разрабатываю систему базы данных и планирую использовать MySQL. Мои вопросы по свалке:

  1. Разумно ли использовать MySQL, или мне следует прибегнуть к Oracle (что дорого) или HBase?

  2. Если мне нужно использовать MySQL, есть идеи, как я могу построить кластер?

  3. Если я вставлю сообщения в таблицу, скоро таблица станет очень длинной. Я хотел бы использовать методы сегментирования, чтобы разделить длинный стол на множество коротких.

    3.a. Я хочу знать правильную длину таблицы MySQL InnoDB, т.е. после того, как сколько записей данных было вставлено, я начну сегментирование?

    3.b. Есть ли какое-нибудь хорошее решение для сегментирования прокси? Знаю spock proxy и некоторые другие, нужны рекомендации.

  4. Должен ли я использовать MySQL Cluster? ИЛИ я просто использую главные серверы mysql и подчиненные устройства сегментирования и использую репликацию для достижения высокой доступности?

  5. Предположим, мне нужно обрабатывать 20 ТБ данных в MySQL (в течение 1 года), я планирую использовать 20 узлов (ПК-сервер, дешево) и хранить 1 ТБ данных на каждый узел, возможно ли это? Любые комментарии приветствуются.

Большое спасибо.

Мысли:

  • Если вы задаете этот вопрос на публичном форуме, наймите экспертов, которые сделают это за вас.
  • Рассмотрим Postgres и SQL Server, которые тоже будут масштабироваться до этого объема.
  • Вам нужна КИСЛОТА? Нет = рассматривать NoSQL
  • Дизайн и оборудование имеют большее значение, чем платформа
  • Не виртуализируйте и не сокращайте другие аппаратные части
  • Какой у вас RPO / RTO?
  • Окно обслуживания? ака вы действительно 24/7/365? a.k.k 30 тыс. строк в секунду все время
  • Архивирование?
  • Вам нужно старшее (скажем, 6 месяцев) онлайн?
  • Бюджет?
  • Реалистичное тестирование, необходимое для проверки архитектуры и дизайна для заявленной нагрузки
  • 20 ТБ, наверное, слишком мало
  • 6 КБ на RFID в день, но 30 КБ в секунду? В день 86,4 тыс. Секунд, поэтому только 1 из 14 RFID записывает в секунду: как насчет потенциальных пиковых нагрузок 420 тыс. + Строк в секунду?

в заключение

  • Это не вопрос базы данных, а вопрос архитектуры
  • Вы задаете неправильные вопросы слишком рано для выполнения этого требования