HI. I don't have the answer to the whole thing, but if option 2 is the way to go, have a think of the Amazing http server features of MarkLogic 8:
Among other things, you have the ability to switch databases, modules database and modules root on-the-fly per request to the server. In this way, its is possible to design the system with one (or more) http servers while not actually needing 5,000 of them. There is more than enough to use for evaluation of the request to send people to the proper dataset or even a specific modules database for custom code. Then you still get your physical separation by separate databases per client without running 5,000 http servers. There are about 100 new items in the management REST API as well that can probably take care of the majority of the automation for this setup. Of course, this does not help the issue of number of forests - but at least you don't have the http servers as well.. Kind Regards, David Ennis David Ennis *Content Engineer* [image: HintTech] <http://www.hinttech.com/> Mastering the value of content creative | technology | content Delftechpark 37i 2628 XJ Delft The Netherlands T: +31 88 268 25 00 M: +31 63 091 72 80 [image: http://www.hinttech.com] <http://www.hinttech.com> <https://twitter.com/HintTech> <http://www.facebook.com/HintTech> <http://www.linkedin.com/company/HintTech> On 18 December 2014 at 22:50, Gary Russo <[email protected]> wrote: > > I’m building a MarkLogic cluster that will be used by accounting firms to > manage client tax data. > > > > Notes: > > · Each accounting firm will have a unique set of users and clients. > > · Every accounting firm needs their own isolated “dataspace” to > store client data. > > · Need to support 5,000 accounting firms. > > · Need to have a “physical” firewall to isolate data of each > accounting firm. > > · It is very important to not commingle data between accounting > firms. > > > > Example: > > · Account Firm A – Will have 20 users that will manage data for 40 > clients. > > · Account Firm B – Will have 25 users and will manage data for 100 > clients. > > · Account Firm C – Will have 100 users and will manage data for 500 > clients. > > > > > > I see 2 approaches: option 1 - Application/User Level and option 2 - > Port/Database Level > > > > Option 1 is the salesforce.com approach where each firm has a unique REST > endpoint with unique set of users/permissions. > > > > Option 2 is to give every accounting firm a unique database and port > numbers. This means the MarkLogic cluster will have more than ~10,000 > forests with ~5,000 unique HTTP servers. > > > > If Option 2 is used, the accounting firm on boarding process will be fully > automated. A web app will be created that will utilize the REST Management > APIs. => http://docs.marklogic.com/REST/management > > > > > > My questions: > > 1. What is the best approach to support the “multiple tenants” like > this? > > 2. For option 2, is the use of unique databases/port numbers for > 5,000 firms considered too much? > > 3. For option2, how will 10,000 forests on a 3 node cluster impact > performance considering the 2 CPU core per forest rule of thumb? > > > > > > > > *Gary Russo* > > *Enterprise NoSQL Developer* > > *Phone: 201-536-4432 <201-536-4432>* > > *Skype: garyprusso* > > *http://garyrusso.wordpress.com <http://garyrusso.wordpress.com/>* > > > > _______________________________________________ > General mailing list > [email protected] > http://developer.marklogic.com/mailman/listinfo/general > >
_______________________________________________ General mailing list [email protected] http://developer.marklogic.com/mailman/listinfo/general
