1

組み込みデバイスで実行する小さなプログラムを Java で作成しています。その目的は、クラウドにあるデータベースにいくつかの値 (温度としましょう) を保存することです。

  • シナリオ 1: 可能なサイクルごとにデータが保存される (connect-store-store-store... -disconnect)
  • シナリオ 2: データは 5 分ごとに保存されます (connect-store-wait-store-wait... -disconnect)
  • シナリオ 3: データは 1 時間ごとに保存されます

データベースとの常時接続を維持するのと、必要な場合にのみ接続するのとではどちらがよいでしょうか? なんで?

このデバイスを 100 台デプロイするとどうなるでしょうか (1 台で十分な温度データを取得することはできません)。

4

1 に答える 1

1

特別な事情がない限り、必要なときだけ接続することがほとんどです。いくつかの利点があります。

  • リソースは可能な限り短時間保持されるため、可用性が最大化されます。
  • 接続の有効期間スコープは、コード内の 1 点で制御され、リソース リークの可能性を最小限に抑えます。
  • データは頻繁に書き込まれるため、クラッシュによるデータの損失が最小限に抑えられます。
  • 接続状態がコード内の 1 つのポイントにローカライズされるため、再試行ロジックがより単純になります。

一般的に : 接続をできるだけ遅く、できるだけ短時間開き、できるだけ早く閉じます。

(多くのデータベース システムは、このプロセスを非常に効率的にする接続プールを実装しています)

データベース接続を常に閉じるのはなぜですか?

于 2014-01-05T23:52:09.150 に答える