Я думаю об использовании Кассандры для большого проекта данных. Данные будут получены из традиционного хранилища данных. Cassandra будет размещать данные, сформированные таким образом, чтобы мое приложение могло правильно его прочитать.Обрезка колонн в Кассандре
Я не совсем понимаю, как я обрезаю данные из Кассандры.
Например, я хочу подсчитать количество посещений, которые был указан конкретным IP-адресом на сайте за последние 24 часа. Я планирую генерировать эти данные каждый час, и я бы хотел сохранить 2 недели на IP-адрес. Моя структура столбцов выглядит так:
127.0.0.1: {
visitorsLast24Hours: {
1279554672: 30,
1279553072: 24,
etc...
}
}
Как удалить строки из столбца visitorsLast24Hours?
До сих пор, лучшее решение, которое я придумал это:
- Получить колонку я хочу работать с
- Прюн значения я больше не хочу, чтобы
- Исключить столбец из базы данных
- Re-вставить новый столбец отсеченной
Это похоже на плохой метод для работы с базой данных. Я предполагаю, что мои размеры данных будут баллонами, основываясь на способе хранения в Кассандре.
Есть ли более эффективный способ сделать это?
В настоящее время я работаю с phpcassa в качестве своего интерфейса к Кассандре.
Спасибо!
Исправьте меня, если я ошибаюсь, но не все это указывает на то, что на самом деле существует много дублирования в хранилище и более сложное обновление для всех, чтобы ускорить выбор/получение данных? Афаик, это компромисс./* притесняет, чтобы призвать стать аргументацией о том, когда nosql может/должен использоваться */ – Wrikken
Да, мне просто интересно, есть ли лучший способ, чем метод, который я придумал. В качестве альтернативы, я мог бы использовать чернослив меньшую частоту, чтобы обновления. Например, данные обновляются ежечасно, чернослив еженедельно или ежемесячно. –