Хеширование неизменяемых таблиц для облегчения кэширования на стороне клиента.

  • Автор темы Артем Белогубов
  • 43
  • Обновлено
  • 17, May 2024
  • #1
Привет, я работаю над своим первым проектом, для которого требуется база данных, и я надеялся узнать мнение по поводу только что пришедшей мне в голову идеи.

Извините, если это слишком просто или уже реализовано в рамках.

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

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

Серверное приложение будет сравнивать его со своим собственным заранее рассчитанным хэшем, хранящимся в БД (который я буду обновлять с помощью триггеров), и если он такой же, оно отправит подтверждение вместо всей таблицы.

Я переусердствовал с проектированием? Моя главная причина сделать это таким образом — дать пользователю более свободный опыт.

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

Другие, которые я использовал, имели сервер на месте или даже управляли данными на том же компьютере, так что их нельзя сравнивать.

Я использую postgres, и клиентское приложение будет PWA.

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

Артем Белогубов


Рег
17 Jan, 2012

Тем
2

Постов
2

Баллов
22
  • 03, Jun 2024
  • #2
Есть ли причина, по которой вы не можете использовать в таблицах простую отметку времени вместо хеша? Хотя это крайне маловероятно, хэш в обеих таблицах может быть одинаковым, даже если таблицы имеют разное содержимое.

Правильно реализованная отметка времени никогда не будет иметь подобных коллизий.
 

BR4IN


Рег
09 Apr, 2014

Тем
0

Постов
2

Баллов
2
Тем
49554
Комментарии
57426
Опыт
552966

Интересно