Имеет ли смысл запрашивать базу данных быстрее, чем извлекать значение из карты объятий? - PullRequest
0 голосов
/ 22 февраля 2020

У меня есть 10 коллекций в базе данных ключ-значение. Предположим, что эти коллекции меняются очень редко. Каждая коллекция имеет около 10000 строк. Я решил, что текущая задержка для извлечения данных из этих коллекций слишком высока. Поэтому я попытался выработать стратегию, чтобы прочитать все содержимое этих коллекций и поместить их в карты 10 гигантов (например, HashMap в Java) в кучу программы. Вместо того, чтобы запрашивать базу данных, я выбираю значение из базы данных (сложность времени - O (1)). Я думаю, что получение данных из кучи намного быстрее, чем получение доступа к базе данных (которая, вероятно, развернута на удаленной машине). Удивительно, но я выяснил (путем A / B-тестирования), что задержка извлечения данных из кучи (в данном случае) была немного медленнее, чем извлечение тех же данных из базы данных.

Как это возможно? Ты хоть представляешь, почему это происходит?

...