UI is painful for querying

Hi all,
I’ve been spending a fair amount of time with Dremio lately, and there are some significant UI issues that make regular use for writing SQL queries extremely frustrating:

  1. Getting column names is WAYYY too hard.
    To get column names requires going to the Datasets tab and searching/browsing for the dataset (usually the one I’m working with in the query), then hovering with the mouse over the table,which pops open a modal style window, then dragging an individual column name into the query window.
    If you click back into the query window, say, to add a comma between columns, the modal disappears and you have to hover again and find the next column.
    To keep the query window an appropriate size for seeing enough results requires making the datasets window tiny, so that 4-6 datasets max can fit in the tiny tab. That in turn requires the list of colums to float over the results, again making it easy to miss.
    There is no multi-select, so each column must be selected and dragged manually. Using the search above the query window returns a dataset and refreshes the page, destroying the SQL that was written.
    When dragging datasets or columns, the text is pulled below the cursor,instead of vertically centered. This makes it very hard to pull the query into the right place.
    Pressing the Run button completely refreshes/redraws the datasets pane, requiring navigating back to the dataset over and over again.
    Any accidental browser navigation makes it easy to lose the query.
    There is no way to see the total number of rows that a query COULD return without doing SELECT count. This means that the Row Count item under the dataset pane means essentially nothing, as it relates to an arbitrary number of rows returned for reasons unclear to the user.
    The horizontal scroll bar is small and it’s hard to position the mouse over it.

  2. The breadcrumbs under the dataset are almost always cut off. Trying to use it to click back up to the source to find another dataset from the same folder invariably takes me up a couple folders from the intended destination, requiring more clicks to get back to the folder I was working in.

  3. The “folder” view showing datasets uses a tiny font and a row that occupies nearly the entire screen, with nearly all the space empty.
    The search box doesn’t search any folders below the current one.
    At the same time the Catalog Search provides no way to see datasets matching search criteria without clicking on one (which eliminates the contents of the current screen).

  4. Error message are tiny and totally uninformative. They don’t refer to any particular SQL parsing error, so one has to try to figure it out from the red line drawn around the text in the editor pane.

I have also searched around for other SQL editors to use for writing Dremio SQL. However, most query editors with good UIs do tighter integration with the underlying database. The only ones I’ve gotten to sort of work are the JDBC-based ones, which tend to be written in pure Java and are memory hogs that easily crash. Perhaps I’ve overlooked one, but I’ve looked pretty hard.

Here are some things that would reduce the pain:

  • Put the list of tables on the left side, and make this pane the entire height of the browser and closable like a drawer (like almost every other SQL editor)
  • Give the tables the little arrow that the folders do, and show the columns inside the tables (like almost every other SQL editor)
  • Allow multi-selection of columns (like almost…)
  • Use a larger font for datasets and columns
  • In the datasets pane make sure that any datasets involved in the current query are in a subsection for current “tables”
  • Center dragged text around the point of the cursor rather than let it hang below.
  • Increase font size throughout the application
  • Make error messages informative, especially about SQL parsing errors
  • Return error messages either in place of the results or in a larger screen element
  • Provide a space to search for tables and
  • Make row counts meaningful, ideally by making it easy to understand the row count that will result from the full query.
  • Change the “folder” view to provide meaningful information about the dataset.
  • Combine the catalog search and the search box in the datasets
  • Make the query window more resistent to browser navigation
  • Autosave SQL as it is being edited
  • Find a partner that provides a desktop (or close) editor and partner to provide solid integration

As a data scientist and product manager, I’m pretty underwhelmed by this UI - it seems like the neglected stepchild of the application. I love what Dremio does, and am excited about building with it, but the UI is pretty close to a deal-killer. Frankly I can’t even roll it out to the rest of my team, much less my whole organization (which has a lot of non-developer analysts) until it has a query-writing experience on par with what other SQL editors can do.

Happy to talk about this in November if that’s helpful.

Eric

Thanks for your feedback @eellsworth! We’ll be enhancing the UI over the next several releases and will take your suggestions into consideration as part of that.

When you refer to the “folder” view, are you looking at the view that drills down into a data lake?

Running Version 15 community edition on a Ubuntu “head less” node. Used Chromebook as a client with latest version of chrome installed. Also using Chrome latest version on a Windows 10 machine

  • I can see there are significant improvements including several of suggstions from @eelisworth .

@isha - has any one else reported a useability issue with the SQL Query editor? Things start okay but as the session goes on (say an hour) - the cursor position is offset and (this could be subjective) seems to get further offset as time goes by. To illustrate , when attempting to either copy / paste or delete sections of code, the resulting activity occurs out of step

I am not able to identify the precise activities that generate this behaviour (such as launching “Edit” from Actions Menu from the Data Sets Browser for a virtual data set)

It gets to a point where I end up closing the entire browser session (annoying) or restarting the dremio service on the server. Getting through the “current query” means editing the SQL query code in a separate text editor and pasting back into the dremio client.

Its not critical obviously - but I hope to demo this product to future clients and it would be a great to have a consistent experience.

@irnerd , thank you very much for this feedback. As we continue to enhance the SQL editor UI, we will definitely take a look at this particular case. Thank you for providing this detailed information to us.