Mobile Link は、RDBMS で独立性レベルが有効になっている場合、最適な独立性レベルで統合データベースに接続します。データの一貫性を維持しながら最高のパフォーマンスを提供するデフォルトの独立性レベルが選択されます。
一般的に、Mobile Link はアップロードには独立性レベル SQL_TXN_READ_COMMITTED を使用し、可能な場合、ダウンロードにはスナップショットアイソレーションを使用します。スナップショットアイソレーションが使用できない場合、Mobile Link は SQL_TXN_READ_COMMITTED を使用します。SQL_TXN_READ_COMMITTED アイソレーションを使用したダウンロードは、別のトランザクションが完了するまでブロックされる可能性があります。このようなブロッキングが発生すると、同期のスループットが大幅に低下することがあります。スナップショットアイソレーションは、トランザクションが統合データベースで閉じられるまでダウンロードがブロックされる問題を解消します。ただし、ダウンロードによって更新が実行されないことが前提であり、このような処理が実行されないようにすることをおすすめします。
スナップショットアイソレーションを使用すると、重複データがダウンロードされる可能性があります (たとえば、実行時間の長いトランザクションによって同じスナップショットが長時間使用される場合)。しかし、Mobile Link クライアントはこの問題を自動的に処理するので、低下するのはリモート側での転送時間と処理作業量だけです。それでも、トランザクションが長時間実行されないようにすることをおすすめします。
通常、独立性レベル 0 (READ UNCOMMITTED) は同期には不適切で、データの不整合を引き起こす可能性があります。
独立性レベルは、統合データベースへの接続が行われた直後に設定されます。その時点でさらに他の接続設定が行われてから、トランザクションがコミットされます。独立性レベルと、場合によってはその他の設定を有効にするために、ほとんどの RDBMS で COMMIT が必要です。
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2013, SAP AG or an SAP affiliate company. - SAP Sybase SQL Anywhere 16.0 |