タグ付けされた質問 「high-availability」

2
データが「自然にパーティション化可能」である場合、マシン間でPostgreSQLをパーティション分割する最新の方法は何ですか
この質問は、データベース管理者のStack Exchangeで回答できるため、Stack Overflowから移行されました。 6年前に移行され ました。 「NoSQL」の分野に数年滞在した後、今ではその性質が非常に「リレーショナル」な問題を抱えています。今日、私は以前とはまったく異なる目でデータストアを見ています。Riakのようなものは、単一の障害点、「メンテナンスのためのダウン」などに耐えることができないという方法で私を台無しにしました。これは、非常に高い要件を持たない(またはまだ)個人的なプロジェクトです。 おそらく、私の問題は解決が非常に「簡単」だからです。少なくとも概念レベルでは(RDBM自体がテーブルにもたらす制約を無視して)。 少量の「共有」データがあり、自由に複製できます。ハード一貫性の要件はありません。これはダイナモのようなデータベースに保存でき、無限に拡張できます。ただし、可能であれば、単一のデータベースを使用したいと考えています。 「ユーザーごとの」データがたくさんあります。つまり、すべてのユーザーが絶対に妥当なサイズのデータ​​を持っている多くのユーザーが、単一のPostgreSQLノードに保存するのに本当に適しています。最大で数万件のレコードについて話しています。 クロスユーザーに問い合わせる必要はなく、クロスユーザーの原子性は必要ありません。 これは非常に簡単に実現できます。少なくとも「NoSQLの目」で見ているときは。 ここに私の素朴なスターターのアイデアがあります: 極端な場合、ユーザー全体をRiakの単一のキー/値としてシリアル化できます。もちろん、数メガバイトのデータを絶えずデシリアライズするのは遅いので、PostgreSQLの使用を検討しています。各ユーザーのデータ内に原子性/トランザクションが必要なため、Riak K / Vの多くは不要です。 ユーザーごとにSQLiteデータベースを使用し、GlusterFSのようなものを使用して冗長性と可用性を実現できます。これはおそらく、PostgreSQLを使用しても同様に良いものが見つからない場合に選択するソリューションです。長所:本当にうまくスケールダウン/スケールアップできます; 短所:SQLiteよりもPostgreSQLの型と厳格さを好む したがって、PostgreSQLシャーディングソリューションから私が理想的に要求するものは次のとおりです。 すべてのユーザーのデータのコピーを(異なるマシン上に)自動的に保持します。ユーザー/シャードごとにマスターノードを動的に切り替えることができる(以前のマスターがダウンした場合)。 サーバーノードを追加/削除することにより、動的にスケールアップ/ダウンすることができます。たいていはRiakができるように。 アプリケーションが、どのノードといつ通信するかを知る必要はありません。

2
各SQL Serverバージョンのオンライン操作の完全なリストはありますか?
5TBデータベースの大きなテーブルの一部を変更しようとしているので、オンラインで実行でき、実行中に完全ロックを保持する必要がある操作のリストが必要であることがわかりました。理想的には、このリストには、最後にコミットするためにSCH-Mロックが必要なステートメントに関する情報も含まれます。 Microsoftの時代からそれらのほとんどを知っていますが、SQL Server 2005から2014 CTPまでの進化したオンライン操作の公開リストが見つからなかったことに驚きました。 誰でもそのようなリストを利用できますか?そうでない場合、私はそれを作成することを決めるかもしれません。

3
HAProxyおよびPGBouncerを使用したPostgreSQLの高可用性/スケーラビリティ
Webアプリケーション用に複数のPostgreSQLサーバーがあります。通常、1つのマスターとホットスタンバイモードの複数のスレーブ(非同期ストリーミングレプリケーション)。 接続プーリングにPGBouncerを使用します:ローカルホスト上のデータベースに接続する各PGサーバー(ポート6432)にインストールされた1つのインスタンス。トランザクションプールモードを使用します。 スレーブ上の読み取り専用接続の負荷を分散するために、HAProxy(v1.5)を次のような設定で使用します: listen pgsql_pool 0.0.0.0:10001 mode tcp option pgsql-check user ha balance roundrobin server master 10.0.0.1:6432 check backup server slave1 10.0.0.2:6432 check server slave2 10.0.0.3:6432 check server slave3 10.0.0.4:6432 check したがって、私のWebアプリケーションはhaproxy(ポート10001)に接続します。これは、各PGスレーブ上に構成された複数のpgbouncerで接続を負荷分散します。 ここに私の現在のアーキテクチャの表現グラフがあります: これは次のように非常にうまく機能しますが、いくつかの実装がまったく異なることを認識しています。Webアプリケーションは、複数のPGサーバーで負荷分散するHAproxyに接続する単一のPGBouncerインスタンスに接続します。 最善のアプローチは何ですか?最初のもの(私の現在のもの)または2番目のものですか?あるソリューションが他のソリューションより優れている点はありますか? ありがとう

