redis - 如一简单博客数据库,NoSQL该如何设计?
巴扎黑
巴扎黑 2017-04-22 08:58:54
0
6
816

这几天看NoSQL,还是不太理解从传统的关系型数据库中的表、行、列转换到NoSQL。

比如一个最简单的博客数据库设计,有分类表,有文章表、每个分类对应N条文章。

这样的传统关系数据库设计怎么转变到Mongodb、Redis呢?

巴扎黑
巴扎黑

全員に返信(6)
PHPzhong

Mongodb を使用したので、記事用に次のように設計しました:

  • タイトル
  • 公開時間
  • ...
  • カテゴリー
  • タグ(配列型を使用)

タグや分類によって記事をクエリするには、集約Map/Reduceなどを使用できます。

Redis の場合、これらの処理は主に独自のアプリケーションに実装されます。

いいねを押す +0
Ty80

ブログ用のファイルを日付ごとにフォルダーに入れ、タグにも記事ファイルのソフトリンクを入れるだけです。

いいねを押す +0
迷茫

SQL 名 | MongoDB 名

データベース
テーブルコレクション
行 | ドキュメント/BSON ドキュメント
コラム | フィールド
インデックス | インデックス テーブル結合
主キー | 主キー


例: テーブルを作成する

SQL ステートメントを使用する

リーリー


NoSQL ステートメントを使用する

リーリー

いいねを押す +0
Ty80

リレーショナル データベースの概念を完全に使用して、次のようなデータベースを設計できます。

カテゴリーコレクション:

リーリー

投稿コレクション:

リーリー

サブドキュメントをネストすることもでき、カテゴリコレクションの下に多くの投稿ドキュメントがあります

カテゴリー:

リーリー

いいねを押す +0
PHPzhong

NoSQL データベースを使用するには、まずリレーショナル データベースの考えを放棄する必要があります。オブジェクトベースのアプローチを使用してデータ構造を処理します。 各 NoSQL データベースは、オブジェクト処理の異なる設計アイデアを表しています。この問題は大きすぎます。 NoSQL を学ぶには、まずリレーショナル データベースのことを忘れてください。

いいねを押す +0
PHPzhong

多くの人が回答しましたが、これ以上包括的な回答は見たことがありません

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート