22

リレーショナル DB/NoSQL に関する研究討論を経て、私はデータ ストアとして PG を使用して前進するという結論に達しました。その決定の大きな部分は、JSONB が 9.4 に来るという発表でした。私の質問は、jsonb に移行したい (今すぐ使用することを意味します!) ことを知って、ゼロからアプリケーションを構築して、今何をすべきかということです。私にとっての DaaS オプションは、しばらくの間 9.3 を実行する予定です。

私が知っていることから、私が間違っている場合は修正してください.hstore列で多くのキーの多くのクエリを実行するため、hstoreはかなり高速に実行されます.プレーンjsonを使用する場合は.インデックス作成や GIN などを利用することはできません。ただし、json を使用したネストを利用することはできますが、クエリの実行は非常に遅くなり、ユーザーはイライラするでしょう。

では、現在のバージョンの hstore または json データ型、「古き良き」EAV、またはその他のバージョンを中心にアプリを構築する必要がありますか? DB とアプリ コードを特定の方法で構造化する必要がありますか? アドバイスをいただければ幸いです。PostgreSQL の次の公式リリースを待っているときに、他の人が同じ質問に直面する可能性があると確信しています。

私が構築したいアプリに関するいくつかの追加の詳細:

- 非常に関連性が高い (以下の 1 つの例外を除く)
- 強力なソーシャル ネットワークの側面 (グループ、友人、いい
ね!必要が生じます)

ご意見をお寄せいただきありがとうございます。

4

2 に答える 2

3

おそらく、非常に詳細な回答を与えるには十分ではありませんが、私はこれを言います... データが「非常にリレーショナル」である場合、最善の方法は、優れたリレーショナル設計でデータを構築することだと思います。「変数が割り当てられた属性」を持つフィールドが 1 つだけの場合、それは hstore の適切な使用方法のように思えます。これは、この時点でかなり試行錯誤されています。私は9.4でいくつかの読書をしており、jsonbはクールに聞こえますが、それはしばらく出ません. 9.3 の優れたスキーマ設計 + hstore の非常に的を絞った使用により、おそらくパフォーマンスと柔軟性の優れた組み合わせが得られると思います。

于 2014-04-05T01:41:52.407 に答える