Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Cassandra中的修剪列_Php_Cassandra_Phpcassa - Fatal编程技术网

Php Cassandra中的修剪列

Php Cassandra中的修剪列,php,cassandra,phpcassa,Php,Cassandra,Phpcassa,我正在考虑将Cassandra用于一个大型数据项目。数据将来自传统的数据仓库。Cassandra将以我的应用程序能够正确读取的方式托管格式化的数据 我不太明白如何删减卡桑德拉的数据 例如,我想计算一个特定ip地址在过去24小时内访问一个网站的次数。我计划每小时生成一次数据,我希望每个IP地址保留2周。我的列结构如下所示: 127.0.0.1: { visitorsLast24Hours: { 1279554672: 30, 1279553072: 24, etc...

我正在考虑将Cassandra用于一个大型数据项目。数据将来自传统的数据仓库。Cassandra将以我的应用程序能够正确读取的方式托管格式化的数据

我不太明白如何删减卡桑德拉的数据

例如,我想计算一个特定ip地址在过去24小时内访问一个网站的次数。我计划每小时生成一次数据,我希望每个IP地址保留2周。我的列结构如下所示:

127.0.0.1: {
  visitorsLast24Hours: {
    1279554672: 30,
    1279553072: 24,
    etc...
  }
}
如何从visitorsLast24Hours列中删除行

到目前为止,我提出的最佳解决方案是:

  • 获取我想要使用的专栏
  • 删减我不想再保留的值
  • 从数据库中删除该列
  • 重新插入新的修剪列
  • 这似乎是一种处理数据库的糟糕方法。我假设根据Cassandra中的存储方式,我的数据量会膨胀

    有没有更有效的方法

    我目前正在使用作为Cassandra的接口


    谢谢

    实际上,您不必删除并重新写入整个列。假设您在这里使用的是超级列,您可以从超级列中删除一个指定的键(在本例中是VisitorSlas24小时)。因此,您将遍历超级列中早于截止时间的特定键值,并删除其中的每一个。使用超级列,您不必在每次添加或删除子行时重新写入整个数据集。感兴趣的项目:切片和删除。

    您实际上不必删除并重新写入整个列。假设您在这里使用的是超级列,您可以从超级列中删除一个指定的键(在本例中是VisitorSlas24小时)。因此,您将遍历超级列中早于截止时间的特定键值,并删除其中的每一个。使用超级列,您不必在每次添加或删除子行时重新写入整个数据集。感兴趣的项目:切片和删除。

    如果我错了,请纠正我的错误,但这些nosql内容的全部要点不就是存储中确实存在大量重复&更新的难度更大,以便更快地选择/获取数据吗?好吧,这是一种权衡令人惊讶的是,我强烈要求对何时可以/应该使用nosql进行争论*/是的,我只是想知道是否有比我提出的方法更好的方法。或者,我可以运行修剪的频率低于更新的频率。例如,数据每小时更新一次,每周或每月删减一次。如果我错了,请纠正我的错误,但这些nosql内容的全部要点不就是存储中确实存在大量重复&更新的难度更大,以加快数据的选择/获取吗?好吧,这是一种权衡令人惊讶的是,我强烈要求对何时可以/应该使用nosql进行争论*/是的,我只是想知道是否有比我提出的方法更好的方法。或者,我可以运行修剪的频率低于更新的频率。例如,数据每小时更新一次,每周或每月修剪一次。