脫離 JVM? Hadoop 生態圈的掙扎與演化
越來越多的項目將眼光投向了 JVM 本身,希望通過解決 JVM 本身帶來的一些問題,提高分佈式系統的性能或是健壯性,從而增強自身的競爭力。
JVM 存在的問題
- Java 對象開銷
- 對象存儲結構引發的 cache miss
- 大數據的垃圾回收
- OOM 問題
內文有提到 Spark 及 Flink 如何繞開 JVM 的問題。其實 Cassandra 也用到很多類似的方法,甚至另有團隊直接用 C++ 重寫,獲得 10 倍效能提升。
再反觀中國互聯網,BAT (百度 / 阿里巴巴 / 騰訊) 也都開始用 C++ 重寫 Hadoop 生態圈。連相對規模小的公司,如中國雲梯也正加入以 C++ 改寫的行列。
所以不管從國外或中國的經驗上,JVM 的優勢似乎在大數據領域中漸漸流失。