【发布时间】:2016-12-21 07:54:59
【问题描述】:
我们有数十亿条用关系数据格式格式化的记录(例如事务 id、用户名、用户 id 和其他一些字段),我的要求是创建用户可以从该数据存储请求数据导出的系统(用户将提供一些过滤器,如用户 ID、日期等),通常导出的文件将根据所选过滤器包含数千到数万到数百万条记录(输出文件将是 CSV 或类似格式)
除了原始数据,我还在数据导出期间寻找一些字段的动态聚合。
用户提交请求和导出数据文件可用之间的典型时间应在 2-3 分钟内(最长可以为 4-5 分钟)。
我正在为这个用例寻求关于后端 noSQL 的建议,到目前为止,我一直在使用 Hadoop map-reduce,但在我看来,使用典型 HDFS 数据 map-reduce 执行 hadoop 批处理作业可能无法提供预期的 SLA。
另一种选择是使用我从未使用过的 Spark map-reduce,但它应该比典型的 Hadoop map-reduce 批处理作业快得多。
我们已经尝试过生产级 RDBMS/OLTP 实例,但由于我们要导出的数据大小和动态聚合,这显然不是一个正确的选择。
关于在这里使用 Spark 有什么建议吗?还是其他更好的 noSQL?
总结 SLA,动态聚合和原始数据(百万)是这里的需求考虑因素。
【问题讨论】:
标签: hadoop apache-spark nosql