BT

ビッグデータ: 言語は本当に重要か?

| 作者: Charles Menguy フォローする 0 人のフォロワー , 翻訳者 大田 緑 - (株)チェンジビジョン フォローする 1 人のフォロワー 投稿日 2014年2月11日. 推定読書時間: 3 分 |

原文(投稿日:2014/01/20)へのリンク

ビッグデータの分野では、数十億ものイベントの中で、たった1ミリセコンドの損失が重大な影響を与える。それにもかかわらず、Pythonのような遅いと考えられている言語が、この1年で非常に人気が出ている。ビッグデータコミュニティの最近の記事や議論では、データサイエンスとビッグデータのプログラミング言語の選択について、論争を始めている。

AdRollの主席エンジニアであるVille Tuulos氏によると、言語のパフォーマンスそのものは問題ではない。Ville氏の調査結果は、2013年9月にサンフランシスコで開催されたミートアップで発表され、Pythonで構築されたAdRollのバックエンドスタックと、AmazonのRedshiftのような巨大なシステムよりも優れたパフォーマンスをどのように発揮できるかを示した。ここで重要なのは、AdRollは、自分たち特有のユースケースに基づき、システムを構築していることだ。そのため、その1つのユースケースのために最適化できる。Ville氏は次のように述べた。

どの言語を使うかに関わらず、ハイレベルな言語を使い、一般的なソリューションよりも優れている、ドメイン特化言語のソリューションを実装できます。

これは、言語がまったく関係ないという意味ではない。データサイエンスやビッグデータにはどの言語が最適かについて、最近、数多くの議論が行われている。何度も議論されているのは、PythonやRだ。データサイエンス戦争について話す人もいる。LinkedInのトピックでは、興味深い議論が始められ、全般的な意見では、Rは学問的な言語であり、データサイエンティストにとっては、大量のパッケージとその多様性によって、Rがより優れたものになっている。

しかし、すべてを考慮すると、Pythonのほうがプログラマたちの心に訴えかけるものがあり、大量のデータを扱う場合について、Dish Networkのデータサイエンティスト、Tom Rampley氏は以下のように述べている。

私は、様々なパッケージの統計的機能を利用するため、広範囲に渡ってRを利用します。また、小さなデータセットの操作にもRを使います。しかし、テキストのパースや大規模データセットの操作、自分のアルゴリズムをコーディングする場合は、NumpyScipyPandasのパッケージと組み合わせて、Pythonを使うほうがずっと良いと思います。

ここ数か月は、Pythonが勝者になっているようだ。Karissa McKelvey氏は、2013年10月に「私のデータは大きく、Rではロードできない」というブログを書いているし、Matt Asay氏は、「Rはデータサイエンスの博士号を持つ人たちには人気があるが、データが主流になるにつれて、Pythonが優位になっている」と述べた。

複雑なアーキテクチャの中でどの言語を使うか決める時、その言語のパフォーマンスは重要な要素になる。そして、このことは、誇張されがちだ。本当に大切なのは、その言語をどう使うかであり、Linus Torvalds氏は次のように述べている。「悪いプログラマはコードに悩む。良いプログラマはデータ構造とその関係性に悩む。」

Clouderaの最近のオープンソースプロジェクトであるImpalaを例に見てみよう。Impalaは、クエリを劇的に速く実行するために、Hiveから置き換えるように提案されている。残りのHadoopスタックはJavaで書かれているが、ImpalaはC++で書くことを選んだ。この変更の理由は、しばしばパフォーマンスのためだと言われている。しかし、パフォーマンスの向上は、単にJavaからC++への切り替えのためだけではない。Impalaは、MapReduceを使わずに、データをメモリにキャッシュする。異なるデータ構造と制限を持った、完全に別のパラダイムを使うため、初めからパフォーマンスが良いのは明らかなのだ。JavaからC++に切り替えられたのは、さらに先を行くために素晴らしいことではあるが、パフォーマンス向上の大きな要因ではないだろう。

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT