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

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

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

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

巴扎黑
巴扎黑

membalas semua(6)
PHPzhong

Setelah menggunakan Mongodb, saya mereka bentuknya seperti ini, untuk artikel:

  • Tajuk
  • Masa keluaran
  • ...
  • Kategori
  • Teg (menggunakan jenis tatasusunan)

Soal artikel melalui teg dan kategori, dan anda boleh menggunakan Peta pengagregatan/Kurangkan, dsb.

Untuk Redis, pemprosesan ini dilaksanakan terutamanya dalam aplikasi anda sendiri.

Ty80

Hanya gunakan fail untuk blog Letakkannya dalam folder mengikut tarikh dan namakan folder dengan tarikh juga menggunakan folder, dan letakkan pautan lembut fail artikel di dalamnya

迷茫

Nama SQL |. nama MongoDB

pangkalan data | jadual |. koleksi
baris |. dokumen/dokumen BSON
lajur |. medan
indeks |. indeks
jadual |. menyertai
kunci utama |

Contoh: Buat jadual

Gunakan pernyataan SQL

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

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

Anda boleh menggunakan sepenuhnya idea pangkalan data hubungan untuk mereka bentuk pangkalan data, seperti:

koleksi kategori:

name:string 

koleksi siaran:

category_id: object_id
title:string 

Anda juga boleh menyarangkan sub-dokumen. Terdapat banyak catatan doc di bawah koleksi kategori

kategori:

posts: []
PHPzhong

Untuk menggunakan pangkalan data NoSQL, anda mesti meninggalkan idea pangkalan data hubungan terlebih dahulu. Gunakan pendekatan berasaskan objek untuk mengendalikan struktur data. Setiap pangkalan data NoSQL mewakili idea reka bentuk yang berbeza untuk pemprosesan objek Masalah ini terlalu besar. Untuk mempelajari NoSQL, lupakan pangkalan data hubungan dahulu.

PHPzhong

Ramai orang telah menjawab, tetapi saya tidak melihat jawapan yang lebih komprehensif

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan