файловый сервер против скорости запросов к БД - PullRequest
0 голосов
/ 30 апреля 2018

У меня есть очень простые данные, которые мне нужно получить как можно быстрее: У меня есть данные 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 Ответ

0 голосов
/ 30 апреля 2018

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

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

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

...