У нас есть приложение с 10 таблицами основных [статических] данных (каждая из которых содержит около 100 строк). Обновления этих таблиц незначительны. Все данные этих таблиц будут отображаться в приложении как список выбора.
- Произойдет ли какое-либо улучшение производительности, если значение rows_per_partition будет изменено на 100, как показано ниже, со значения по умолчанию «NONE»? Поскольку эти главные таблицы не обновляются и не доступны постоянно
Eg:
ALTER TABLE devloc.regions
with caching = {
'keys' : 'ALL',
'rows_per_partition' : '100'
};
Одна таблица имеет 100 столбцов данных и часто запрашивается для отображения информации. Это похоже на справочную таблицу.
модель данных1
СОЗДАТЬ ТАБЛИЦУ devloc.display_all (id uuid PRIMARY KEY, отметка времени datevalue, текст col2, текст col3, текст col4, текст col5, текст col6, текст col7, ....... до 100 столбцов)
Запрос: выберите * из devloc.display_all, где id = 89d23c25-4921-4d57-8f2c-87a9f4ca204d;
Это таблица временных рядов, и данные растут ежедневно в течение многих лет. добавит ли значение даты в качестве ключа сегментирования, что повысит производительность запроса?
модель данных2
СОЗДАТЬ ТАБЛИЦУ devloc.display_all (идентификатор uuid, временная метка значения даты, текст col2, текст col3, текст col4, текст col5, текст col6, текст col7, ....... до 100 столбцов) с первичным ключом (id, datevalue);
Завершил стресс-тестирование для обеих моделей и показал хорошую производительность, когда значение даты не использовалось в качестве корзины.
Первый всплеск связан с datamodel1, а второй - с datamodel2. Для нас задержка имеет большое значение даже в миллисекундах. Может кто-нибудь помочь мне понять?
DSE 4.8.5
read Write Consistency level LOCAL_QUORUM
replication 3
Datacenters 2