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

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

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

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

巴扎黑
巴扎黑

répondre à tous(6)
PHPzhong

Ayant utilisé Mongodb, je l'ai conçu comme ça, pour l'article :

  • Titre
  • Heure de sortie
  • ...
  • Catégorie
  • Balises (utilisant le type de tableau)

Interrogez les articles via des balises et des catégories, et vous pouvez utiliser l'agrégation Map/Reduce, etc.

Pour Redis, leur traitement est principalement implémenté dans votre propre application.

Ty80

Utilisez simplement des fichiers pour les blogs. Placez-les dans des dossiers par date et nommez les dossiers avec des dates. Les balises utilisent également des dossiers et y placez des liens symboliques vers des fichiers d'articles

.
迷茫

Nom SQL | Nom MongoDB

base de données | base de données
tableau | collection
ligne | document/document BSON
champ de colonne |
indice | indice
table | jointures
clé primaire | clé primaire


Exemple : Créer un tableau

Utiliser l'instruction SQL

CREATE TABLE users (
    id MEDIUMINT NOT NULL
        AUTO_INCREMENT,
    user_id Varchar(30),
    age Number,
    status char(1),
    PRIMARY KEY (id)
)

Utiliser les instructions NoSQL

db.users.insert( {
    user_id: "abc123",
    age: 55,
    status: "A"
 } )
Ty80

Vous pouvez complètement utiliser l'idée de base de données relationnelle pour concevoir la base de données, comme :

collection de catégories :

name:string 

Collection de messages :

category_id: object_id
title:string 

Vous pouvez également imbriquer des sous-documents, il existe de nombreux articles doc sous la catégorie collection

catégorie :

posts: []
PHPzhong

Pour utiliser une base de données NoSQL, vous devez d'abord abandonner l'idée de base de données relationnelle. Utilisez une approche basée sur les objets pour gérer les structures de données. Chaque base de données NoSQL représente une idée de conception différente pour le traitement des objets. Ce problème est trop important. Pour apprendre NoSQL, oubliez d’abord les bases de données relationnelles.

PHPzhong

Beaucoup de gens ont répondu, mais je n'ai pas vu de réponse plus complète

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal