mirror of
https://github.com/MariaDB/server.git
synced 2025-01-28 01:34:17 +01:00
2c7d6f12ee
- Fixed compiler errors - Modified Makefiles to be part of plugin directory - Some minor changes in database.cpp to use the new MariaDB handler interface
51 lines
2.7 KiB
Text
51 lines
2.7 KiB
Text
|
|
|
|
-----------------------------------------------------------------
|
|
ソースコードの利用にあたっての免責事項
|
|
|
|
本ソフトウェアの開発者および株式会社ディー・エヌ・エーは、本フト
|
|
ウェアの不稼動、稼動不良を含む法律上の瑕疵担保責任、その他保証責
|
|
任を負わないものとします。また、本ソフトウエアの開発者および株式
|
|
会社ディー・エヌ・エーは、本ソフトウェアの商品性、またはお客様の
|
|
特定の目的に対する適合性について、いかなる保証も負わないものとし
|
|
ます。
|
|
|
|
-----------------------------------------------------------------
|
|
handlersocket pluginについて
|
|
|
|
mysqlサーバに常駐し、innodb等のストレージエンジンへの直接のアクセ
|
|
スを提供するプラグインです。handlersocketプラグインは自前のリス
|
|
ナーを持ち、専用のクライアントライブラリ(libhsclient)を使ってそれ
|
|
にアクセスします。
|
|
|
|
mysqlの標準クライアントライブラリ(libmysql)を使ったアクセスと比べ
|
|
て、以下のような利点があります。
|
|
・接続あたりに消費するリソースが少ないため、同時接続数が事実上無
|
|
制限。したがって接続数を気にせず持続接続を使えます。
|
|
・高速(単純な参照クエリで3倍〜10倍程度)。
|
|
・通信プロトコルがコンパクト。libmysqlを使うとデータ転送時にレ
|
|
コード名などが付随するために通信内容が冗長ですが、libhsclientで
|
|
はデータのみが転送されるため、帯域消費が少なくなります。場合に
|
|
よっては10倍以上libmysqlのほうが冗長になります。
|
|
|
|
現在のバージョンでは以下のような処理をサポートしています。
|
|
・指定された索引について、指定された値と完全一致するようなレコー
|
|
ドを取得。(SELECT ??? FROM tbl WHERE k1 = v1 AND k2 = v2...)。
|
|
索引を使わない検索はサポートしていません。
|
|
・指定された索引について、指定された値の位置の前後のレコードを取
|
|
得。(SELECT ??? FROM tbl WHERE k1 >= v1 LIMIT 100)
|
|
・前述のような手段で取得したレコードに対するUPDATEとDELETE
|
|
・レコードのINSERT
|
|
|
|
以下のような言語をサポートします。
|
|
・C++。libhsclientをリンクします。
|
|
・Perl。Net::HandlerSocketをuseします。
|
|
|
|
現在のバージョンではGNU/Linuxでのみ動作します。
|
|
|
|
-----------------------------------------------------------------
|
|
既知の問題
|
|
|
|
・killでhandlersocketスレッドを殺すと、スレッド数が減ったまま回復
|
|
しません。
|
|
|