title: How to share data across an organization
body: <p>What are some good ways for an organization to share key data across many deparments and applications?</p>
  
  <p>To give an example, let's say there is one primary application and database to manage customer data. There are ten other applications and databases in the organization that read that data and relate it to their own data. Currently this data sharing is done through a mixture of database (DB) links, materialized views, triggers, staging tables, re-keying information, web services, etc. </p>
  
  <p>Are there any other good approaches for sharing data? And, how do your approaches compare to the ones above with respect to concerns like:
  <li> duplicate data
  <li> error prone data synchronization processes
  <li> tight vs. loose coupling (reducing dependencies/fragility/test coordination)
  <li> architectural simplification
  <li> security
  <li> performance
  <li> well-defined interfaces
  <li> other relevant concerns?</p>
  
  <p>Keep in mind that the shared customer data is used in many ways, from simple, single record queries to complex, multi-predicate, multi-sort, joins with other organization data stored in different databases.</p>
  
  <p>Thanks for your suggestions and advice...</p>