2011-12-17 2 views
1

현재 "마이크로 블로그"유형의 응용 프로그램을 개발 중입니다. 나는 Rails3과 MySQL을 사용하고있다. 이것이 정말로 좋은 생각인지 궁금해지기 시작했습니다. 2 ~ 3 년 후 상태 테이블에는 수백만 행이 포함될 수 있습니다.레일즈 마이크로 블로그 (아니요) SQL

MySQL이이 값을 처리 할 수 ​​있습니까? 아니면 Mongo와 같은 NoSQL 솔루션으로 변환 할 수 있습니까? 나는 개발 초기에이 상태로 앱을 변환하는 것이 문제가되지 않을 것입니다.

당신은 어떻게 생각하십니까? 이것은 SQL과 NoSQL에 관한 질문이 아닙니다. 이런 종류의 앱에 가장 적합한 것이 무엇입니까?

/토비아스

답변

2

이것은 당신의 마이크로 블로그 애플리케이션의 열망에 대한 자세한 정보없이 대답하기 어려운 질문이다. 그것은 그것을 어떻게 디자인하고 사람들이 그것을 어떻게 사용할 것인가에 달려 있습니다.

그러나 일반적으로 (손을 흔들기)이 유형의 응용 프로그램은 NoSQL 솔루션으로 가장 잘 모델링 할 수 있습니다.

당신은 기본 모델의 몇해야

: 사용자, 당신은 관련 정보의 일부 (또는 전부)를 포함 개체로 게시물을 모델링 할 수 MongoDB를 같은 솔루션으로

블로그, 게시물, 댓글, 첨부 파일을 주석, 주석, 첨부 파일, 좋아하는 것, 저장 (약간의 비정규 화를하는 것)은 별도의 콜렉션/테이블 대신 임베디드 오브젝트로 사용되어 동일한 정보를 얻기 위해 함께 결합되어야합니다.

당신이 데이터 저장소에서 포스트 객체를 검색 할 때, 당신은 그것과 함께 모든이 풍부한 메타 데이터를 가지고 있기 때문에이 블로그가 인 경우 그러나

(에서 데이터를 결합의 추가 비용을 들이지 않고) 멋지다 이 정보가 거의 사용되거나 표시되지 않는 유형의 디자인은 이러한 유형의 디자인으로 인해 성능 측면에서 많은 이점을 얻지 못합니다.

기존 데이터베이스를 사용하여 분명히 비정규화할 수 있지만 NoSQL 방식은 데이터 모델에 더 적합합니다.

관련 문제