問題タブ [high-availability]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
226 参照

sql-server - 高パフォーマンスの wiki スキーマ

MS SQL Server 2005 を使用しています。

Wiki のようなシステムに最適なスキーマは何ですか? ユーザーが提出物を編集/修正し、システムがこれらの提出物を追跡する場所。

単純な wiki ベースのシステムを実行しているとしましょう。各リビジョンに加えて、各リビジョンのビューと最新のアクティビティを追跡します。他の画面では、システムは「最新の提出物」と「最も閲覧されたもの」を一覧表示し、さらにタイトルで検索します。

私の現在のスキーマ (そして私はそれが悪いことを知っています) は単一のテーブルを使用しています。「最新の提出物」を確認する必要がある場合は、「LatestActivity」で並べ替え、「DocumentTitle」でグループ化し、最初の N レコードを取得します。多くのグループ化 (特に nvarchar でのグループ化) は悪いニュースだと思います。最も閲覧されたものをリストするために、私も同じことを行います: ビューで並べ替え、名前でグループ化し、最初の N レコードを取得します。ほとんどの場合、「WHERE DocumentName LIKE '%QUERY-HERE%'」も実行します。

私の現在のスキーマは「バージョン 1」です。以下を参照してください: 代替テキスト http://www.anaimi.com/junk/schemaquestion.png

これは受け入れられないと思います。だから私は別の/よりパフォーマンスの高いデザインを考え出そうとしています. バージョン 2 はどのように聞こえますか? バージョン 2 では、数値である WikiHeadId でグループ化する利点があります。数値でグループ化する方が nvarchar よりも優れていると想定しています。

または、グループ化を行わないバージョン 3 の極端なケースですが、値の重複、コード内でのこれらの値の維持など、いくつかの欠点があります。

または、そのようなシステムのためのより良い/既知のスキーマはありますか?

ありがとう。

(ServerFault から移動 - IT の問題というよりは開発の問題だと思います)

0 投票する
1 に答える
2697 参照

database - PostgreSQL でロックを自動的に解放することは可能ですか?

JDBC マスター/スレーブとして構成された ActiveMQ システムの耐障害性をテストしています。この設定では、1 つの postgres データベースと 2 つのブローカーがあります。1 つはマスター ブローカー、もう 1 つはスレーブ ブローカーです。このメカニズムが機能する方法は、マスターがデータベース内のテーブルで排他ロックを取得することです。スレーブもこれを試み、ロックが使用可能になるまで待機します。マスターが停止した場合、ロックは解放され、スレーブが引き継ぎます。ただし、マスターがデータベースとのネットワーク接続を失うと、ロックが解放されず、デッドロック シナリオが発生します。ここで必要と思われるのは、指定された期間内に更新されない場合、Postgres に自動的にロックを解放するように指示する方法です。デザインパターンの POSA 3 ブックでは、これをリースパターンと呼んでいます。Postgresにこれをさせることは可能ですか? そうでない場合は、

0 投票する
6 に答える
4112 参照

performance - トラフィックの多い Web サイトでの正規化または非正規化

stackoverflow のような高トラフィック Web サイトのデータベース設計と正規化のベスト プラクティスは何ですか?

正規化されたデータベースを使用して記録を保持するか、正規化された手法を使用するか、または両方を組み合わせて使用​​する必要がありますか?

正規化されたデータベースを記録管理用のメイン データベースとして設計して冗長性を減らし、同時に高速検索のために別の非正規化形式のデータベースを維持することは賢明ですか?

また

メイン データベースは非正規化する必要がありますが、高速なデータベース操作のためにアプリケーション レベルで正規化されたビューを使用する必要がありますか?

または他のアプローチ?

0 投票する
2 に答える
560 参照

oracle - 分散構成データの保存場所\方法

製品を 1 回インストールすると、その構成が一連のデータベース テーブルに保存されます。

どのインストールも、他のインストールについて「認識」していません。

お客様が地理的に離れた異なるデータセンターに製品の複数のコピーをインストールすることは常に一般的です。これは、構成情報を一度作成してから、他のシステムにエクスポートする必要があることを意味します。構成の一部は、ローカルの条件に合わせて変更されます。たとえば、IP アドレスの変更などです。これは扱いにくく、エラーが発生しやすいアプローチです。

現在、グローバル データを共有するためのよりシームレスな戦略を持ちながら、ローカルでの変更を許可する機能についてのリクエストが寄せられています。

ローカル変更ビットがなければ、Oracle のデータ レプリケーション機能を使用できます。

HA 要件のため、1 つのデータベースにすべての構成を含めることはできません。

他の誰かがこの問題に遭遇したことがありますか?また、これに対する適切なプログラムによる解決策を見つけたことがありますか? 部分的または完全な解決策を説明している優れた論文を知っていますか?

私たちは *nix ベースで、Oracle を使用しています。変更はすべてのノードにかなり迅速に (1 秒か 2 秒で) レプリケートされるはずです。

