大規模なデータ プロジェクトに Cassandra を使用することを考えています。データは、従来のデータ ウェアハウスから取得されます。Cassandra は、アプリケーションが正しく読み取れるようにフォーマットされたデータをホストします。
Cassandra からデータを削除する方法がよくわかりません。
たとえば、過去 24 時間に特定の IP アドレスが Web サイトにアクセスした回数を数えたいとします。このデータを 1 時間ごとに生成する予定で、IP アドレスごとに 2 週間保持したいと考えています。私の列の構造は次のようになります。
127.0.0.1: {
visitorsLast24Hours: {
1279554672: 30,
1279553072: 24,
etc...
}
}
visitorLast24Hours 列から行を削除するにはどうすればよいですか?
これまでのところ、私が思いついた最善の解決策は次のとおりです。
- 操作したい列を取得する
- 保持したくない値を削除する
- データベースから列を削除します
- 新しい剪定された列を再挿入します
これは、データベースを操作するための貧弱な方法のようです。Cassandra でのストレージの方法に基づいて、データ サイズが膨れ上がると想定しています。
それを行うためのより効率的な方法はありますか?
私は現在、Cassandra へのインターフェースとしてphpcassaを使用しています。
ありがとう!