2017-08-11 8 views
0

私は以下の機能を備えたアプリケーションを構築するための解決策を探しています:は、このシナリオではPythonとHadoopのどちらが良い選択ですか?

  • いくつかの小さなものに関連している可能性があり、テーブル内の行の-potentially-何百万ものデータベースの化合物。など

  • 高速単一のクエリ、「テーブル* FROMをSELECT WHERE%値LIKEフィールド」これは、Linuxサーバー上で実行されます

  • :シングルノードが、将来的にはおそらく複数のノード。

PythonとHadoopをお勧めしますか?

Pythonで書かれた簡単な例を見て、私の片目で概念証明を見て決定を下すために、Hadoopに情報を追加/取得する方法はありますか?

ありがとうございます!

+2

これはあまりにも広い質問ですが、その音によって、Hadoopは過剰なようです。 SQLをサポートする従来のメモリ内フレームワーク(例えば、WebアプリケーションのDjango、データ解析のためのPandasなど)は、それ以上の速さでなければなりません。 – jdehesa

+1

ハーフープと言ったら、HDFSですか? もしそうなら、あなたはApache Parquetを見たいでしょう。 "Apache Parquetは、データ処理フレームワーク、データモデル、またはプログラミング言語の選択にかかわらず、Hadoopエコシステムのどのプロジェクトでも利用可能な円柱型のストレージ形式です。 https://parquet.apache.org/ –

+0

質問には幅がありますが、幸いにもひどい答えがあることに同意するので、私はそれを閉じる必要はないと思います。 –

答えて

1

ないこれらの質問はここで話題にしているが、幸い答えは十分に簡単であるかどうかを確認します。これらの日で

000000行は、もはや単にその大きさではない、でもExcelは万人以上を保持することができます。 大きなテーブルに数百万行があり、素早く小さなselect文を実行したい場合は、おそらくHadoopを使わない方がよいでしょう。

Hadoopは1億行のセットに適していますが、パフォーマンスが低下し、メンテナンスが必要です。

したがって、MySQLのような通常のデータベースソリューションをお試しください。あなたのデータが大きく成長し始めるまで、少なくとも。


高度な分析処理にPythonを使用できますが、単純なクエリではSQLを使用することをお勧めします。

+0

私は数百万を意味し、私は既にMysqlにそのような量のデータでうまく設計されたデータベースを処理する深刻な問題があることを確認しました – hertsmael

+0

@hertsmaelおそらくあなたは数百万(おそらくSQLスケール)から数億(大きなハーフトーンが面白くなる)の間にはまだ大きな違いがあるため、正確な数値が得られます。 - さらに、Hadoopは、主に単一のボックスで使用する場合はオーバーヘッドを追加するだけなので、データを処理できるボックスがある場合は、それを気にしないでください。 - SQLスケーラビリティに関するいくつかの参考文献(おそらく、MySQLはスケーラビリティが最も優れているわけではありませんが、Oracleなどにはありません)https://stackoverflow.com/a/1995078/983722 –

+0

私は本当に詳細を知りたいと思いますデータベースはおよそ2.5TBの情報量です – hertsmael

関連する問題