I would recommend to use separate dataSource instances as the dataSource component is designed to work with flat data structures. You may use the filter method
to request data which matches given criteria.
There is no straightforward way to combine the result of multiple DataSources. Generally speaking you may retrieve the data array of each DataSource instance through the data method
and combine them into one array but updating the array would require a lot of code.
Could I simply create an observable array that keeps a reference to each datasource?
Not exactly, the DataSource's data is an observable array but if you build an array from it, this array will not automatically update when DataSource is refreshed.
Join us on our journey to create the world's most complete HTML 5 UI Framework - download Kendo UI