Django multi-DB multitenancy с MongoDB

Има ли софтуер, който осигурява поддръжка на множество DB за много клиенти за Django и работи с MongoDB?

Мисля, че имам нужда само от много наемане на ниво база данни и може би на ниво схема, но не и на ниво приложение.

Имам доста сложен потребителски модел. Някои потребители могат да преглеждат определени данни, въведени от други потребители. Потребителите обикновено принадлежат към организации. Организациите могат да бъдат вложени йерархично и може да има прилики в начина, по който приложението е конфигурирано за потребители в рамките на организацията (напр. всички потребители в организацията ще попълнят един и същ формуляр, освен ако това не е отменено за отделен потребител). Понякога определени данни, които потребителите изпращат, могат да бъдат прегледани от потребители извън тяхната организация и дори извън йерархията, в която е тяхната организация. Организациите, използващи приложението, могат да бъдат конкуренти, а данните, с които работим, са чувствителни, така че трябва да бъдат много сигурни. Освен това трябва да се развие много бързо.

Мисля да дам на всеки потребител собствена DB и след това или да имам споделени DB, или една споделена DB с множество схеми, за да съхранявам конфигурации, които се споделят между потребители в организации.


person Daniel    schedule 08.05.2015    source източник


Отговори (1)


Мулти наемането на MongoDB е напълно жизнеспособно, ние го използваме в производството на onliquid.com.

Не знам за библиотека, плъгин или специфичен софтуер, който да го прави вместо вас, но е изпълним с не толкова много усилия. Ако искате да се потопите в това, бих ви посъветвал да обърнете специално внимание на това как се държи драйверът, който използвате, когато избирате базата данни за четене и запис, и започнете да работите върху това. Също така разгледайте опциите за конфигурация на MongoDB като smallfiles и directoryperdb, които ви позволяват да управлявате по-добре разликите и да избегнете някои проблеми.

Написах публикация в блог преди известно време за това за Ruby на Rails с помощта на Mongoid, повечето от детайлите са приложими за всички уеб рамки и специфични за вътрешната работа на MongoDB.

person jasoares    schedule 28.05.2015