public void Delete(string name)
        {
            try
            {
                GlobalStore.DataSets.AddBusy(name);
                var dataSet = GlobalStore.DataSets.Get(name);
                if (dataSet == null)
                {
                    throw new InvalidOperationException();
                }

                if (!string.IsNullOrEmpty(dataSet.AliasName))
                {
                    indexQuery.RemoveAlias(dataSet.IndexName, dataSet.AliasName);
                }

                indexQuery.Delete(dataSet.IndexName);
                GlobalStore.DataSets.Remove(name);
            }
            finally
            {
                GlobalStore.DataSets.RemoveBusy(name);
            }
        }