解析処理でスピードアップするポイントまとめイベント[クローリングのスペシャリストが語る、クローラー運用の裏側]の資料公開ちょっと前のイベントになりますが、横浜関内のmassmassフーチャーセンターにて「クローリングのスペシャリストが語る、クローラー運用の裏側」というイベントを実施し、壇上させていただきました。クローリングは膨大なインターネットの情報から必要な情報を自動収集する技術で、現在のインターネットには必要不可欠なものとなっています。自動収集の仕組みを、いざ、本格的に開発/運用しようとなると、データ鮮度をいかに保つか、大量データをどのように保存するかといった様々な課題があります。実際に運用する前...bayside-tech-bridge.connpass.com今回は、その時発表した「検索のスピードアップ」の資料と内容をご紹介します!資料はスライドシェアにアップしてありますのご自由にご覧ください。Bridge"が運営するイベントの1つです。Bridgeは、テクノロジーを通じて、世界とつながる、未来の世界を考える、新しい世界を実現する人のための横浜を中心に活動するコミュニティです。bayside-tech-bridge.connpass.com今後もエンジニアやデザイナーといったテクノロジーに関わる全ての方々に向けたイベントや情報を共有していきます。横浜を中心に活動しておりますので、毎月もくもく勉強会をしておりますので、興味のある方はお気軽にご参加ください。私が発表させていただいた内容は題名の通りで、検索のスピードアップにおけるポイントです。今回はポイントを3つに絞りました。クロールとAPIどこでスピードアップ?解析処理でスピードアップするポイントこの辺のポイントを掻い摘んでご紹介します。クロールとAPIWEB上のデータを取ってくる時は、HTML検索かAPI検索の2パターンがほとんどです。ここでのポイントは、"APIを積極的に使い検索をスピードアップしましょう"という事です。APIを使うメリットは大きいです。速いレウアウト変更がないAPI側で何らかのアクションがある場合は連絡が来る現在では、ほんとに色んな企業がAPIを提供してくれています。あなが欲しいデータがあり、これからクロールを行おうとしているなら、まずAPIが存在するか確認して下さい。どこでスピードアップ?検索を行う際には、検索を行う一連の流れがあります。検索のスピードアップを行おうとした時は、これらの処理ごとにスピードアップさせる方法は違ってきます。それぞれの方法によって工数や費用も違います。最後のDBやストレージへの保存だと、DBのチューニングや最適化キャッシュサーバー、インメモリーデータストアの導入など、各セクションによってスピードアップ方法や、導入コスト、作業工数や難易度もバラバラです。解析処理でスピードアップするポイントでは実際にスピードアップを行う際に、比較的簡単にスピードアップできるテクニックをご紹介します。具体的には、"SAX"という解析手法を使います。API検索をする際には特に有効です。Wikipediaja.wikipedia.org最近の解析ツールはすごい便利で、簡単に導入して解析処理を行うことができます。XPATHやCSSセクタを指定すればデータを取得できちゃいます。これは解析ツールの仕組みがボトルネックになっています。ほとんどのツールがそうだと思いますが、XPATHやCSSセクタで指定する度にXMLソースを最初から検索します。こんなXMLがあったとします。<XML><data><hoge1>fuga1</hoge1><hoge2>fuga2</hoge2><hoge3>fuga3</hoge3></data></xml>これをCSSセクタ検索するとこんな感じになります。解析ツールはタグから読み、次にタグ、でようやくタグに辿り着きます。解析ツールはまた最初のタグから読み込みを開始します。これを解消できるのがSAXです。SAXの場合は上から下まで順に実行されます。SAXでXMLを読み込むhoge1タグの取得イベントが発生hoge2タグの取得イベントが発生といった具合にXMLを呼び込んだ順にデータを取得する事が可能になり、結果大幅なスピードアップを実現できます。まとめ使えるならAPIを使おうどこをスピードアップさせるか見極めようXML解析ならSAXもありだよ。検索するシステムは様々で、世の中の色んな場面で活用されています。ネタバレしてまうのが嫌な方は、ここから先に進まないで下さい。私がブログをアップする際に、必ず行っている画像の圧縮方法をご紹介します。Code」の概要をお伝えしました。今回は、実際にやってみましょう!TechエックスサーバーでWordPressを始めた感想と5つの理由はてなブログで始めたブログでしたが、先日「WordPressに移行しよう!」という計画を実施しました。ロリポップ最近、このブログを「WordPressへ移行しようかなぁ」なんて思い始めました。しましたー!」ってやっているの、よく見ますよね。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。