Webシステム開発・プログラミングに関連した他の仕事を探す
見積もり募集の結果
見積もり募集の内容
-
依頼の目的・背景
-
【背景】
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システム開発・プログラミングの他の仕事を探す