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

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

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

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

巴扎黑
巴扎黑

모든 응답(6)
PHPzhong

Mongodb를 사용하여 기사를 위해 다음과 같이 디자인했습니다.

  • 제목
  • 출시 시간
  • ...
  • 카테고리
  • 태그(배열형 사용)

태그와 카테고리를 통해 기사를 조회하고, Aggregation Map/Reduce 등을 활용할 수 있습니다.

Redis의 경우 이러한 처리는 주로 자체 애플리케이션에서 구현됩니다.

Ty80

블로그용 파일을 날짜별로 폴더에 넣고 날짜별로 폴더 이름을 지정하세요. 태그도 폴더를 사용하고 그 안에 기사 파일의 소프트링크를 넣습니다.

迷茫

SQL 이름 | MongoDB 이름

데이터베이스
테이블 | 컬렉션
행 | 문서/BSON 문서
열 | 필드
색인 | 색인
테이블 | 조인
기본 키 | 기본 키


예: 테이블 생성

SQL문 사용

으아악

NoSQL 문 사용

으아악
Ty80

관계형 데이터베이스의 아이디어를 완전히 활용하여 다음과 같은 데이터베이스를 설계할 수 있습니다.

카테고리 컬렉션:

으아아아

게시물 컬렉션:

으아아아

하위 문서를 중첩할 수도 있습니다. 카테고리 컬렉션 아래에 많은 게시물 문서가 있습니다

카테고리:

으아아아
PHPzhong

NoSQL 데이터베이스를 사용하려면 먼저 관계형 데이터베이스라는 개념을 버려야 합니다. 객체 기반 접근 방식을 사용하여 데이터 구조를 처리합니다. 각 NoSQL 데이터베이스는 객체 처리에 대한 서로 다른 설계 아이디어를 나타냅니다. 이 문제는 너무 큽니다. NoSQL을 배우려면 먼저 관계형 데이터베이스를 잊어버리세요.

PHPzhong

많은 분들이 답변해주셨지만, 이보다 포괄적인 답변은 본 적이 없습니다

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