• Some good answers in there. I agree that an ODS is often a part of a data warehouse, which also contains other components like master data repositories, data marts, cubes/tabular models (SSAS), ETL/process control, etc.

    Something to be aware of is that an ODS is often "operational" (which usually means it has an up-time requirement of 24x7), and for that reason it can make an excellent part of the DW to serve as an interface to other systems. Data Marts, on the other hand, are more optimised towards being used by humans directly, and need not be "operational" (often they are available over extended business hours), giving plenty of time to run the ETL to update them.

    An ODS often receives real time, near real time or multiple refreshes during the day, whereas a data mart may only be refreshed once a day.

    An ODS can be a "dumping ground"; sometimes they form an "NDS" (normalised data store) and can even be based on the Inmon model for a data warehouse. Sometimes they're just a raw bunch of tables that have little or no relationship to each other.

    There's even a form of the ODS that's actually extracted from data marts (rather than the other way around)!

    Kimball is a great place to start with data warehousing:

    http://www.kimballgroup.com/data-warehouse-business-intelligence-resources/books/