Лучшая реляционная база данных для хранения 1 миллиарда записей

1

Я хочу хранить 1 миллиард записей в одной таблице и часто выполнять поиск с очень ограниченным числом пользователей.

формат таблицы

Идентификатор регистрации (уникальный) | Имя | Возраст | Пол: Женский Адрес

ABC/12/XY/34 | ABC | 25 M | какой-то адрес идет

Вопрос:

-Can я использую mysql для хранения 1 миллиарда записей и часто просматриваю на нем

-Backend находится на nodejs, размещенном на aws, есть ли какие-либо инструменты aws, чтобы сделать это без проблем?

-Registration ID - это уникальный столбец, какие ограничения я должен применять для ускорения поиска (хеширование или индексирование или что-то еще?)

  • 0
    Лучший -> основанный на мнении ... будьте осторожны.
Теги:
indexing
rds
full-text-indexing

3 ответа

0

Любая реляционная база данных может обрабатывать миллиард строк.

Проблемы с производительностью возникают из

  • Неадекватные индексы - особенно "составные" индексы
  • Плохо сформулированные запросы - например, скрытие индексированных столбцов внутри вызовов функций.

Если это приложение "Хранилище данных", "Сводные таблицы" имеют жизненно важное значение для производительности.

В некоторых случаях я спрашиваю: "Вам действительно нужно хранить данные?" Если вы хотите описать свой набор данных, я расскажу вам, почему вам, возможно, не нужно все это держать.

Ваши запросы "точечные запросы"? Пример: для одного регистрационного_ид, получите остальные данные для него. - Это очень тривиально и очень быстро, независимо от механизма базы данных, размера стола и т.д.

(У меня проблемы с верой, что вы собираетесь "зарегистрировать" миллиард людей!)

Как насчет скорости приема? Вычислите, сколько строк в секунду вам нужно будет сделать, чтобы достичь миллиарда строк за разумное время.

Вы должны набросать свои запросы, поэтому мы можем помочь вам разработать таблицы (таблицы), индексы и даже запросы для работы с миллиардом строк.

0

Да, MySQL может легко хранить 1 миллиард строк в таблице, я предлагаю использовать Aurora, вы можете использовать registation_id в качестве столбца первичного ключа и добавлять составные индексы в соответствии с запросом, чтобы ускорить его. т.е. если вы ссылаетесь на один столбец в большинстве запросов на выборку, оставьте этот столбец первым столбцом в составном индексе.

  • 0
    Кто такие «мы» в «мы можем легко хранить 1 ... миллиард строк»
0

Поскольку вы на AWS, попробуйте Amazon Aurora (MySQL). Убедитесь, что вы выбрали тип экземпляра с достаточным объемом оперативной памяти, чтобы кеш был достаточно большим для индекса. Если вы не часто вставляете и просто выполняете запрос, тогда установите свой регистрационный идентификатор в качестве первичного ключа. Это поможет ускорить ваши запросы, если вы ищете по идентификатору регистрации. Хотя использование огромной таблицы можно выполнить, если ваше оборудование соответствует задаче, обычно лучше очертить ваши данные на несколько таблиц. Вы должны попытаться сохранить те записи, которые начинаются с "A" в ID регистрации в 1 таблице, начиная с "B" в другой и т.д.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню