{"id":73358,"date":"2020-03-09T08:42:14","date_gmt":"2020-03-09T05:42:14","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/clickhouse-vizualno-bystryj-i-naglyadnyj-analiz-dannyh-v-tabix-igor-stryhar"},"modified":"2020-03-09T08:42:14","modified_gmt":"2020-03-09T05:42:14","slug":"clickhouse-vizualno-bystryj-i-naglyadnyj-analiz-dannyh-v-tabix-igor-stryhar","status":"publish","type":"post","link":"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/clickhouse-vizualno-bystryj-i-naglyadnyj-analiz-dannyh-v-tabix-igor-stryhar","title":{"rendered":"ClickHouse \u2013 visually fast and clear data analysis in Tabix. Igor Strycharz","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><strong>I invite you to review the transcript of Igor Strychar's 2017 report \"ClickHouse \u2013 visually fast and clear data analysis in Tabix.\"<\/strong><\/p>\n<p><\/p>\n<p>Web interface for ClickHouse in the Tabix project.<br \/>\nMain Features:<\/p>\n<p><\/p>\n<ul>\n<li>Works with ClickHouse directly from the browser, without the need to install additional software;<\/li>\n<li>Query editor with syntax highlighting;<\/li>\n<li>Command autocompletion;<\/li>\n<li>Graphical tools for analyzing query execution;<\/li>\n<li>Color schemes to choose from.<br \/>\n<img decoding=\"async\" alt=\"ClickHouse \u2013 visually fast and clear data analysis in Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/9d95cf5ceb5acc3a1301943165ca9225.png\" style=\"display:block;margin: 0 auto;\" \/><\/li>\n<\/ul>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\n<center><div class=\"youtube-placeholder\" data-id=\"w1-XsL3nbRg\" onclick=\"loadVideo(this)\">\r\n        <img decoding=\"async\" src=\"https:\/\/img.youtube.com\/vi\/w1-XsL3nbRg\/hqdefault.jpg\" alt=\"Play video\" loading=\"lazy\" width=\"480\" height=\"360\" style=\"width:100%;height:auto;\">\r\n        <div class=\"play-button\"><\/div>\r\n    <\/div><\/center><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 visually fast and clear data analysis in Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/950e3d0a3ff10d267ae48e897f5cbdb6.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>I am the technical director of SMI2. We are a news exchange aggregator. We store a lot of data that we receive from our partners and register it in ClickHouse \u2013 about 30,000 queries per second.<\/p>\n<p><\/p>\n<p>This includes data such as:<\/p>\n<p><\/p>\n<ul>\n<li>Clicks on news.<\/li>\n<li>News views in the aggregator.<\/li>\n<li>Banner views in our network.<\/li>\n<li>And we register events from our own counter, similar to Yandex.Metrica. This is our own micro-analytics. <\/li>\n<\/ul>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 visually fast and clear data analysis in Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/8f5a7af9fef04a51fed29279557c3b64.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>We had a very tumultuous life before ClickHouse. We struggled a lot trying to store this data somewhere and analyze it somehow.<\/p>\n<p><\/p>\n<p><strong>Life before ClickHouse \u2013 infiniDB<\/strong><\/p>\n<p><\/p>\n<p>The first thing we had was infiniDB. We struggled to run it for 4 years. <\/p>\n<p><\/p>\n<ul>\n<li>It does not support clustering or sharding. Nothing smart like that came out of the box by default. <\/li>\n<li>It had difficulties with data loading. Only a specific console utility that could only load CSV files and only in a very unclear way. <\/li>\n<li>The database is single-threaded. You could either write or read. But it allowed processing a large volume of data. <\/li>\n<li>And it also had an interesting workaround. Every night you had to reboot the server, or it just wouldn't work. <\/li>\n<\/ul>\n<p><\/p>\n<p>It worked for us until the end of 2016, when we completely switched to ClickHouse.<\/p>\n<p><\/p>\n<p><strong>Life before ClickHouse \u2013 Cassandra<\/strong><\/p>\n<p><\/p>\n<p>Since infiniDB was single-threaded, we decided we needed some kind of multi-threaded database where we could write a lot of streams simultaneously.<\/p>\n<p><\/p>\n<p>We tried many interesting things. Then we decided to try Cassandra. With Cassandra, everything was great for us. 10,000 queries per second on write. About 2,000 queries on read. <\/p>\n<p><\/p>\n<p>But it also had its own peculiarities. Once a month or every two months, it would experience database desynchronization. And we had to wake up and rush to fix Cassandra. We restarted the servers one by one. And everything became smooth and nice. <\/p>\n<p><\/p>\n<p><strong>Life Before ClickHouse \u2013 Druid<\/strong><\/p>\n<p><\/p>\n<p>Then we realized that we needed to write even more data. In 2016, we started looking at Druid. <\/p>\n<p><\/p>\n<p>Druid is an open-source database written in Java. It's quite specific and suited for clickstream when we need to store a stream of events and then perform aggregation or generate analytical reports on them.<\/p>\n<p><\/p>\n<p>Druid had a version 0.9.X. <\/p>\n<p><\/p>\n<p>Deploying the database itself is quite challenging. This is an infrastructure complexity. To set it up, we had to install a lot of hardware, and each piece of hardware was responsible for its own separate role. <\/p>\n<p><\/p>\n<p>To load data into it, some sort of sorcery was needed. There is an open-source project \u2013 Tranquility, which ended up losing data for us during streaming. When we loaded data into it, it would lose them. <\/p>\n<p><\/p>\n<p>But somehow we began to implement it. We were like hedgehogs getting pricked but still continuing to eat the cactus; we started to implement it. It took us about a month to prepare the entire infrastructure for it. That is, we had to order servers, set up roles, and fully automate the deployment. That is, in case of a cluster failure, a second cluster should automatically deploy. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 visually fast and clear data analysis in Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/a8193aab09ab9cce3b69e3b84ce470dd.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>But then a miracle happened. I was on vacation, and my colleagues sent me a link to <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/yandex\/blog\/303282\/\">habr<\/a><\/noindex>, where it was mentioned that Yandex decided to open ClickHouse. I said, let's give it a try.<\/p>\n<p><\/p>\n<p>And literally within 2 days, we deployed a test cluster of ClickHouse. We started loading data into it. Compared to infiniDB \u2013 it's straightforward, compared to Druid \u2013 it's straightforward. Compared to Cassandra, it's also straightforward. Because if you load data into Cassandra from PHP, it's not straightforward.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 visually fast and clear data analysis in Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/0b4b6ea08f7f7037d0e26dbe3f33fa53.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>What did we achieve? Performance in speed. Performance in data storage. That is, it uses significantly less disk space. ClickHouse is fast; it's very fast compared to other products. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 visually fast and clear data analysis in Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/9ff5e2ac127be8813b5d5cec49dab73a.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>At the time of launch, when Yandex published ClickHouse as open-source, there was only a console client. We at our company, SMI2, decided to try to create a native web client so that it could open a page in the browser, write a query, and get results because we started writing a lot of queries. Writing in the console is cumbersome. And we created our first version.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 visually fast and clear data analysis in Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/a2569a45f9bf1b91815ca3dfa0eefcf3.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>And closer to the winter of last year, third-party tools for working with ClickHouse started to appear. These tools include:<\/p>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/redash.io\/\">Redash.IO<\/a><\/noindex>.<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/zeppelin.apache.org\/\">Apache Zeppelin<\/a><\/noindex>.<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/airbnb\/incubator-superset\">Superset Airbnb<\/a><\/noindex>. (Now <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/apache\/incubator-superset\">https:\/\/github.com\/apache\/incubator-superset<\/a><\/noindex>)<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/blog.jetbrains.com\/datagrip\/2018\/08\/15\/datagrip-2018-2-2-clickhouse-support-and-bugfixes\/\">Jetbrains IDE<\/a><\/noindex>.<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/Vertamedia\/clickhouse-grafana\">Vertamedia\/clickhouse-grafana<\/a><\/noindex>. <\/li>\n<\/ul>\n<p><\/p>\n<p>I will discuss some of these tools, i.e., those I have worked with. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 visually fast and clear data analysis in Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/7b91bc29b1c04020b56c89621287e8c1.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>A good tool, but for Druid. When we implemented Druid, I explored SuperSet. I liked it. It works very fast for Druid. <\/p>\n<p><\/p>\n<p>It\u2019s not suitable for ClickHouse. I mean, it runs, but it can only handle basic queries like: SELECT event, GROUP BY event. It does not support more complex ClickHouse syntax.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 visually fast and clear data analysis in Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/a708c787120de3db725a9bba4c8bd642.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>The next tool is Apache Zeppelin. This is a good and interesting tool. It works. It supports notebooks, dashboards, and variables. I know someone from the ClickHouse community uses it. <\/p>\n<p><\/p>\n<p>However, there is no support for ClickHouse syntax, meaning you have to write queries either in the console or elsewhere. Then check that everything is working. It\u2019s just inconvenient. But it has good dashboarding support. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 visually fast and clear data analysis in Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/0c2afefc1504d14dd50f88459a652a1c.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>The next tool is Redash.IO. Redash is hosted online. Unlike the previous tools, it doesn\u2019t need to be installed. It offers dashboarding with the ability to consolidate data from different DataSources. You can export from ClickHouse, MySQL, PostgreSQL, and other databases. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 visually fast and clear data analysis in Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/dc639fe6e9716c835d1fe0fdfaa300b8.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Literally a month ago (in March 2017), support appeared in Grafana. When you build reports in Grafana, say on the status of your hardware or some metrics, you can now create the same graph or panel from ClickHouse data directly. This is very convenient, and we use it ourselves. It helps identify anomalies. If something is happening, and some hardware fails or becomes stressed, you can look for the cause if that data has made it to ClickHouse. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 visually fast and clear data analysis in Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/0dd54a7633d25d0c924c2e6825028eb3.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>I found it very inconvenient to write in these tools or in the console. So, I decided to improve our first interface. I got the idea from EventSQL, SuperSet, and Zeppelin.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 visually fast and clear data analysis in Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/3252a09e0942428143336639aa399f4d.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>What did I want? I wanted to get graphs, an improved editor, and implement support for dictionary hints. Because ClickHouse has a great feature \u2013 dictionaries. But it\u2019s hard to work with dictionaries because you need to remember the format of stored values, i.e., whether it\u2019s a number or a string, etc. Since we often use dictionaries in their various forms, it was quite difficult to write queries.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 visually fast and clear data analysis in Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/90a529b4fb5d03a6d61c89e00287b21d.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Three months have passed since the release of our first version. I made about 330 commits in the private branch, and Tabix was created.<\/p>\n<p><\/p>\n<p>Unlike the previous version, which was called ClickHouse-Frontend, I decided to rename it to a simpler name. Thus, we have Tabix.<\/p>\n<p><\/p>\n<p>What has appeared?<\/p>\n<p><\/p>\n<p>It draws graphs. Supports ClickHouse SQL syntax. It provides suggestions for functions and has many interesting features.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 visually fast and clear data analysis in Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/cd2bbb0c2c3e0fa2d2622bbd2aecdbc7.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>This is what the overall scheme of Tabix looks like. On the left is the tree. In the center is the query editor. And below is the result of this query.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 visually fast and clear data analysis in Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/becf5df173220480e077ae8d8e0ebf3e.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Next, I will show how the query editor works. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 visually fast and clear data analysis in Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/d5ca1028922a12d5e6f133704d4c91a2.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Here, the auto-completion has automatically triggered on the table, suggesting fields accordingly. And it provides hints for functions. If you press ctrl + enter, the query will be executed or it will fail with an error. The simplest query is sent to Tabix, resulting in quick work with ClickHouse.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 visually fast and clear data analysis in Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/74623f9f5030eb08523dc7269517a5d5.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Dictionaries, as I mentioned, are very interesting tools that we work with extensively. They have enabled us to accomplish many things. For instance, we store all city data in the dictionaries. We keep the city identifier and name, its latitude and longitude. In the database, we only store the city identifier. Thus, we compress the data significantly.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 visually fast and clear data analysis in Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/fa698b916b01a58f182003e6a15dfea0.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>This may seem simple, but it helps quite interestingly in ClickHouse. Because ClickHouse supports only nested joins, a query expands downwards and horizontally considerably. When a bracket opens and a lengthy expression follows, such a simple thing as collapsing the query helps manage the query itself more easily. When dealing with a query of 200-300 lines that spreads wide, collapsing the query makes it easier to find a specific place or to localize it.<\/p>\n<p><\/p>\n<p>Object tree, multi-queries, and tabs (Video 13:46 <noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/w1-XsL3nbRg?t=826\">https:\/\/youtu.be\/w1-XsL3nbRg?t=826<\/a><\/noindex>)<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 visually fast and clear data analysis in Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/d43efecc6b0b395cdc17a3dd9db53400.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Next, I'll show the tree and tabs. On the left is the tree, and at the top, you can create multiple tabs. Tabs serve as a workspace. You can create several tabs and name each one according to your preference. It's like a mini-system for report generation.<\/p>\n<p><\/p>\n<p>Tabs are automatically saved. If you reload the browser or close it, or open Tabix again, everything will be saved.<\/p>\n<p><\/p>\n<p>Hotkey \u2013 convenient (Video 14:39 <noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/w1-XsL3nbRg?t=879\">https:\/\/youtu.be\/w1-XsL3nbRg?t=879<\/a><\/noindex>)<\/p>\n<p><\/p>\n<p>There are hotkeys, and there are quite a few. I have highlighted some of them here as examples. These include switching tabs, executing a query, or executing multiple queries. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 visually fast and clear data analysis in Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/27f3e6d0dbb4d1038bb551808b13d2ac.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>I will show you how to work with the result. We send a request. Here I draw sin, cos, and tg. You can highlight the result, that is, draw a typical map for the column. You can highlight positive or negative values. Or simply color a specific element of the table. This is convenient when the table is huge and you need to visually find some anomaly. When I was looking for anomalies, I would highlight certain rows or elements in green or red.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 visually fast and clear data analysis in Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/af0c21073a1edd81e4d688f119ef7568.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>There are many interesting features there. For example, how to copy to Redmine Markdown. If you need to copy the result somewhere, this is very convenient. You can simply select an area, say 'Copy to Redmine,' and it will copy to Redmine Markdown or create a Where request.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 visually fast and clear data analysis in Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/43034a47b5ca31ee08e7721cc5f5159c.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Next is query optimization. I once forgot to specify the field 'date'. And my query in ClickHouse was not very fast, but it was quick, that is, less than a second. When I saw how many rows it was processing, I was shocked. We don't write that many rows in this table in a day. I started analyzing the query and realized that I missed the date in one place. That is, I forgot to indicate that I needed data not from the entire table, but for a specific period.<\/p>\n<p><\/p>\n<p>In Tabix, there is a 'Stats' tab, where all the history of sent queries is stored. You can see how many rows were read by this query and how long it took. This allows for optimization. <\/p>\n<p><\/p>\n<p>You can build a pivot table from the query results. You sent a request to ClickHouse and received some data. Then you can manipulate this data with your mouse and create a pivot table.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 visually fast and clear data analysis in Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/0365df303eb55336eeb8a037cb118113.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>The next interesting thing is graph plotting. Let's say we have a request for sin and cos from 0 to 299. To visualize it, you need to select the 'Draw' tab, and you will get a graph with your sin and cos. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 visually fast and clear data analysis in Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/bdf00b9d6bffb907e88d2fdb7bfb16dc.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>You can split this onto different axes, that is, you can plot two graphs side by side. You write one command and then the other. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 visually fast and clear data analysis in Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/efe77846e3f5f30a5d73e75be53d608a.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>You can draw histograms.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 visually fast and clear data analysis in Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/e531aac548eca2eb9e30dac21f8876b8.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>You can break this into a matrix of graphs.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 visually fast and clear data analysis in Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/3404f87cee0e376df8ca62f03fc0fc7e.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>You can create a heat map. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 visually fast and clear data analysis in Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/e15fe90c49bb850c821dab7492856b0b.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>You can create a heat calendar. By the way, this is very convenient when you need to analyze anomalies over a year, that is, to find either spikes or drops. This data visualization helped me with that. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 visually fast and clear data analysis in Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/08945df379d33aa73518ef10d02fe561.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Next is the Treemap.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 visually fast and clear data analysis in Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/a7331b33b77e98ce85aff0316e3dcc76.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 visually fast and clear data analysis in Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/5794844e8c1db71f1507cbdae67fedf6.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Sankeys \u2013 an interesting graph. It's either Streamgraphs or River. But I call it River. It also allows for the detection of anomalies. It's very convenient. I recommend using it for searches.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 visually fast and clear data analysis in Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/483f363d93ba80dc9ac165ae083db585.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>The next interesting thing is the drawing of a dynamic map. If your database stores latitude, longitude, and, for example, a destination, such as for freight transport or airplanes, you can plot the routes to the destination. You can also specify speed, size of the objects flying in, and more.<\/p>\n<p><\/p>\n<p>But the problem with this map is that it only draws the world map, with no detail.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 visually fast and clear data analysis in Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/13f302e67e7f84dc85728204153d6377.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Later, I added Google Maps. If you store latitude and longitude, you can plot the results on Google Maps, but without support for the airplanes.<\/p>\n<p><\/p>\n<p>We discussed the main functions for working with the result and the query in Tabix. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 visually fast and clear data analysis in Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/849baa55e6865ab451b82f23fe6e5110.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Next is the analysis of your ClickHouse server. There is a separate 'Metrics' tab where you can see the size of the stored data for each column. The screenshot shows that the field 'referrer' occupies about 730 GB. If we drop this field, we will save three shards of 700 GB each, i.e., about 2 TB that we don't need. <\/p>\n<p><\/p>\n<p>We also have a field 'request_id' that we store as a string. But if we start storing it as a number, this field will shrink significantly. <\/p>\n<p><\/p>\n<p>Here, the server configuration and the list of nodes in your cluster are also shown. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 visually fast and clear data analysis in Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/fa2a35c1af59b3f56059fcfb26571c6e.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>The next tab is metrics. They are retrieved in real-time from ClickHouse and simply allow for the analysis of the server's state and understanding of what is happening with it. This is not a replacement for a full-fledged Grafana. It is needed for quick analysis. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 visually fast and clear data analysis in Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/7de741718ef19b81bd0f7f33dbed019e.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>The next tab shows processes. You can understand what is happening on the server and figure out what's going on. I had a query that consumed 200 GB every time for reads. I realized this thanks to this interface. I caught it and adjusted it, resulting in about 30 GB, i.e., performance improved significantly.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 visually fast and clear data analysis in Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/084b6131b189364f9e093792125649df.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Thank you! And this is OpenSource.<\/p>\n<p><\/p>\n<p>I\u2019m done. By the way, this is OpenSource, it's free and you don't even need to download it. Just open it in your browser and everything will work. <\/p>\n<p><\/p>\n<p>Questions<\/p>\n<p><\/p>\n<p><em>Igor, what's next? How will you develop this tool further?<\/em><\/p>\n<p><\/p>\n<p>A dashboard will appear next, i.e., the dashboard may be available. Integration with other databases. I did this, but I haven't published it in OpenSource yet. This is MySQL and possibly PostgreSQL. This means that queries can be sent not only to ClickHouse from Tabix, but also to other tools.<\/p>\n<p><\/p>\n<p><em>It is clear that a huge amount of work has been done. A fairly complete idea has emerged. It was made in the browser, apparently to avoid hacks on various axes and quickly to throw everything together. I heard that you are working on this, so it's easier to put it together in the browser, and it will work everywhere. There are no questions about that. My question is: a lot has indeed been accomplished there. How many people worked on this? And how long did it all take? Because tools usually do not have such extensive functionality.<\/em> <em>php<\/em> <em>One person from our team worked from summer to fall. That was the first version. Then I made 330 commits by myself. What you see was primarily done by me and a colleague. From the first version to the last one, I did most of it alone in 3 months. But I am not very good at JavaScript. This was my only and, hopefully, my last project in JavaScript that I worked on. I inherited it, took a look \u2013 oh, horror. But I really wanted to finish the product, and here's what I came up with.<\/em><\/p>\n<p><\/p>\n<p>Thank you very much for the presentation! This is an excellent tool. Have you compared it with Tableau?<\/p>\n<p><\/p>\n<p><em>Thanks. That's why I named it Tabix, because the first letters match.<\/em> <em>Because you are competing?<\/em> <em>There will be a lot of investments; we will compete.<\/em><\/p>\n<p><\/p>\n<p>How do you propose to sell to internal analysts that this tool completely replaces *Tableau*? <\/p>\n<p><\/p>\n<p><em>It works natively with ClickHouse. I tried Tableau, but it doesn't allow for support of dictionaries and similar functionality.<\/em><\/p>\n<p><\/p>\n<p>I know how people work with Tabix. They write a query, export it to CSV, and upload it to BI. <\/p>\n<p><\/p>\n<p><em>And then they do something with it there. But I can hardly imagine how they do it because it's a graphical tool. It can export 5,000 rows, a maximum of 6,000 rows, but no more, otherwise the browser won't handle it.<\/em> So there are serious limitations on the volume of data, right?<em>? \u041a\u0430\u043a\u0438\u0435 \u0431\u0443\u0434\u0443\u0442 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b?<\/em><\/p>\n<p><\/p>\n<p>Yes. I can't imagine that you would want to export 10,000 rows to a table displayed on the browser screen. Why would you? <strong>It implies that this is an interface for a quick view of the data? To spin it around a bit?<\/strong> Do you mean to quickly browse through the data and interact with it? <\/p>\n<p><\/p>\n<p><em>Yes, to quickly explore the data, do some rotations?<\/em><\/p>\n<p><\/p>\n<p>That's the idea, to provide a tool for quick data interaction. <\/p>\n<p><\/p>\n<p><em>Exactly, just a quick way to visualize and manipulate the data.<\/em><\/p>\n<p><\/p>\n<p>Yes, quickly see how it works and just build a summary chart. After that, we send it somewhere. We have our own reporting system from which I just take this query. I draw in Tabix and send it to our reporting. <\/p>\n<p><\/p>\n<p><em>And one more question. Cohort analysis?<\/em><\/p>\n<p><\/p>\n<p>If there are any suggestions, we will add them. <\/p>\n<p><\/p>\n<p><em>When we just started using<\/em> <em>ClickHouse, how long did the implementation take<\/em> <em>ClickHouse<\/em> <em>and getting it to<\/em> <em>production status?<\/em><\/p>\n<p><\/p>\n<p>As I said, we implemented the test cluster in a very short time. We set it up in two days. And we tested it for a couple of weeks. We reached production status in about three months. But we had our own ETL, i.e., a tool for data writing. And it could write to everything possible. It can write to MongoDB, Cassandra, MySQL. Teaching it to write to ClickHouse was simple. We had an existing infrastructure for rapid implementation. About three months later, we started rolling out the first component. In six months, we completely transitioned to ClickHouse.<\/p>\n<p><\/p>\n<p><em>Igor, thank you very much for the presentation. I really liked the functionality for building paths on maps. Is there any plan for integration with Yandex.Maps, particularly with custom Yandex.Maps?<\/em><\/p>\n<p><\/p>\n<p>I tried to integrate instead of Google Map, but I couldn't find a dark theme on Yandex.Maps. I missed one piece. Let me rewind to add. <\/p>\n<p><\/p>\n<p>Slide \u2013 Google Map. There is a command \"DRAW_GMAPS\" that draws the map. There is a command \"DRAW_YMAPS\", i.e., it can draw Yandex.Map. Essentially, this command contains Javascript, meaning that the data you get from ClickHouse can be passed into the Javascript you write here. And you have an area where it should be drawn. Any type of chart can be visualized, so any chart or map can be rendered, even your custom component. I previously used a different library for rendering the charts themselves.<\/p>\n<p><\/p>\n<p><em>That is, there is a tool for customizing the display functionality?<\/em><\/p>\n<p><\/p>\n<p>Any. You can take and repaint these points, making them not red, but blue, green.<\/p>\n<p><\/p>\n<p><em>Thank you for the presentation! You had a slide that presented alternative tools for querying<\/em> <em>ClickHouse<\/em> <em>for building dashboards and analytical reports. As I understood it, at the time when you started working with<\/em> <em>ClickHouse has not had adapters written for these tools. I'm curious why you decided to create your own tool instead of writing an adapter for an existing one? I think fine-tuning a testing editor is quick. Why did you choose to do all this work?<\/em><\/p>\n<p><\/p>\n<p>Here\u2019s an interesting point \u2013 the thing is, I\u2019m a technical director, not a data scientist. By the time we started implementing Druid, about 50% of my roadmap consisted of tasks like let\u2019s calculate this or let\u2019s analyze that. And it turned out that we implemented ClickHouse. I started building everything quickly, calculating, and closed my roadmap fast. At that time, I realized I lacked knowledge in Data Science and data visualization. Tabix is somewhat of my homework for studying data visualization. I looked into how to enhance Zeppelin. I have a slight dislike for its programming. I checked Redash to see how I might enhance it, but I lacked a good editor there. SuperSet is also written in a language I\u2019m not fond of. That\u2019s why I decided to build my own solution, and that\u2019s what I came up with.<\/p>\n<p><\/p>\n<p><em>Igor, do you accept pull requests?<\/em><\/p>\n<p><\/p>\n<p>Yes.<\/p>\n<p><\/p>\n<p><em>Thank you very much for the presentation! I have two questions. First \u2013 you don\u2019t speak very highly of<\/em> Javascript. Did you write in plain Javascript or was it some framework?*<\/p>\n<p><\/p>\n<p>Better in plain Javascript.<\/p>\n<p><\/p>\n<p>So which framework?<\/p>\n<p><\/p>\n<p>Angular.<\/p>\n<p><\/p>\n<p><em>Got it. And the second question. Have you considered<\/em> R <em>and<\/em> *<strong>Shiny**<\/strong>?*<\/p>\n<p><\/p>\n<p>I have considered it. Played around with it. <\/p>\n<p><\/p>\n<p><em>You could have also just written an adapter.<\/em><\/p>\n<p><\/p>\n<p>There is one. The community seems to have made it, but as I mentioned in the previous question, I wanted to experience it myself.<\/p>\n<p><\/p>\n<p>*No, regarding visualization, there is indeed one.<\/p>\n<p><\/p>\n<p>You say there\u2019s such a thing and it will draw you a graph. I opened a book on data visualization and thought: \u2018Let me try to visualize this data myself.\u2019 I started to understand better the technology of data presentation. If I had taken a ready-made component, I personally would have learned to use it worse, i.e., specifically in visualization. But this way \u2013 yes, I liked R, but I haven\u2019t read the book 'R for Dummies' yet. <\/p>\n<p><\/p>\n<p><em>Thank you!<\/em><\/p>\n<p><\/p>\n<p><em>Simple question. Are there any options to quickly export a table or a graph?<\/em><\/p>\n<p><\/p>\n<p>You can export to CSV or Excel.<\/p>\n<p><\/p>\n<p><em>Not the data, but a ready-made table, a ready-made graph? For example, to show to the management.<\/em><\/p>\n<p><\/p>\n<p>There is a button \"Export\" and a button \"Export chart as png, as jpg\".<\/p>\n<p><\/p>\n<p><em>Thank you!<\/em><\/p>\n<p><\/p>\n<p>P.S. Mini-instruction for installing tabix<\/p>\n<p><\/p>\n<ul>\n<li>Download <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/smi2\/tabix.ui\/releases\">latest release<\/a><\/noindex><\/li>\n<li>Unpack, copy the directory <code>build<\/code> to nginx root_path<\/li>\n<li>Configure nginx<\/li>\n<\/ul>\n<p>Source: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/491308\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0441 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u043e\u0439 \u0434\u043e\u043a\u043b\u0430\u0434\u0430 2017 \u0433\u043e\u0434\u0430 \u0418\u0433\u043e\u0440\u044c \u0421\u0442\u0440\u044b\u0445\u0430\u0440\u044c \u00abClickHouse \u2013 \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u044b\u0439 \u0438 \u043d\u0430\u0433\u043b\u044f\u0434\u043d\u044b\u0439 \u0430\u043d\u0430\u043b\u0438\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 Tabix\u00bb. \u0412\u0435\u0431-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0434\u043b\u044f ClickHouse \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435 Tabix. \u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438: \u0420\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441 ClickHouse \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0438\u0437 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430, \u0431\u0435\u0437 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u041f\u041e; \u0420\u0435\u0434\u0430\u043a\u0442\u043e\u0440 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0441 \u043f\u043e\u0434\u0441\u0432\u0435\u0442\u043a\u043e\u0439 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441\u0430; \u0410\u0432\u0442\u043e\u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043a\u043e\u043c\u0430\u043d\u0434; \u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432; \u0426\u0432\u0435\u0442\u043e\u0432\u044b\u0435 \u0441\u0445\u0435\u043c\u044b \u043d\u0430 \u0432\u044b\u0431\u043e\u0440. \u042f [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":73359,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-73358","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0441 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u043e\u0439 \u0434\u043e\u043a\u043b\u0430\u0434\u0430 2017 \u0433\u043e\u0434\u0430 \u0418\u0433\u043e\u0440\u044c \u0421\u0442\u0440\u044b\u0445\u0430\u0440\u044c \u00abClickHouse \u2013 \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u044b\u0439 \u0438 \u043d\u0430\u0433\u043b\u044f\u0434\u043d\u044b\u0439 \u0430\u043d\u0430\u043b\u0438\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 Tabix\u00bb. \u0412\u0435\u0431-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0434\u043b\u044f ClickHouse \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435 Tabix..\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/clickhouse-vizualno-bystryj-i-naglyadnyj-analiz-dannyh-v-tabix-igor-stryhar\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47ClickHouse \u2013 \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u044b\u0439 \u0438 \u043d\u0430\u0433\u043b\u044f\u0434\u043d\u044b\u0439 \u0430\u043d\u0430\u043b\u0438\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 Tabix. \u0418\u0433\u043e\u0440\u044c \u0421\u0442\u0440\u044b\u0445\u0430\u0440\u044c | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0441 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u043e\u0439 \u0434\u043e\u043a\u043b\u0430\u0434\u0430 2017 \u0433\u043e\u0434\u0430 \u0418\u0433\u043e\u0440\u044c \u0421\u0442\u0440\u044b\u0445\u0430\u0440\u044c \u00abClickHouse \u2013 \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u044b\u0439 \u0438 \u043d\u0430\u0433\u043b\u044f\u0434\u043d\u044b\u0439 \u0430\u043d\u0430\u043b\u0438\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 Tabix\u00bb. \u0412\u0435\u0431-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0434\u043b\u044f ClickHouse \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435 Tabix..\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/clickhouse-vizualno-bystryj-i-naglyadnyj-analiz-dannyh-v-tabix-igor-stryhar\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-03-09T05:42:14+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-03-09T05:42:14+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47ClickHouse \u2013 visually fast and clear data analysis in Tabix. Igor Strykhari | ProHoster","description":"I suggest reviewing the report from 2017 by Igor Strykhari \"ClickHouse \u2013 visually fast and clear data analysis in Tabix\". Web interface for ClickHouse in the Tabix project.","canonical_url":"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/clickhouse-vizualno-bystryj-i-naglyadnyj-analiz-dannyh-v-tabix-igor-stryhar","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47ClickHouse \u2013 \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u044b\u0439 \u0438 \u043d\u0430\u0433\u043b\u044f\u0434\u043d\u044b\u0439 \u0430\u043d\u0430\u043b\u0438\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 Tabix. \u0418\u0433\u043e\u0440\u044c \u0421\u0442\u0440\u044b\u0445\u0430\u0440\u044c | ProHoster","og:description":"\u041f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0441 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u043e\u0439 \u0434\u043e\u043a\u043b\u0430\u0434\u0430 2017 \u0433\u043e\u0434\u0430 \u0418\u0433\u043e\u0440\u044c \u0421\u0442\u0440\u044b\u0445\u0430\u0440\u044c \u00abClickHouse \u2013 \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u044b\u0439 \u0438 \u043d\u0430\u0433\u043b\u044f\u0434\u043d\u044b\u0439 \u0430\u043d\u0430\u043b\u0438\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 Tabix\u00bb. \u0412\u0435\u0431-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0434\u043b\u044f ClickHouse \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435 Tabix..","og:url":"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/clickhouse-vizualno-bystryj-i-naglyadnyj-analiz-dannyh-v-tabix-igor-stryhar","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-03-09T05:42:14+00:00","article:modified_time":"2020-03-09T05:42:14+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"73358","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 18:34:26","updated":"2022-09-28 10:01:24","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/73358","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/comments?post=73358"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/73358\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media\/73359"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media?parent=73358"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/categories?post=73358"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/tags?post=73358"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}