SQL Server 2012 フルテキスト検索の新機能(後編)

EnterpriseZine / 2012年4月19日 0時0分

日本マイクロソフトの平山です。今回の連載では引き続きSQL Server 2012フルテキスト検索で強化された機能を紹介します。派手なかたちで目に触れる機会は少ないのですがSQL Server2012フルテキスト検索では、パフォーマンスを向上させるために数多くの取り組みが行われています。今回の記事ではじっくりそれらの点について触れてみたいと思います。

 日本マイクロソフトの平山です。今回の連載では引き続きSQL Server 2012フルテキスト検索で強化された機能を紹介します。派手なかたちで目に触れる機会は少ないのですがSQL Server2012フルテキスト検索では、パフォーマンスを向上させるために数多くの取り組みが行われています。今回の記事ではじっくりそれらの点について触れてみたいと思います。

■パフォーマンスの改善

 SQL Server の新しいバージョンがリリースされるたびに、フルテキストに関連するデータ格納方式は大きく進化を遂げてきました。かつてフルテキスト検索で使用されるオブジェクトは、データベース外の単なるOSファイルとして管理されていました。そのため、運用面のコストやセキュリティ面のリスクといった観点から、あまり望ましくない状態にありました。そのような状況を改善するために、通常のオブジェクトと同様にデータベース内で管理できるようにすることが急務でした。その結果としてSQL Server 2008からは、ほぼ全てのオブジェクトをデータベース内に取り込むことができています。

 一方、データ構造の統合を実現するための作業の優先度があまりに高いため、フルテキスト検索に関わる各種操作のパフォーマンスを向上させるための実装が、やや後手に回っていた感があったのも事実です。

 しかし、SQL Server 2012ではついにパフォーマンスに関わる部分にメスが入れられ、大幅に改善されています。そのなかでも代表的なものをいくつか見ていきましょう。
検索処理の並列化

 実は SQL Server 2008 R2 まで、フルテキストインデックスに対する検索は、たった一つのスレッドで実行されていました。そんな状況であれば、当然のことながら巨大なサイズのフルテキストインデックスに対しては、それなりの検索時間が必要となってしまうのは自明ともいえました。そして、ついにSQL Server 2012 からは複数スレッドによって検索処理の並列実行が行わるようになりました。これによって、より大きなフルテキストインデックスに対する検索スピードを短縮することでき、スケーラビリティの向上につながります。
マスターマージ処理の並列化

  • 前のページ
    • 1
    • 2
  • 次のページ
EnterpriseZine

トピックスRSS

ランキング