복붙노트

[MONGODB] MongoDB의에서 멀티 테넌트 (multi-tenant) 데이터베이스에 대한 권장되는 방법은 무엇입니까?

MONGODB

MongoDB의에서 멀티 테넌트 (multi-tenant) 데이터베이스에 대한 권장되는 방법은 무엇입니까?

나는 MongoDB의를 사용하여 멀티 테넌트 (multi-tenant) 응용 프로그램을 만드는 생각 해요. 나는 아직 것입니다 얼마나 많은 임차인의 측면에서 어떤 추측을하지 않아도,하지만 난 수천으로 확장 할 수 있도록하고 싶습니다.

나는 세 가지 전략을 생각할 수 있습니다 :

내 머리의 목소리는 내가 옵션 2와 함께 갈 것을 제안한다.

생각과 의미, 누구?

해결법

  1. ==============================

    1.내가 해결하기 위해 같은 문제가 또한 변형을 고려. 나는 SaaS는을 만드는 다년간의 경험이있는 것처럼 멀티 테넌트 (multi-tenant) 나는 또한 관계형 데이터베이스 내 이전의 경험에 기초하여 제 2 옵션을 선택 거라고 applicatios.

    내가 해결하기 위해 같은 문제가 또한 변형을 고려. 나는 SaaS는을 만드는 다년간의 경험이있는 것처럼 멀티 테넌트 (multi-tenant) 나는 또한 관계형 데이터베이스 내 이전의 경험에 기초하여 제 2 옵션을 선택 거라고 applicatios.

    내 연구를 만드는 동안 나는 (방법은 다시는 사라 이후 추가) MongoDB를 지원 사이트에이 기사를 발견 : https://web.archive.org/web/20140812091703/http://support.mongohq.com/use-cases/multi-tenant.html

    사람은 내가 MongoDB를 특히 특정하지 이해로 어떤 비용에서 두번째 옵션을 피하기 위해 말했다. 내 인상이 때문에 데이터베이스 설계의 특성에 내가 조사한되는 NoSQL DBS (CoachDB, 카산드라, 카우치베이스 서버 등)의 대부분을 적용 할 것입니다.

    컬렉션 (또는 버킷 또는 그러나 서로 다른 데시벨에서 호출)는 그들이 좋은 세입자 분리를 적용하기위한 쓸모없는 문서를 컨테이너로 행동에도 불구하고 RDBMS의 보안 스키마와 같은 것이 아니다. 내가 컬렉션을 기반으로 보안 제한을 적용 할 수없는 NoSQL 데이터베이스를 찾을 수 없습니다.

    물론 데이터베이스 / 서버 수준에서 액세스를 제한 할 수 MongoDB의 역할 기반 보안을 사용할 수 있습니다. (http://docs.mongodb.org/manual/core/authorization/)

    나는 때 첫번째 옵션을 추천 할 것입니다 :

    나는 변형 3의 경우 갈 것입니다 :

    당신이 당신의 응용 프로그램에 대한 추가 정보를 게시 할 경우, 아마도 내가 당신에게 더 자세한 조언을 제공 할 수 있습니다.

  2. ==============================

    2.나는이 링크의 주석에서 좋은 답을 찾을 수 :

    나는이 링크의 주석에서 좋은 답을 찾을 수 :

    http://blog.boxedice.com/2010/02/28/notes-from-a-production-mongodb-deployment/

    기본적으로 옵션 # 2 갈 수있는 가장 좋은 방법이 될 것으로 보인다.

    데이비드 Mytton의 의견을 인용 :

  3. ==============================

    3.당신이 참조 할 수있는 멀티 테넌트 (multi-tenant) 데이터 아키텍처에 대한 MSDN에 합리적인 기사가있다. 몇 가지 주요 주제는이 문서에 의해 감동 :

    당신이 참조 할 수있는 멀티 테넌트 (multi-tenant) 데이터 아키텍처에 대한 MSDN에 합리적인 기사가있다. 몇 가지 주요 주제는이 문서에 의해 감동 :

    또한 SaaS (서비스) 구성과 소프트웨어에 대한 몇 가지 패턴에 있습니다 만졌다.

    또한, 가치의 거위의 수컷은 흥미로운 쓰기까지 SQL의 어느 곳이나들에서이다.

    내 자신의 개인적인 걸릴 - 당신이 강제 보안 / 신뢰의 확실하지 않으면, 내가 옵션 3으로 갈 것, 또는 확장 성 문제는 최소한 옵션 2로 대체 금지합니다. 그건 내가 MongoDB를 아무 프로는 아니지만 ... 말했다. 경험이 많은 실무자 행복 하 게 연기하지만 난 것이다 - 나는 공유 "스키마"를 사용하여 꽤 긴장.

  4. ==============================

    4.나는 옵션 2 갈 것입니다.

    나는 옵션 2 갈 것입니다.

    그러나 당신은 mongod.exe 명령 줄 옵션 --smallfiles을 설정할 수 있습니다. 이 정도의 큰 파일 크기가 0.5 기가 아닌 2기가바이트 될 것을 의미한다. 나는 몽고 1.42 이것을 테스트했습니다. 옵션 그래서 3은 불가능하지 않다.

  5. ==============================

    5.여기 토론 NoSQL에 주로 MongoDB를에 있지만, Citus에서 우리는 PostgreSQL의를 사용하여 분산 / 분산됩니다 멀티 테넌트 (multi-tenant) 데이터베이스를 구축하고있다.

    여기 토론 NoSQL에 주로 MongoDB를에 있지만, Citus에서 우리는 PostgreSQL의를 사용하여 분산 / 분산됩니다 멀티 테넌트 (multi-tenant) 데이터베이스를 구축하고있다.

    우리의 사용 사례 가이드는 스키마와 다양한 멀티 테넌트 (multi-tenant)의 특정 기능을 포함, 예제 응용 프로그램을 통해 안내합니다.

    더 구조화되지 않은 데이터의 경우, 우리는 임차인 특정 데이터를 저장하기 위해 PostgreSQL을의 JSONB 열을 사용합니다.

  6. ==============================

    6.MongoDB를 내 연구에 따르면. Trucos Y consejos. Aplicaciones 멀티 테넌트. 옵션을 사용하면 당신은 할 수 있습니다 얼마나 많은 세입자 모른다면 그렇게하지 않는 것이 좋습니다, 그것은 수천 수하고 샤딩에 관해서는, 또한 그래서 귀하의 경우에 ... 단일 데이터베이스에 수집 수천 상상할 복잡 할 것이다 그것을 옵션 하나를 사용하는 것이 좋습니다. 이제 당신은 제한된 수의 사용자를 위하여려고하는 경우에, 이미 다른 당신이 생각만큼 그래, 당신은 두 번째 옵션을 사용할 수 있습니다.

    MongoDB를 내 연구에 따르면. Trucos Y consejos. Aplicaciones 멀티 테넌트. 옵션을 사용하면 당신은 할 수 있습니다 얼마나 많은 세입자 모른다면 그렇게하지 않는 것이 좋습니다, 그것은 수천 수하고 샤딩에 관해서는, 또한 그래서 귀하의 경우에 ... 단일 데이터베이스에 수집 수천 상상할 복잡 할 것이다 그것을 옵션 하나를 사용하는 것이 좋습니다. 이제 당신은 제한된 수의 사용자를 위하여려고하는 경우에, 이미 다른 당신이 생각만큼 그래, 당신은 두 번째 옵션을 사용할 수 있습니다.

  7. from https://stackoverflow.com/questions/2748825/what-is-the-recommended-approach-towards-multi-tenant-databases-in-mongodb by cc-by-sa and MIT license