Mongo에서는 데이터베이스와 컬렉션을 가질 수 있다는 것을 이해합니다. 저는 블로그와 코멘트 (다른 것들 중에서)를 가질 것이며, 가능한 동시성 문제를 제한하기 위해 이전에 MySQL과 꽤 무거운 파티션을 사용하고있는 소셜 타입의 앱을 개발 중입니다.MongoDB - 컬렉션의 적절한 사용?
MySQL을 사용하여 데이터 (블로그, 페이지 등)를 추가로 분할하기 위해 몇 가지 테이블이있는 _user 데이터베이스에 모든 사용자 데이터를 채웠습니다.
내 즉시 Mongo와의 반응은 사용자 당 하나의 컬렉션으로 '사용자'데이터베이스를 만드는 것입니다. 이런 식으로 사용자의 'zach'블로그 항목은 'zach'컬렉션으로 들어가며 같은 주석의 하위 오브젝트가됩니다. 기본적으로 MySQL에서 사용자 당 하나의 테이블을 동적으로 생성하는 것과 비슷하지만 복잡성과 제한이 부과되지 않습니다.
물론 나는이 생각의 퀄리티와 잠재 된 문제를 측정하는 데 어려움이 있기 전에 몽고를 실제로 사용하지 않았기 때문에 길 아래로 떨어질 수도 있습니다.
사용자 데이터는 사용자가 생성/비공유 (주로) 한 장소에 배치되는 * nix 환경의 사용자 디렉토리와 비슷합니다 (현재 언급 된 appname_users가 될 MySQL과 함께). 위).
대부분의 사용자 데이터는 사용자 페이지에만 적용됩니다. 모든 사이트 사용자 (검색 가능한 사용자 프로필)에서 쿼리되는 사용자 데이터 중 일부는 현재 별도의 데이터베이스/테이블에 보관되어 있으며이 정보가 appname_system 데이터베이스에 저장되어 컬렉션 및/또는 특정 응용 프로그램으로 분리 될 수 있습니다. 데이터베이스 (appname_profiles).
어쨌든이 문서는 현재 약간 얇아서 경험이 극히 제한되어 있으므로 시스템에 대한 더 나은 이해를 가진 사람으로부터 약간의 지침을 찾을 수있을 것으로 생각됩니다.
필자는 MySQL을 스키마가없는 문서 저장소로 취급하려고 시도해 왔으며 Mongo로이 작업을 수행하는 것이 훨씬 더 직관적/정상/합리적인 것처럼 보이기 때문에 실제로 시작하기를 고대하고 있습니다.
덕분에, 자크
감사합니다. Stunti. 더 많은 콜렉션 관련 응답을 기대했지만 데이터베이스 정보도 큰 도움이되었습니다. 내가 더 많은 응답을 보게 될 것 같지 않으므로 당신의 대답을 대답으로 받아 들일 것입니다. 이 정보를 공유해 주셔서 감사합니다. – zmg
컬렉션을 교차하는 쿼리의 예가 있습니까? – Thilo