データ処理の仕組み
背景
nehan のベースプランにおけるデータ処理は、Python で行っています。
しかし、データサイズが大きくなると処理が遅くなる、あるいは処理ができないというデメリットがあります。
対して、Hyper nehan オプションは、ビッグデータを Apache Spark(以下、Spark)で処理することで高速化を実現することができます。
自動スイッチ機能
Spark はあくまでビッグデータに対して高速処理を発揮するものであり、小さいデータの処理時間は Python のほうが早いです。
そこで nehan では、データサイズに応じて処理するエンジンを Python と Spark で切り替える仕組みを搭載しています。
これにより、どんなデータサイズでも高速処理ができるように工夫をしています。
パフォーマンス比較
検証環境
- ベースプラン: X ラージ
- Hyper nehan オプション: Hyper1
検証データ
- 1GB: 約 1,700 万行 ✕ 14 列
- 5GB: 約 8,400 万行 ✕ 14 列
処理速度検証結果
サーバの構成
Hyper nehan オプション適用環境下では、ベースプランに紐づくベースサーバとは別に、Hyper nehan サーバも稼働させます。
自動スイッチ機能によって、下記のように処理が振り分けられます。
- Python でスモールデータを処理する場合はベースサーバ上で行う
- Spark でビッグデータを処理する場合は Hyper nehan サーバ上で行う
なお、Hyper nehan 適用環境下においても、スモールデータの処理が大量に発生することで、ベースサーバの処理可能データサイズを超えてしまうことがある点に注意してください。