5
SQL ServerはOracle RACの機能と同等ですか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、データベース管理者のスタック交換のトピックになるようにします。 5年前に閉鎖されました。 私はグーグルをやったが、この質問に対する答えが数年前よりも最近に見つからなかったので、私は質問したいと思った。OracleのRAC機能は、読み取りトランザクションと書き込みトランザクションの両方にロードバランシングを提供するだけでなく、ダウンタイムなしのスケールアウトと高可用性を提供します(少なくとも、私が理解しているように、私たちはRACを使用する最初のデータベースを導入しようとしています。それがどうなるか見てみましょう)。 同等の機能を提供するSQL Server機能セット(または上にインストールできるサードパーティコンポーネント)はありますか?私たちは常にWindowsクラスタリングを使用してきました。フェイルオーバーイベントが発生すると、SQLのダウンタイムが約20〜30秒発生します。これは常に許容できますが、理想的ではありません。現在、SQL 2012のAlwaysOnにより、SQL Serverはそれを約15秒に短縮し、読み取り専用のセカンダリデータベースの概念を追加しますが、書き込みトランザクションは単一の接続ポイントを通じて制限される必要があります(多くのトランザクションが読むだけですが、実際にはロードバランシングではありません)。ノード障害やパッチの必要性が発生した場合でも、ダウンタイムが発生します。 私はそれがより好奇心であると思います-これはSQL ServerがOracleに遅れをとっている唯一の領域であるように感じます(少なくとも私が個人的に使用したのを見た機能の中で)。Microsoftの同等の機能が追加されるのを待つ間、そのギャップを埋め、独自のSQL Serverの展開を改善するオプションがあるかどうかを確認したいと思いました。

3
SQL Serverデータベースミラーリングは死ぬでしょう。今すぐ高可用性を保証するにはどうすればよいですか?
SQL Server のデータベースミラーリング機能はなくなります。 この機能は、Microsoft SQL Serverの将来のバージョンでは削除される予定です。新しい開発作業ではこの機能を使用せず、現在この機能を使用しているアプリケーションの変更を計画してください。代わりにAlwaysOn可用性グループを使用してください。 誰もが知っていますか?高可用性(およびクイックリカバリ)データベースのオプションは何ですか?

2
スキーマの変更は可用性グループを「破壊」しますか、それとも透過的に処理されますか?
私の組織はSQL Server 2012可用性グループの採用を計画しており、それがアプリケーションのアップグレードプロセスに与える影響(ある場合)を理解しようとしています。 私たちは8週間のサイクルでアプリケーションの更新をリリースします。どのリリースにもスキーマの変更やデータの移行が含まれる可能性があります。 私が理解しようとしているのは、HA / DRソリューションがスキーマの変更を透過的に処理する(新しい列、インデックスがセカンダリに追加される)かどうか、または各インスタンスでスキーマを作成してからAlways Onをオンに戻すために手動で介入する必要があるかどうかです。 私が想定しているデータ移行の部分は透過的に処理されますが、それも確認したいと思います。 また、可用性グループの構成に基づいてこれらの動作に違いはなく、誤っている可能性もないと全面的に想定しています。私にお知らせください。 一言で言えば; アプリケーションの特定のリリースでは、非常に大きなテーブル(数千から数億のレコード)に列を追加することで、テーブルを変更できます。一部の列は「完全に新しい」ため、Enterprise Onlineのスキーマ変更機能を利用できます。他の列は既存の列のリファクタリングである可能性があり(FullNameはFirstNameとLastNameに分割されます)、これらのフィールドに入力するために、テーブルの各行に対して移行が実行されます。これらの動作のいずれかでは、DBAがAlwaysOn構成を変更する必要がありますか、それともデフォルトで処理され、すべてのセカンダリがDDLおよびDMLステートメントを「無料」で取得しますか? あなたが提供できる明確さをありがとう。


2
postgresqlの高可用性
PostgreSQLデータベースは初めてです。最近、開発者はシステムでいくつかのアップグレードを行う必要がありました。 そのため、データベースのフェイルオーバーを実装するために、いくつかの方法を実装することを計画しています。 ここの postgresql wikiからの私の読書に基づいて、私たちはウォームスタンバイまたはホットスタンバイのいずれかを実装しようとしています。だから私の質問は: それらの主な違いは何ですか? どっちがいいですか? Postgresデータベースで高可用性を実現するために検討できる他の方法はありますか?

2
可用性グループはトランザクションレプリケーションを置き換えることができますか?
SQL Server 2012の新機能と、それが現在の状況にどのように役立つかを検討してきました。 現在、SQL Server 2008 R2を使用しており、トランザクションレプリケーションを介して2つのOLTPサーバーのデータベースを1つのレポートサーバーに複製します。次に、これらの複製されたDBをレポートに使用します。 SQL Server 2012と可用性グループでこれを置き換えることができるかどうかに興味があります。トランザクションレプリケーションの代わりに、新しい可用性グループを使用して、2つのOLTPサーバーのデータベースをレポートサーバーにミラーリングします。読み取り専用レプリカにアクセスします。 これがうまく機能するか、それともまったく機能しないかはわかりません。 レプリケーション(VSDBCMD.exeの使用)で問題が発生するため、レプリケーションを回避します。大規模なDBでのレプリケーションの再初期化の遅延を回避したいのですが。 誰か良い例や経験がありますか?以前のバージョンでの通常のミラーリングのように、複数のサーバーから単一のサーバーに読み取り可能なレプリカでミラーリングすることは可能ですか? これはもともとここで尋ねられました:https : //stackoverflow.com/questions/10415225/mirroring-and-availability-groups-in-sql2012申し訳ありませんが、まだ質問を移行することはできません。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.