Navigation Menu

Skip to content

Commit

Permalink
[doc] update characteristic.
Browse files Browse the repository at this point in the history
  • Loading branch information
kou committed Sep 27, 2011
1 parent 3630e84 commit b1e5a33
Showing 1 changed file with 16 additions and 4 deletions.
20 changes: 16 additions & 4 deletions doc/ja/source/characteristic.rst
Expand Up @@ -23,7 +23,6 @@ TritonnではMySQLサーバのソースコードを直接修正していまし

一方、groongaストレージエンジンはPluggable Storage Engineインタフェースを利用した独立したプログラム(共有ライブラリ)であるため、MySQLの公式バイナリに手を加えずにプラグインとして動的にロードして利用することが可能となっています。これによりTritonnよりもさらに手軽に利用できるようになりました。


更新性能の向上
--------------
Sennaと比較するとgroongaではインデックス追加/更新時のスループットが大幅に改善されています。
Expand All @@ -35,22 +34,35 @@ groongaストレージエンジンでもこの更新性能の向上の恩恵を

TritonnではMyISAMストレージエンジンを利用していたため、データ更新(インデックス更新)が発生するとテーブル全体に排他ロックがかかり、検索処理が阻害される問題がありました。

groongaストレージエンジンではこの問題がなくなり(参照ロックフリー)検索性能も向上しています。
groongaストレージエンジンではこの問題がなくなり(参照ロックフリー)、特にデータ更新が多いケースでの検索性能が向上しています。

位置情報検索のサポート
----------------------

groongaにはインデックスを利用した高速な位置情報検索機能があります。また、MySQLにも位置情報検索のための記法があります。groongaストレージエンジンでは、groognaの位置情報検索機能を使ってMySQLの位置情報の記法で書かれたSQLを実行するため、高速に位置情報検索を行うことができます。

groongaストレージファイル経由でのシステム連携
-----------------------------------------------
---------------------------------------------

groongaストレージエンジンではgroongaのDB APIを使用してデータの格納を行っています。この時作成されるストレージファイルはgroonga単体でデータ管理を行う場合と同じフォーマットとなります。つまり以下のような使い方も可能となります。

* groongaストレージエンジン(MySQL)経由で格納したデータをgroongaサーバ(単体)の高度な検索機能を利用して検索
* groongaサーバ(単体)経由で格納したデータをgroongaストレージエンジン(MySQL)経由で参照

またgroongaのストレージファイルは複数プロセスや複数スレッドで共有することができますので、同じストレージファイルに対して複数パタンでの同時アクセスも可能です。

他のストレージエンジンとの連携
------------------------------

groongaストレージエンジンには2つの動作モードがあります。

1つが「ストレージモード」で、データストアも検索機能もすべてgroongaを使うモードです。これがデフォルトのモードです。上述の参照ロックフリーなgroongaの性能特性をフルに活かした高速なデータ更新・全文検索・位置情報検索が特長です。一方、トランザクションなどの機能は提供されません。

もう1つが「ラッパーモード」で、MyISAMやInnoDBといった他のストレージエンジンに *全文検索機能だけ* を追加するモードです。このモードではトランザクションなど他のストレージエンジンがサポートしている機能に加えてgroongaの高速な全文検索機能を利用することができます。一方、groongaの参照ロックフリーな特性は活かすことができません。また、更新処理は他のストレージエンジンがボトルネックになることが多いでしょう。

サポートしているプラットフォーム
--------------------------------

現在サポートしているプラットフォームは以下の通りです。

* Linux x86_64 (Intel64/AMD64)

0 comments on commit b1e5a33

Please sign in to comment.