redis - 如一简单博客数据库,NoSQL该如何设计?

 手机用户2502857067 发布于 2022-10-26 09:27

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

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

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

6 个回答
  • 回答的人不少啊,但是我没看到比较全面的回答

    2022-10-27 00:48 回答
  • 使用NoSQL数据库,首先就要抛弃关系型数据库的思想。采用对象化的方式去处理数据结构。 每一种NoSQL数据库都代表一种不同的对象处理的设计思想,这个问题太大了。 学NoSQL,先忘掉关系型数据库吧。

    2022-10-27 00:48 回答
  • 你完全可以使用关系型数据库的思想设计数据库,比如:

    category collection:

    name:string 
    

    posts collection:

    category_id: object_id
    title:string 
    

    也可以嵌套子文档, category collection下有很多的posts doc

    category:

    posts: []
    
    2022-10-27 00:48 回答
  • SQL 名称 | MongoDB 名称

    database | database
    table | collection
    row | document/BSON document
    column | field
    index | index
    table | joins
    primary key | primary key


    例:创建一个表

    用SQL语句

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

    用NoSQL语句

    db.users.insert( {
        user_id: "abc123",
        age: 55,
        status: "A"
     } )
    
    2022-10-27 00:48 回答
  • 博客用文件就行了,按日期放文件夹里文件夹用日期命名,tag也用文件夹,里面放文章文件的softlink即可

    2022-10-27 00:48 回答
  • 使用过Mongodb,我是这样设计的,对于文章:

    • 标题
    • 发布时间
    • ...
    • 分类
    • Tags(使用数组类型)

    通过tag和分类查询文章,可以使用聚合Map/Reduce等。

    对于Redis,处理这些主要还是在自己的应用里实现。

    2022-10-27 00:49 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有