2011-07-02 163 views
2

我正在使用Cassandra来存储我解析的站点日志。我有两个具有多个二级索引的列族。日志数据本身大小约为30 GB。然而,cassandra数据库的大小是〜91g。有什么办法可以减少这家商店的大小?另外,将有多个二级索引对数据存储大小有重大影响?Cassandra数据存储大小

回答

4

潜在地,二级指标可能会产生很大的影响,但很明显,这取决于您对它们的投入!如果大多数数据条目都出现在一个或多个索引中,那么这些索引可能占您存储空间的很大一部分。

您可以看到每个列族使用JConsole和/或'nodetool cfstats'有多少空间。

您还可以查看磁盘数据文件的大小以了解使用情况。

也有可能数据没有经常刷新到磁盘 - 这可能导致很多commitlog文件长时间留在磁盘上,占用额外的空间。如果您的某些列系列仅轻载,则会发生这种情况。请参阅http://wiki.apache.org/cassandra/MemtableThresholds以获取调整参数。

如果您有很多小列,那么列名可能会占用相当大比例的存储空间,所以在有意义的情况下可能需要缩短它们的大小(如果它们是时间戳或其他有意义的数据,则不是这样)。 。

+1

感谢您的DNA提示!我做了一些分析,发现快照也占用了很多空间。 –

+0

好点 - 您可以使用nodetool本地和全局删除快照,或者只是手动删除它们。 – DNA