1
PHP Mongoドライバを使用すると、データベースでコードを実行できます。 これはシャード環境でも機能しますか?私は、eval()を使って評価するコードは、シャード環境では動作しないことを知っています。MongoDB :: executeはmongos eval()を内部で使用していますか?
$db->execute(
new MongoCode('SomeFunc(o)', array(
'o' => array('name' => 'test')
))
);
シャード環境でコードをどのように実行することができますか? –
あなたは2つのオプションがあります - 1つのコンピュータにデータを取得してそこにあるものを計算することができます。 MongoDBのMRはシングルスレッドのもので、実際にHadoopと競合することはできません(これはmongoDBでも使用できます)。 MRを使用する前に2回考えると、開発にはさらに多くの時間がかかり、通常の処理に比べて時間がかかります。これは、非常に大量のデータに対してのみ有効です。私の助言は、最初の選択肢から始まり、単一のプロセスがもう十分でない場合にだけMRを使用することです。 – johndodo
私はすでにnode.jsにあなたの最初の提案を実装しました。問題は、膨大な量のデータ(私は約100kのエントリでテストされている)で遅いことです。 私の考えは、ストアドプロシージャとしてノードからmongoにコードを移動し、ミドルウェアから呼び出すことでした。 –