In general, I would say that database security systems are all about enforcing security that people can depend on. And Mark Logic's security system is no different. After all, at salesforce.com, every one shares the same relational database instance. This type of model leads to a lot less management overhead, and generally a lot less trouble. So having all those clients share the same database instance would probably be the approach we would recommend. That being said, if the client is set on running an "instance" model (ie. one effective marklogic instance per client) rather than a shared services model (ie. one marklogic instance shared across clients, enforced by security), there's no *technical* reason not to do it, as long as the number of clients is limited. Administration and operations is going to be more complex (and not just managing different security databases; remember you've just decided to do N times as many backups, for instance). If the number of clients is large, you may start to run into issues with the number of databases you now need to manage. And presumably you'll need to have a different app server for each client? And you'll probably want to consider having an admin interface for each security database, so you can manage it through the GUI if you want to... It's not so much that there's an actual limit on the number of databases, it's just that many aspects of server management, administration and communication are not necessarily designed or optimized to run hundreds of small databases within the same cluster. I think it's fair to say that this would not be an approach that we would consider a "best practice". But if the number of clients is 3, neither would it necessarily end up whacking you upside the head... ian
________________________________ From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Neil Bradley Sent: Sunday, December 23, 2007 6:54 AM To: 'General Mark Logic Developer Discussion' Subject: [MarkLogic Dev General] Multiple Security Databases? Hi, I have a client who wants to build a web application that would be made accessible to several of their clients. Each of those clients would have an administrator who would log-in to the site and be able to add more users from that client. These clients are very sensitive about their own data, and I am proposing that there would be a separate document database for each. But I am wondering if it is also practical to have a separate security database for each client too? This would help sell the concept of a single server being used for theirs and other's data, as we could say that their documents AND their security details would be separate from other's data (maybe even on a separate drive, for the really paranoid!). It would also be useful because the additional users added be each client administrator could not clash with the names of users from other clients. However, is that a practical model? I would not expect to use the MarkLogic admin interface to create users etc in each security database, but are there too many complications to make this approach practical? I noted the following the adminsitrator's guide"... "However, security objects created through the Admin Interface are stored in the Security database by default. Mark Logic recommends leaving databases connected to Security as their security database." Neil.
_______________________________________________ General mailing list [email protected] http://xqzone.com/mailman/listinfo/general
