Файловый сервер против скорости запросов к БД

У меня есть очень простые данные, которые мне нужно извлечь как можно быстрее: у меня есть данные JSON, связанные с хэшем электронной почты. Итак, таблица выглядит так:

email_sha256, json

и имеет миллионы строк.

Мне было интересно, если один из следующих двух вариантов будет быстрее:

1 Split the single large table into many smallers (split by alphabetical order)

2 Do not use a DB at all and serve the data as files. i.e. every email hash is the name of a separate file that contains the json data.

1 ответ

Создание файла для каждого пользователя (для каждого адреса электронной почты) выглядит так неправильно для многих аспектов:

  • Если вам нужна хорошая производительность, вам нужно небольшое количество файлов в каталоге
  • Для этого были созданы БД, у вас может быть индекс для быстрого поиска информации.
  • Без БД у вас должен быть свой собственный механизм блокировки / синхронизации
  • Если вы используете БД, зачем использовать json для хранения данных.
  • Если вы ищете производительность, не сериализуйте данные в json.
  • Что вы имеете в виду под "быстрым", можете ли вы измерить эту продолжительность / задержку?

Если (возможно) информация, связанная с пользователем, не будет огромной (размер должен быть намного больше одного сектора). Но опять же, в данном случае, что вы подразумеваете под постом?

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