2017-10-16 12 views
2

私は既存のリレーショナルPostgresqlデータベースを持っています。テーブルのいくつかには非常に太いブロブが含まれているため、NoSQLドキュメントとしてはるかに優れています。これにより、リレーショナルデータベースを大幅に軽くすることができます。単一のPostgreSQLインスタンスでNoSQLとリレーショナルデータベースを結合

私たちは、これらのBLOBテーブルをCosmosDBやMongoDBのようなNoSQLソリューションに移動することを考えました。しかし、純粋にリレーショナル表との外部キー依存関係が存在し、これらの表を独自のデータベースに移動することは複雑です。

私は、PSQLがネイティブにドキュメントの保存をサポートし、配布できることを発見しました。私がこれまで見てきたソリューションは、CitusDataとPostgres XLです。それらを使った人のために、彼らはどのように比較するのですか?

誰も以前に似たような状況に遭遇しましたか?あなたはNoSQLデータベースに分かれましたか?または、誰もPSQLをリレーショナルとNoSQLの部分に分割していますか?どうしたの?後ろ向きに目を向けるために何をお勧めしますか?実際にユーザーがIDによる 2.参照依存の文書を照会し、読み取りにこれらの関係を推論しているものにこれらの依存の文書の一部を埋め込む 1:2の1を必要とする

+1

このタイプの質問は非常に幅広く、意見を求めており、客観的な答えはありません。これをどのように達成するかは、複数のデータベース(* polyglot persistence *)、単一のデータベース(あなたの場合はPostgres)内での作業に関して、あなた次第です。残念ながら、StackOverflowのトピックをオフにします。 –

+1

だから、基本的には本当にSQLを望んでいますが、それをnosqlと呼んでいますか?どうして?あなたはそれをすべて "SQL"、または少なくともJSONオブジェクトにしようとしましたか? NoSQLが解決しなければならなかった問題は何でしたか? –

答えて

0

すべてRDBMS-> NoSQLの移行。

非常に典型的に、誰もが毎日それをします、恐れることはありません。ところで、Cosmos DBとMongoDBのどちらかを選択する必要はありません.MongoDB APIでCosmos DBを使用するだけです。

+0

OPはRDBMS→NoSQLからの移行を要求していません。参照を埋め込むだけでは簡単ではありません。通常、スキーマ全体を再評価する必要があります。 –

+0

私のコメントは、この論争に瀕している考え方に関するものです:_ "私たちは、これらのBLOBテーブルをCosmosDBやMongoDBのようなNoSQLソリューションに移行することを考えましたが、純粋にリレーショナルテーブルとの外部キー依存があり、 _そして、それはRBDMS-> NoSQLです。 – alekseys

5

(ここCitusエンジニア)

Postgresは、強力で柔軟性のあるJSONBカラム型を有します。あなたができることは、あなたの構造テーブルをそのまま保ち、BLOBデータ用のjsonbカラムを置くことです。シングルノードのPostgresでこれをテストし、それがうまくいくかどうか、素晴らしい!

データのスケールに問題がある場合(つまり、1台のマシンのメモリまたはストレージまたはCPUが作業負荷に十分ではなく、大きくすることができない場合は、CitusまたはPostgres-XLでスケーリングすることができます) 。

私はPostgres-XLでの経験はありませんが、Citusはかなり簡単に試すことができます。あなたが使用できるドッカー画像がありますか、またはCitus Cloudにアカウントを作成して、1週間無料の開発プランを試すことができます(ベンチマーク目的には適しません)。

-3

ProgresのJSONBドキュメントデータ型(NoSQLデータ型)を使用するためにCitusまたはPostgres-XLは必要ありません。通常のPostgresは、デフォルトでそれを行うことができます。

この2つの間に長い詳細のリストがあります。重要なのは、Postgres-XLにはHAやフェールオーバーのサポートがないことです。クラスタ内のノードを失うと、データベース全体が失われます。 Citus側では、非常に高価な6フィギュアの年間サブスクリプション料金の準備ができており、それを「クラウド」サービスとして使用することを余儀なくされています。彼らは技術的にあなたの自己を実行することをサポートしていますが、実行可能ではないほど多くの道路ブロックを投げます。

関連する問題