この募集は2017年10月14日に終了しました。

Go言語で並列処理によるMySQLテーブルの更新処理の開発の仕事

Go言語で並列処理によるMySQLテーブルの更新処理の開発に関する仕事・募集案件ページです。クラウドソーシングのランサーズで、Webシステム開発・プログラミングに関する最適な外注/発注先をお探しの方、副業案件・求人をお探しのフリーランスの方はまず会員登録がおすすめです。

見積もり募集の結果

募集期間

5日間

提案数

3件

当選人数

0 件

(募集人数1人)

見積もり募集の内容

依頼の目的・背景
【背景】
MySQL(MariaDB)で、キーワードでDBの文字列を曖昧検索をして、ヒットしたレコードにフラグを立てていくという処理をしています。(collateのlike条件)
XAMPP+PHP(smarty)のサイトです。
キーワードが6000ワードほどあり、検索対象は約100万レコードのテーブルが2つあり、非常に時間がかかっています。

文字列の前後をワイルドカードにしているため(collate)、おそらくindexは効かないと思っています。

そこで、少しでも速く処理を終わらせるために、Go 言語のゴルーチンで並列処理を行い、早く処理が完了させるようにしたいと思っています。

データ量からしてほぼバッチ処理のような感じです。

PHPでも並列処理をする方法があるのは知っていますが、そこに労力をかけるより、処理がサイトの本筋から独立していても、並列処理の得意なGo言語で簡単に実装したいと考えています。

【依頼事項】
元のサイトとは独立して良いので、Goの単独サイトでボタンを押すと、検索ワードが登録してあるテーブルからキーワードをを取得し、対象テーブルの文字列を検索する処理の開発を依頼したいと思っています。

CPUの並列処理数によって、分割数を判定し、キーワード自体を分割して並列に動かすなどを考えています。
例えば、6000キーワードあり、並列数4の場合、1500ワードずつ検索ワードを分けて、同時に4つの検索処理をするイメージです。
他に手があればご提案をお願いしたいです。

【実行環境】
現状、ユーザー様一人一人のローカルPCにXAMPPをインストールし、PHP資源をセットアップしてサイトをそれぞれ動かしています。
Windows、Macユーザ共にいらっしゃいます。
https://www.apachefriends.org/jp/download.html
のサイトの、Windows[5.6.31 / PHP 5.6.31]、Mac[5.6.31 / PHP 5.6.31]を使っております。

Goの場合は、Goのhttpサーバー(net/http)を使うのが一般的のようなので、それで動けば良いのですが、XAMPPのApacheと競合するようなことがなければ良いかなと思っています。具体的にはポート番号をずらすだけで良いのかなと思っておりますが、そこまで詳しくないため、そのあたりも助言いただけると助かります。

【期限、費用】
ご提案いただければと思います。

よろしくお願いいたします。
サイトの種類
その他
作業範囲
ランサーに相談して決めたい
用意してあるもの
設定なし
参考URL
設定なし
希望開発言語
Go言語(Go lang)
フレームワーク
ランサーに相談して決めたい
開発の継続性
この開発の後も、継続的に依頼したいと思っております。
補足説明
設定なし
キャンセル理由:発注の必要がなくなったため

お世話になっております。
今回Goでの並列処理化を依頼させていただいておりましたが、CPUでの処理待ちというよりDB側の処理待ちであり、単純にGoで並列化しても処理スピードアップが望めないことがわかりました。
目的を達成するために、別の案を考えることになりましたので、申し訳ございませんが、取り下げとさせていただきます。

この仕事に似たWebシステム開発・プログラミングの他の仕事を探す

会員登録する (無料)