在我们的系统中,用户可以查看和“关闭”报告。他们关闭报表后,将报表移到数据库中的临时表中,并在其中保留24小时,然后再移至存档表(该表将在接下来的7年中存储)。在这7年中的任何时候,用户都可以“重新打开”报告并对其进行处理。问题在于文件存储空间越来越大,查找/重新打开报告往往很耗时。而且我需要不时获取有关存档的统计信息(即报告日期,客户,“已打开”的平均长度等)。我想使用大数据方法,但是我不确定是否要使用Hadoop,Cassandra或其他工具?有人可以为我提供一些入门指南,并决定如何使用吗?
最佳答案
如果存档很大,并且您想从中获取报告,那么您将无法仅使用Cassandra,因为它没有简单的汇总数据的方法。您最终将在同一节点上并置Hadoop和Cassandra。
根据我的经验文件(一次写入-读取多次),如果您有大量写入(对于备份sysyem的后端,我们已经尝试过了),那么这并不是Cassandra的最佳用例。根据您的压缩策略,您将为此付出空间或以物有所值。添加的更改通过SSTable层次结构传播,从而导致写入次数比原始更改多得多。
在不知道其他变量的情况下不可能完全回答您的问题:您要分配多少硬件(服务器,其ram / cpu / hdd / ssd)?每个“报告”条目的大小是多少?您通常每天提供多少次读/写操作?您的文件存储现在有多大?
关于hadoop - Hadoop与Cassandra:在以下情况下哪个更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41530076/