- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
卒研発表
データベースによる並列処理 情報論理工学研究室 三宅健太 本研究の背景 パラレルクエリ * * データベース 検索 応答 ユーザ 膨大な量からなるデータ 1つの応答時間が、 非常に大きなもの となってしまうこと がある。 × × 3. データのサイズが大きすぎる。 最大の原因!! 原因 2. インデックスの張り方 1. SQL文の文法 あらかじめデータを細分化し、手分けして処理する。 PHP データベース 計算機 解決策 目的 分割されたテーブルにデータを挿入し、処理速度の向上の目指す。 データベースとの連携に優れたプログラムの表記法 挿入 取り出す 出力 テーブル テーブル テーブル テーブル パラレルクエリ 逐次クエリ データを順番に処理していく データを分割し、結果をまとめる。 クエリ クエリ 結果 結果 データベース環境の構築 準備 Windowsの標準環境には、DBは付属していない。 XAMPP MySQL TeraPad Apache データベース テキストエディタ 必要なソフトウェアをインストールしなければならない。 MySQLによる逐次クエリ パラレルコードによるパラレルクエリ 研究内容 双方のクエリを実行し、それぞれ処理時間を測定する。 それぞれの結果を検証し、双方の結果を比較する。 検証手順 [1]データの分割?挿入 [2]MySQLによる各テーブルへのクエリ処理 [3]パラレルコードによる各テーブルへのクエリ [4]結果をまとめる 各テーブルを(T1-----Ti(2=i=10)) とし、テーブル全体をマージして比較用のテーブルT0を作成する。 T0 例 文字列 文字列 分割なし 2分割 T2 T1 300万レコード 150万レコード 150万レコード 各クエリごとにレコード数が均等になるように2~10個のデータに分割?挿入する。入力データは、文字列(a~z)をシャッフルしたもの。 [1]データの分割?挿入 挿入 挿入 文字列 T2 T1 挿入 MySQL 例 2分割 T0 MySQL マージ結合 [3]パラレルコードによる各テーブルへのクエリ 各テーブルにパラレルコードを使用して、”sql”と配列された文字列を含む行を出力すると命令し、その処理速度を測定する。 T0 MySQL 例 分割なし 2分割 T0 MySQL マージテーブル 逐次テーブル クエリ 結果表示 クエリ 結果表示 T0 MySQL 例 分割なし 2分割 MySQL クエリ 結果 クエリ 結果 T1 T2 [2]MySQLによる各テーブルへのクエリ処理 各テーブルに入力された文字列(a~z)から、”sql”と配列された文字列を含む行を出力すると命令し、その処理速度を測定する。 出力された結果を作成した一時ファイルに追記し、処理速度の測定の結果を表示する。 一時テーブル 例 分割なし 2分割 結果 結果表示 一時テーブル 結果 結果表示 追記 追記 追記 集計 T0 T1.T2 出力 [4]結果をまとめる 各テーブルの処理がすべて完了しているかをチェックし、 MySQLによる逐次クエリの結果を、各分割ごとに比較 パラレルコードによるパラレルクエリの結果を、各分割ごとに比較 双方のクエリの結果を検証し、比較 MySQLによる逐次クエリ パラレルコードによるパラレルクエリ 結果
文档评论(0)