html_url,issue_url,id,node_id,user,created_at,updated_at,author_association,body,reactions,performed_via_github_app,issue https://github.com/pydata/xarray/pull/5961#issuecomment-964477183,https://api.github.com/repos/pydata/xarray/issues/5961,964477183,IC_kwDOAMm_X845fMD_,1217238,2021-11-09T19:43:07Z,2021-11-09T19:43:07Z,MEMBER,"From a xarray.Dataset perspective, `Dataset._variables` just needs to be a MutableMapping of xarray.Variable objects. And in most cases (when not using DataTree), `_variables` would still be a plain dictionary, which means adding DataTree support would have no performance implications for normal Dataset objects. My tentative suggestion would be to use a mixed dictionary with either `xarray.Variable` or nested dictionaries as entries for the data in `DataTree`. Then you could make a proxy mapping object that only exposes Variable objects for use in `Dataset`.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1048697792 https://github.com/pydata/xarray/pull/5961#issuecomment-964433424,https://api.github.com/repos/pydata/xarray/issues/5961,964433424,IC_kwDOAMm_X845fBYQ,1217238,2021-11-09T18:46:11Z,2021-11-09T18:46:11Z,MEMBER,"How about making custom `Mapping` for use as `Dataset._variables` directly, which directly is a mapping of dataset variables? You could still be storing the underlying variables in a different way.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1048697792