Cassandra 是否是 Hadoop 作为数据仓库的一个很好的替代方案,其中数据仅附加,并且源数据库中的所有更新不应覆盖数据仓库中的现有行,而应附加。Cassandra 真的是作为一个数据仓库还是仅仅作为一个数据库来存储批处理/流查询的结果?
小智 3
Cassandra既可以用作数据仓库(原始数据存储),也可以用作数据库(用于最终数据存储)。这更多地取决于您想要处理数据的情况。
您甚至可能需要同时拥有 Hadoop 和 Cassandra 来实现不同的目的。
假设您需要收集和处理来自多个移动设备的数据,并向用户提供一些复杂的聚合报告。因此,首先,您需要尽快保存数据(因为新部分经常出现),因此您在这里使用 Cassandra。由于 Cassandra 的聚合功能有限,您将数据加载到 HDFS 中并通过 HQL 脚本进行一些处理(假设您不太擅长编码,但擅长复杂的 SQL)。然后,您将报告结果从 HDFS 移动到 Cassandra 中按用户 ID 分区的专用报告表中。
因此,当用户想要获得有关其上个月活动的聚合报告时,应用程序会获取活动用户的 ID 并从 Cassandra 返回聚合结果(因为它是简单的键值搜索)。
因此,对于您的问题,是的,它可能是一种替代方案,但选择策略取决于数据类型和您的应用程序业务案例。您可以在此处
阅读有关 Cassandra 使用的更多信息
| 归档时间: |
|
| 查看次数: |
5797 次 |
| 最近记录: |