Я выполняю студенческий проект, связанный с построением и запросом кластера данных Cassandra.
Когда загрузка моего кластера была небольшой (около 30 ГБ), мои запросы выполнялись без проблем, но теперь, когда она немного больше (1/2 ТБ), мои запросы истекают по тайм-ауту.
Я думал, что эта проблема может возникнуть, поэтому, прежде чем я начал генерировать и загружать тестовые данные, я изменил это значение в моем файле cassandra.yaml:
request_timeout_in_ms (по умолчанию: 10000) Тайм-аут по умолчанию для других, разных операций.
Однако, когда я изменил это значение на 1000000, казалось, что кассандра зависла при запуске, но это могло быть просто большим таймаутом на работе.
Моя цель для генерации данных - 2 ТБ. Как мне запросить этот большой объем без таймаутов?
запросы:
SELECT huntpilotdn
FROM project.t1
WHERE (currentroutingreason, orignodeid, origspan,
origvideocap_bandwidth, datetimeorigination)
> (1,1,1,1,1)
AND (currentroutingreason, orignodeid, origspan,
origvideocap_bandwidth, datetimeorigination)
< (1000,1000,1000,1000,1000)
LIMIT 10000
ALLOW FILTERING;
SELECT destcause_location, destipaddr
FROM project.t2
WHERE datetimeorigination = 110
AND num >= 11612484378506
AND num <= 45880092667983
LIMIT 10000;
SELECT origdevicename, duration
FROM project.t3
WHERE destdevicename IN ('a','f', 'g')
LIMIT 10000
ALLOW FILTERING;
У меня есть демонстрационное пространство ключей с теми же схемами, но с гораздо меньшим размером данных (~ 10 ГБ), и эти запросы отлично работают в этом пространстве ключей.
Все запрашиваемые таблицы содержат миллионы строк и около 30 столбцов в каждой строке.