C/C++ 是否存在大数据生态圈,为什么? 现在一提起大数据,基本就等同于 Hadoop / Spark / Storm 等一系列 JVM 体系下的开源架构;而如果说要用 C/C++ 的话,基本就是还在造轮子的阶段,差距十分悬殊。 是不是有一天也会像 Nginx 的诞生一样,在 Apache 如日中天的时候,有一个神秘的 C 高手团队造就了 Nginx 现在的地位。 个人的臆想是,在 Linux 文件系统上再用 C 做一个文件管理层(据我了解阿里云和百度已经是这样干的),分布式通信可以借鉴 Thrift 这样的 RPC 框架,shell 层可以考虑使用 C++ / Python等相对敏捷的语言来实现,还有 MySQL、Redis 这样的亲戚可以一并拉入来实现部分文件索引工作。 计算引擎方面,实现像 Spark 那样实时的流式计算,无非就是把数据和索引建在内存里,提供一些类似 MLlib 的算法包。任务调度和负载均衡可以借鉴 Nginx 然后根据实际计算需求加以平衡。曾经用 C++ 写过一个较为轻量级的分布式计算引擎,相比起 Spark 而言,时间性能提升1到2个数量级,内存减少四到五倍。 但是为何业界还是一致地在追求 JVM 体系下的大数据架构?只是功利性地考虑了用人成本、技术成本、维护成本吗?或者是牛逼的企业已经做了,只是都不愿意公开? 参考https://www.zhihu.com/question/37016145