首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据磁盘空间的使用情况,Cassandra是否适合存储日志?

根据磁盘空间的使用情况,Cassandra是否适合存储日志?
EN

Stack Overflow用户
提问于 2010-06-28 18:48:11
回答 1查看 871关注 0票数 1

在分布式环境中,每天存储50 of的日志有问题。我看过Hadoop,但是由于它在Windows基础设施上运行有问题,缺少多语言的文件系统API,所以不太适合我。另一方面,卡桑德拉在任何平台上都很容易部署。我面临的唯一大问题是磁盘空间的使用。以下是数字:

  • 原始日志大小为224 is。
  • Cassandra数据文件为557 is
  • Cassandra索引文件为109 is

因此,在从日志文件存储日志行时,我的开销几乎是2倍。

是否有可能以某种方式对Cassandra进行调优,这样它就不会在非常简单的情况下占用这么多磁盘空间?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-06-28 20:38:42

我猜你指的是列家族中的一行(四列)?与每个列相关联的“开销”是一个长的(时间戳,64位)和一个字节列名,最大64 kb。因此,4倍的磁盘使用似乎有点奇怪。你有做任何删除吗?一定要理解如何在分布式的、最终一致的系统中删除

一定要阅读关于"压实“的文章。(“压缩完成后,可以删除旧的SSTable文件”)

我还想提醒您,对于流是如何完成的,存在着一个限制。

Cassandra的公共API是基于Thrift的,它不提供流媒体功能--任何写入或获取的值都必须保存在内存中。这是特留瓦的设计固有的,因此不太可能改变。因此,向Cassandra添加大型对象支持需要一个特殊的API,该API可以手动将大型对象分割成碎片。在http://issues.apache.org/jira/browse/CASSANDRA-265中描述了一种潜在的方法。作为一种解决办法,您可以手动将文件分割成任意大小的块--至少有一个人正在使用64 to -并使一个文件对应于一行,并将这些块作为列值。(来自wiki上的“Cassandra限制”页面)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3135228

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档