0 投票する
5 に答える
13679 参照

design-patterns - スケーラビリティのデザインパターン(または手法)

特にスケーラビリティを対象とした、どのようなデザインパターンまたはテクニックを使用しましたか?

Flyweightパターンなどのパターンは、高いスケーラビリティを促進するため、またはメモリやストレージの制約内で作業する場合に、ファクトリパターンの特殊なバージョンであるように思われます。

他に何を使用しましたか?(データベースの非正規化など)高可用性またはスケーラビリティが主な目標である場合、ルールが変更されると思いますか?

考えられる状況は次のとおりです。

  • デスクトップやラップトップよりもメモリ、処理能力、接続性が制限されているモバイルデバイス
  • 限られたハードウェア(キャッシュ戦略など)のユーザー数が多い
  • 正規化された設計の代わりに効率を高めるためのデータベーススキーマの最適化(例:ストレージのSharePoint列の折り返し)
0 投票する
5 に答える
332 参照

c# - C# のパフォーマンスに関する質問

quandry は - 次の 2 つの方法のどちらが最も優れたパフォーマンスを発揮する か
です 。レコード数 - 約 1000 ~ 約 2000、最大約 6K 選択肢 - オンザフライでオブジェクトを作成するか、辞書からルックアップを 実行 実行速度 - 毎秒 x 回呼び出される



注意 - 最初に動作するコードを提供してから最適化を行う必要があるため、理論家が舞台裏の情報を垣間見ることができれば、おそらく eod thu までに実際のパフォーマンス テストに進む前に役立つでしょう。

定義 -

方法 1

方法 2

0 投票する
5 に答える
395 参照

design-patterns - サービスのフェイルオーバーに関する課題とベスト プラクティス

高可用性の目的で、(自動的に) 別のサーバーに正しくフェールオーバーするように、Windows サービス (私の場合は .NET で開発) を実行するための確立されたベスト プラクティスを知っている人はいますか?

これが行われていることを確認できる主な方法は、必要に応じてセカンダリサーバーを起動するか (この場合、他のサーバーを監視する何かが必要です)、または両方のサービスを一緒に実行することです (この場合、作業を同期する必要があるため)彼らは同じことをしようとはしません)。

この種の問題のパターンまたはモデルはありますか? 正確な状況によって大きな違いが生じることはわかっていますが、かなり一般的な問題のようです。

ありがとう

ジョン

0 投票する
2 に答える
1828 参照

windows - Windows サービスの高可用性のパターンはありますか?

状況

可用性を高めたい Windows サービスがあります。

クラスタ化されていないサーバーが 2台あります (Windows Server 2003 Standard Edition)。

質問は:

自動化された方法でサービスの可用性を高めるには、どのようなオプションが必要ですか?

非対称のマスター/スレーブオプションを考えることができます。これは、両方のマシン間で通信ハートビートを使用してサービスを実行し続けることで構成され、一方がマスターとして機能し、マスターが応答しない場合は常にスレーブが自動的に引き継ぎます。

これを実装する他の方法を知っていますか?

注:この回答を私に指摘しないでください。私はクラスターを持っていません/持っていません/できません。

0 投票する
4 に答える
4020 参照

postgresql - Postgres HA(WAL出荷に基づく)が失敗する

誰かが私にWAL配送とウォームスタンバイの問題を手伝ってくれることを願っています。私のスタンバイシステムは何週間も問題なく動作し、その後突然、存在しない.historyファイルを探し始めます。その後、クラップスアウトし、スタンバイを再構築せずに正常に再起動することはできません。

どちらのシステムもCentOS4.5とpostgres8.4.1を実行しています。NFSを使用して、本番環境からのWALファイルをスタンバイに保存します。

私のコメントとともに、ログの関連するチャンク:

何か案は?.historyファイルが何であるかさえわかりません。また、(ほとんどの場合優れた)ドキュメントはこれについてあまり明確ではありません。

PS。リンクテキストを使用でき、このアプリケーションレベルのHAナンセンスについて心配する必要がないようにVMを実行していればよかったです:-)

更新:この時点でのスタンバイサーバーからのログの一部を次に示します。サーバーの回復が停止してオンラインになったようですが、何が原因かわかりません。トリガーファイルを作成できたものは何もないと確信しています。

0 投票する
4 に答える
5716 参照

sql-server - フェイルオーバー後にミラーリングされたSQLServerに接続するにはどうすればよいですか?

データベースミラーリングを設定し、これを使用してデータベースconnectionstringに接続しました。

データベースにデータを追加した後、プリンシパルサーバーをシャットダウンして、ミラーサーバーがプリンシパルサーバーになります。接続を再度開くと、次のエラーが発生します。

接続文字列でフェイルオーバーパートナーを指定すると、ADO.NETが機能すると思いました。だから私は今何をすべきですか?