这几天看NoSQL,还是不太理解从传统的关系型数据库中的表、行、列转换到NoSQL。
比如一个最简单的博客数据库设计,有分类表,有文章表、每个分类对应N条文章。
这样的传统关系数据库设计怎么转变到Mongodb、Redis呢?
Mongodb를 사용하여 기사를 위해 다음과 같이 디자인했습니다.
태그와 카테고리를 통해 기사를 조회하고, Aggregation Map/Reduce 등을 활용할 수 있습니다.
Redis의 경우 이러한 처리는 주로 자체 애플리케이션에서 구현됩니다.
블로그용 파일을 날짜별로 폴더에 넣고 날짜별로 폴더 이름을 지정하세요. 태그도 폴더를 사용하고 그 안에 기사 파일의 소프트링크를 넣습니다.
데이터베이스 테이블 | 컬렉션 행 | 문서/BSON 문서 열 | 필드 색인 | 색인 테이블 | 조인 기본 키 | 기본 키
SQL문 사용
NoSQL 문 사용
관계형 데이터베이스의 아이디어를 완전히 활용하여 다음과 같은 데이터베이스를 설계할 수 있습니다.
카테고리 컬렉션:
게시물 컬렉션:
하위 문서를 중첩할 수도 있습니다. 카테고리 컬렉션 아래에 많은 게시물 문서가 있습니다
카테고리:
NoSQL 데이터베이스를 사용하려면 먼저 관계형 데이터베이스라는 개념을 버려야 합니다. 객체 기반 접근 방식을 사용하여 데이터 구조를 처리합니다. 각 NoSQL 데이터베이스는 객체 처리에 대한 서로 다른 설계 아이디어를 나타냅니다. 이 문제는 너무 큽니다. NoSQL을 배우려면 먼저 관계형 데이터베이스를 잊어버리세요.
많은 분들이 답변해주셨지만, 이보다 포괄적인 답변은 본 적이 없습니다
Mongodb를 사용하여 기사를 위해 다음과 같이 디자인했습니다.
태그와 카테고리를 통해 기사를 조회하고, Aggregation Map/Reduce 등을 활용할 수 있습니다.
Redis의 경우 이러한 처리는 주로 자체 애플리케이션에서 구현됩니다.
블로그용 파일을 날짜별로 폴더에 넣고 날짜별로 폴더 이름을 지정하세요. 태그도 폴더를 사용하고 그 안에 기사 파일의 소프트링크를 넣습니다.
SQL 이름 | MongoDB 이름
데이터베이스
테이블 | 컬렉션
행 | 문서/BSON 문서
열 | 필드
색인 | 색인
테이블 | 조인
기본 키 | 기본 키
예: 테이블 생성
SQL문 사용
으아악NoSQL 문 사용
으아악관계형 데이터베이스의 아이디어를 완전히 활용하여 다음과 같은 데이터베이스를 설계할 수 있습니다.
카테고리 컬렉션:
으아아아게시물 컬렉션:
으아아아하위 문서를 중첩할 수도 있습니다. 카테고리 컬렉션 아래에 많은 게시물 문서가 있습니다
카테고리:
으아아아NoSQL 데이터베이스를 사용하려면 먼저 관계형 데이터베이스라는 개념을 버려야 합니다. 객체 기반 접근 방식을 사용하여 데이터 구조를 처리합니다. 각 NoSQL 데이터베이스는 객체 처리에 대한 서로 다른 설계 아이디어를 나타냅니다. 이 문제는 너무 큽니다. NoSQL을 배우려면 먼저 관계형 데이터베이스를 잊어버리세요.
많은 분들이 답변해주셨지만, 이보다 포괄적인 답변은 본 적이 없습니다