On Tue, 17 Jul 2012, Pieter Baele wrote:
Given databases:
--- dc=common,dc=example,dc=org --- dc=shared,dc=example,dc=org --- dc=companyA,dc=example,dc=org --- dc=companyB,dc=example,dc=org --- dc=companyC,dc=example,dc=org
all slaves represent this as "dc=example,dc=org"
it looks like a really good situation for a simple glue configuration using the "subordinate" keyword; see slapd.conf(5).
One method also worth putting on the table is hosting the single backend "dc=example,dc=org" on your master and selectively replicating appropriate portions of the DIT using appropriate filters. (Howard recently posted to the list on the best practices to execute this.)
Honestly, you could probably achieve (close to?) desired behavior using any of the methods you mentioned ... it's just a question of complexity and overhead/speed. "subordinate" keeps it really simple; personally I'd start there and ramp up only if testing/needs dictate.