A T*_*A T 7 postgresql hadoop bigdata mongodb apache-spark
我正在构建一个社交网络,包含各种功能,其中许多功能由大数据密集型工作负载(如机器学习)提供支持.例如:推荐系统,搜索引擎和时序序列匹配器.
鉴于我目前有5个<用户 - 但有意义的显着增长 - 我应该使用哪些指标来决定:
将Postgres看作是减少它与Spark之间移植压力的一种手段(使用一个适用于它们的SQL抽象层).Spark似乎很有趣,可以想象它可以快速回答各种ML,SQL和Graph问题.MongoDB是我通常使用的,但我发现它的缩放和map-reduce功能非常有限.
我认为您正朝着寻找软件堆栈/架构的正确方向:
为了这些优点,Hadoop + Spark可以为您提供所需的优势.Hadoop目前相对成熟,以批量方式处理大规模数据.它支持可靠和可扩展的存储(HDFS)和计算(Mapreduce/Yarn).通过添加Spark,您可以利用Spark添加的存储(HDFS)和实时计算(性能).
在开发方面,Java/Scala本身支持这两个系统.这些库的支持,性能调优在stackoverflow和其他地方都很丰富.至少有一些机器学习库(Mahout,Mlib)使用hadoop,spark.
对于部署,AWS和其他云提供商可以为hadoop/spark提供主机解决方案.也不是问题.
我想你应该将数据存储和数据处理分开。特别是“Spark 还是 MongoDB?” 不是一个好问题,而是“Spark、Hadoop 还是 Storm?” 还有“MongoDB、Postgres 还是 HDFS?”
无论如何,我都会避免让数据库进行处理。
| 归档时间: |
|
| 查看次数: |
1970 次 |
| 最近记录: |