What is BI?

We all know BI stands for Business Intelligence, but Business Intelligence is a general concept. What is intelligence? How to be smart?

In fact, BI is neither a specific technology nor a visual reporting platform, but a solution to a general business demand: data processing and analysis by a series of technical means, and then transformed into knowledge to support business decisions.

As a solution, BI needs to cover a number of tools and capabilities: data source connectivity, data preparation, data visualization, data reporting, data output, and so on. Support for these tools and capabilities is also the most fundamental dimension for evaluating a BI platform.

Does our company/team need BI?

Needs.

What are the options?

Now there are many BI platforms, common commercial platforms are: Microsoft Power BI, Tableau, etc., domestic Ali Cloud Quick BI, FineBI, etc. The chart below, Gartner Analytics and Business Intelligence Platform Magic Quadrant 2020, provides a glimpse into the strength of each platform. I don’t comment on it until I have experienced it.

For well-known reasons, I prefer open source solutions, and there are some good options for open source BI. In my article last year, I listed some open source solutions for data visualization analysis platforms, including Superset, Hue, Redash, Metabase, etc.

Basis of selection

Query => chart => dashboard is by far the most common and basic interaction process. The many features that extend out from this are what make the difference between platforms. The features we care about more:

  • To support common data source types, MySQl and Presto DB are mandatory
  • Support business self-service analysis and data preparation, drag and drop interactive exploration
  • Support SQL schema for complex scenarios
  • Visual chart types are rich enough
  • External output capability that can be embedded, pushed and shared
  • Perfect user and authority system
  • It can be redeveloped, privately compiled and deployed, that is, open source, in order to expand more data source drivers, chart types, output methods, etc
  • Report should be beautiful
  • free

Take them out and try them out

factor Metabase Redash Superset Hue
The data source ⭐ ️ ⭐ ️ ⭐ ️ ⭐ ️ ⭐ ️ ⭐ ️ ⭐ ️ ⭐ ️ ⭐ ️ ⭐ ️ ⭐ ️ ⭐ ⭐ ️ ⭐ ️ ⭐ ️
Self-help analysis ⭐ ️ ⭐ ️ ⭐ ️ ⭐ ️ ⭐ ️ ️ ⭐ ️ ⭐ ️ ⭐ ️ ⭐ ️ ⭐ ️ ⭐ ️ ⭐ ️ ⭐ ️
SQL support ⭐ ️ ⭐ ️ ⭐ ️ ⭐ ️ ⭐ ️ ⭐ ️ ⭐ ️ ⭐ ️ ⭐ ️ ⭐ ️ ⭐ ️ ⭐ ️ ⭐ ️ ⭐ ️ ⭐ ️ ⭐ ️ ⭐ ️
share ⭐ ️ ⭐ ️ ⭐ ️ ⭐ ️ ⭐ ️ ⭐ ️ ⭐ ️ ⭐ ️ ⭐ ️ ⭐ ️ ⭐ ️ ⭐ ️ ⭐ ️ ⭐ ️ ⭐
beautiful ⭐ ️ ⭐ ️ ⭐ ️ ⭐ ️ ⭐ ️ ⭐ ️ ⭐ ️ ⭐ ️ ⭐ ️ ⭐ ️ ⭐ ️ ⭐ ️ ⭐ ️ ⭐ ️
Develop languages and frameworks Clojure + React Python+Angular+React Python+React+jQuery Python+jQuery

(The above individual indicators are subjective, for reference only)

Metabase where good

After comparison and experience, Metabase is the best match for our needs.

Metabase

The simplest, fastest way to get business intelligence and analytics to everyone in your company 😋

It’s official: The easiest, fastest way to empower everyone in your company with business intelligence and analytics.

Summary of features:

  1. Supported data sources: Postgres MySQL Druid SQL Server Redshift MongoDB Google BigQuery SQLite H2 Oracle Vertica Presto Snowflake SparkSQL
  2. Data preparation method: Supports SQL query, simple query, and user-defined query.
  3. Supported chart types: Curve, bar, bar, pie, area, combination, map, funnel, scatter, dashboard, etc
  4. Mail alarm: you can use the existing query configuration data threshold alarm, send mail.
  5. Dashboard functions: support parameter transfer, one-click full screen, public sharing, IFrame embedding, timed refresh
  6. User integration: LDAP, OAuth2 (requires a little development)
  7. Permission: You can assign permissions to user groups by data source or report folder.

Surprise:

  • Metadata automatic maintenance synchronization, data browsing and perspective is very convenient
  • Supports model configuration, which is used to directly select configured indicators and conditions when asking questions
  • Parameter passing is supported, and both queries and dashboards can inject parameters as report filters
  • Support custom map, map of China province map these map visualization are not the words
  • Query nesting is supported, which means that queries can be reused
  • Support code block reuse
  • Dashboards support Markdown components, dashboards can be embedded with custom text, links, and images.
  • Global search, support global search report data dashboard, etc.
  • The dashboard supports dark mode. After the full screen of the dashboard, turn on the dark mode and put it on the monitor screen, which is your favorite mode

Despite these advantages, the development language is a bit different.

Clojure gives you a fright

In contrast to these open source platform front-end development languages, React is indeed the most popular in foreign countries. Many systems are either developed or reconfigured using React. As data applications, the server-side language uses Python more, which is expected. Metabase, however, uses Clojure, a Lisp dialect, which is a bit advanced.

As a front-end developer, I don’t understand JVMS or Lisp, and I was overwritten by ClojureScript by Amway! I seem a little interested.

Clojure (/ˈkloʊ ʊ r/) is a modern, dynamic, and functional dialect of the Lisp programming language on the Java platform.

It’s important to note that Clojure is a language that runs on the JVM and can call the Java ecosystem libraries at will! It can also be packaged as a JAR and deployed like a Java program.

It is also dynamically typed, functional, and has an immutable data structure, which makes it no wonder that the ClojureScript + React stack is favored by many front-end leaders.

What? Can’t learn? No, you can learn, and it may well open the door to a new world.

conclusion

Open source BI, I finally chose Metabase, if you have open source BI needs, I hope the above insights will help you. If you have any questions, please leave a message.

Finally, Metabase zen is attached. I think this is the principle that developers should pursue

Deliver as much value as you can and structure things for the user and automatically infer things for the user that the system should know, don’t ask the user and make it easy for the user to do the right thing and don’t leave the user in a trap and make the extra effort to make the user experience pleasant