Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - SQL の使用法 » データベースの作成 » トランザクションと独立性レベルの使用

 

同時実行性の概要

同時実行性とは複数のトランザクションを同時に処理するためにデータベース・サーバで必要な機能です。データベース・サーバ内に特殊なメカニズムがない場合、同時に発生したトランザクションがお互いに干渉して、情報の一貫性が失われる可能性があります。たとえば、デパートのデータベース・システムでは、多くの店員が同時に顧客アカウントを更新できる必要があります。各店員は、顧客に対応するときにアカウントの状態を更新できなければなりません。データベースを使用している人が誰もいなくなるまで待つことはできません。

同時実行性に関する知識の必要な方

同時実行性は、すべてのデータベース管理者と開発者に関係のある問題です。シングルユーザ・データベースで作業する場合でも、複数のアプリケーションからの要求や、単一のアプリケーションの複数の接続からの要求を処理する場合には、同時実行性を考慮してください。これらの複数のアプリケーションや接続は、ネットワーク上でマルチユーザが経験するのとまったく同様に、お互いに干渉し合います。

同時実行性に影響するトランザクション・サイズ

SQL 文をトランザクションにまとめる方法は、データの整合性とシステムのパフォーマンスに大きな影響を与えます。トランザクションが短かすぎて論理的にひとまとまりにならない場合、データベースの一貫性が失われる可能性があります。トランザクションが長すぎて複数の互いに関係のない操作が含まれていると、本来なら安全にデータベースにコミットできたはずの操作が、不要な ROLLBACK によって取り消される可能性が高くなります。

トランザクションが長い場合、他のトランザクションが同時処理することを防ぐため、同時実行性が低下します。

アプリケーションのタイプや環境要因によって、トランザクションの適切な長さを決定する要素は数多くあります。

SQL Anywhere データベース・サーバの同時実行の詳細については、SQL Anywhere データベース・サーバ実行の概要を参照してください。