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

Skype: garyprusso

http://garyrusso.wordpress.com <http://garyrusso.wordpress.com/> 

 

_______________________________________________
General mailing list
[email protected]
http://developer.marklogic.com/mailman/listinfo/general

Reply via email to