Casey,
There are two ways in MarkLogic 7 to query a specific database: Create a 
separate app server (HTTP or XDBC) for each database. An app server has a 
default database that you can set in configuration. Each query/update evaluated 
for that app server runs against that database. Many app servers can point to 
one database, but an app server can only be associated with one database. 
Another, lower-level means is to use xdmp:eval 
<http://docs.marklogic.com/xdmp:eval?q=xdmp:eval> or xdmp:invoke. These allow 
you to specify a database at runtime and evaluate specific code against it. I 
wouldn't recommend this as a general approach, though. It will make your code 
less readable and, in certain scenarios, will prevent MarkLogic from maximizing 
some performance optimizations it does under the covers.

Another approach might be to create protected collections for each "tenant" 
within the same database. With MarkLogic's role-based security, you can be 
assured that you can completely restrict viewing and editing to very specific 
roles. You can take a similar approach to running privileged code with amps. 
Take a look at the Security Guide for more details 
<http://docs.marklogic.com/guide/admin/security#chapter>.

Justin



Justin Makeig
Director, Product Management
MarkLogic Corporation
justin.mak...@marklogic.com
www.marklogic.com



On Jul 7, 2014, at 10:14 AM, Casey Jordan <casey.jor...@jorsek.com> wrote:

> Hi all,
> 
> I am checking out Mark Logic for the first time and I was interested if there 
> is any information around designing a cluster for multi-tenancy?
> 
> I assumed that I could create a separate database for each "client" that 
> would be using the application, and then segment data that way. However right 
> away it became a little unclear to me as to how I query a specific database 
> (couldn't find an example of this in the docs), or manage users, triggers, 
> schemas etc for a specific database. 
> 
> I know this is a fairly general question, but any advice would be helpful.
> 
> Thanks
> 
> -- 
> --
> Casey Jordan
> easyDITA a product of Jorsek LLC
> "CaseyDJordan" on LinkedIn, Twitter & Facebook
> (585) 348 7399
> easydita.com
> 
> 
> This message is intended only for the use of the Addressee(s) and may
> contain information that is privileged, confidential, and/or exempt from
> disclosure under applicable law.  If you are not the intended recipient,
> please be advised that any disclosure  copying, distribution, or use of
> the information contained herein is prohibited.  If you have received
> this communication in error, please destroy all copies of the message,
> whether in electronic or hard copy format, as well as attachments, and
> immediately contact the sender by replying to this e-mail or by phone.
> Thank you.
> _______________________________________________
> General mailing list
> General@developer.marklogic.com
> http://developer.marklogic.com/mailman/listinfo/general

Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________
General mailing list
General@developer.marklogic.com
http://developer.marklogic.com/mailman/listinfo/general

Reply via email to