{"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\/es\/blog\/administrirovanie\/clickhouse-vizualno-bystryj-i-naglyadnyj-analiz-dannyh-v-tabix-igor-stryhar","title":{"rendered":"ClickHouse: un an\u00e1lisis de datos visualmente r\u00e1pido y claro en Tabix. Igor Strychar","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><strong>Te ofrezco familiarizarte con la transcripci\u00f3n del informe de 2017 de Igor Strychar \u00abClickHouse: an\u00e1lisis de datos visualmente r\u00e1pido y claro en Tabix\u00bb.<\/strong><\/p>\n<p><\/p>\n<p>Interfaz web para ClickHouse en el proyecto Tabix.<br \/>\nPrincipales caracter\u00edsticas:<\/p>\n<p><\/p>\n<ul>\n<li>Funciona con ClickHouse directamente desde el navegador, sin necesidad de instalar software adicional;<\/li>\n<li>Editor de consultas con resaltado de sintaxis;<\/li>\n<li>Autocompletado de comandos;<\/li>\n<li>Herramientas de an\u00e1lisis gr\u00e1fico para la ejecuci\u00f3n de consultas;<\/li>\n<li>Esquemas de color a elegir.<br \/>\n<img decoding=\"async\" alt=\"ClickHouse: un an\u00e1lisis de datos visualmente r\u00e1pido y claro en Tabix. Igor Strychar\" 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=\"Reproducir 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: un an\u00e1lisis de datos visualmente r\u00e1pido y claro en Tabix. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/950e3d0a3ff10d267ae48e897f5cbdb6.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Soy el director t\u00e9cnico de MEDIA2. Somos un agregador de noticias. Almacenamos muchos datos que obtenemos de nuestros socios y los registramos en ClickHouse: alrededor de 30,000 consultas por segundo.<\/p>\n<p><\/p>\n<p>Estos son datos como:<\/p>\n<p><\/p>\n<ul>\n<li>Clics en noticias.<\/li>\n<li>Impresiones de noticias en el agregado.<\/li>\n<li>Impresiones de banners en nuestra red.<\/li>\n<li>Y registramos eventos de nuestro propio contador, que es similar a Yandex.Metrica. Esta es nuestra propia microanal\u00edtica. <\/li>\n<\/ul>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse: un an\u00e1lisis de datos visualmente r\u00e1pido y claro en Tabix. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/8f5a7af9fef04a51fed29279557c3b64.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Tuvimos una vida muy agitada antes de ClickHouse. Luchamos mucho tratando de almacenar estos datos en alg\u00fan lugar y analizarlos de alguna manera.<\/p>\n<p><\/p>\n<p><strong>La vida antes de ClickHouse \u2014 infiniDB<\/strong><\/p>\n<p><\/p>\n<p>Lo primero que tuvimos fue infiniDB. Funcion\u00f3 con nosotros durante 4 a\u00f1os. La pusimos en marcha con gran dificultad. <\/p>\n<p><\/p>\n<ul>\n<li>No admite clustering ni sharding. Ninguna de esas funcionalidades inteligentes se activ\u00f3 de forma predeterminada. <\/li>\n<li>Ten\u00eda dificultades para cargar datos. Solo hab\u00eda una utilidad de consola espec\u00edfica que solo pod\u00eda cargar archivos CSV y de una manera muy confusa. <\/li>\n<li>La base de datos es de un solo hilo. Solo se pod\u00eda escribir o leer. Pero permit\u00eda procesar un gran volumen de datos. <\/li>\n<li>Y adem\u00e1s ten\u00eda una traba interesante. Cada noche hab\u00eda que reiniciar el servidor, de lo contrario no funcionaba. <\/li>\n<\/ul>\n<p><\/p>\n<p>Funcion\u00f3 con nosotros hasta finales de 2016, cuando pasamos completamente a ClickHouse.<\/p>\n<p><\/p>\n<p><strong>La vida antes de ClickHouse \u2014 Cassandra<\/strong><\/p>\n<p><\/p>\n<p>Dado que infiniDB era de un solo hilo, decidimos que necesit\u00e1bamos una base de datos multihilo, en la que pudi\u00e9ramos escribir muchos flujos simult\u00e1neamente.<\/p>\n<p><\/p>\n<p>Probamos muchas cosas interesantes. Luego decidimos probar Cassandra. Con Cassandra todo iba de maravilla. 10,000 consultas por segundo en carga. 2,000 consultas aproximadamente en lectura. <\/p>\n<p><\/p>\n<p>Pero tambi\u00e9n ten\u00eda sus peculiaridades. Una vez al mes o cada dos meses, ocurr\u00eda una desincronizaci\u00f3n de la base de datos. Ten\u00edamos que despertarnos y correr a arreglar Cassandra. Reinici\u00e1bamos los servidores uno a uno. Y todo volv\u00eda a ser suave y bonito. <\/p>\n<p><\/p>\n<p><strong>La vida antes de ClickHouse \u2013 Druid<\/strong><\/p>\n<p><\/p>\n<p>Luego nos dimos cuenta de que necesit\u00e1bamos escribir a\u00fan m\u00e1s datos. En 2016 comenzamos a mirar Druid. <\/p>\n<p><\/p>\n<p>Druid es una base de datos de c\u00f3digo abierto, escrita en Java. Muy espec\u00edfica. Y era adecuada para el clickstream, cuando necesit\u00e1bamos almacenar alg\u00fan flujo de eventos y luego realizar agregaciones o hacer informes anal\u00edticos sobre ellos.<\/p>\n<p><\/p>\n<p>Druid ten\u00eda la versi\u00f3n 0.9.X. <\/p>\n<p><\/p>\n<p>La base de datos en s\u00ed es dif\u00edcil de desplegar. Esa es la complejidad de la infraestructura. Para desplegarla, se necesitaba mucho hardware. Y cada equipo ten\u00eda su propio rol espec\u00edfico. <\/p>\n<p><\/p>\n<p>Para cargar datos en ella, hab\u00eda que aplicar alg\u00fan tipo de ritual. Hay un proyecto de c\u00f3digo abierto \u2013 Tranquility, que perd\u00eda datos en el flujo. Cuando carg\u00e1bamos datos en \u00e9l, los perd\u00eda. <\/p>\n<p><\/p>\n<p>Pero de alguna manera comenzamos a implementarlo. \u00c9ramos como erizos que se pinchaban, pero segu\u00edan comiendo cactus. Nos tom\u00f3 alrededor de un mes preparar toda la infraestructura para \u00e9l. Es decir, ordenar servidores, configurar roles, automatizar completamente el despliegue. Es decir, en caso de ca\u00edda del cl\u00faster, para que se desplegara autom\u00e1ticamente un segundo cl\u00faster. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse: un an\u00e1lisis de datos visualmente r\u00e1pido y claro en Tabix. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/a8193aab09ab9cce3b69e3b84ce470dd.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Pero entonces sucedi\u00f3 un milagro. Estaba de vacaciones, y mis colegas me enviaron un enlace a <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/yandex\/blog\/303282\/\">habr<\/a><\/noindex>, donde se dec\u00eda que Yandex hab\u00eda decidido abrir ClickHouse. Les dije que lo intent\u00e1ramos.<\/p>\n<p><\/p>\n<p>Y literalmente en 2 d\u00edas desplegamos un cl\u00faster de prueba de ClickHouse. Comenzamos a cargar datos en \u00e9l. En comparaci\u00f3n con infiniDB \u2013 es elemental, en comparaci\u00f3n con Druid \u2013 es elemental. En comparaci\u00f3n con Cassandra tambi\u00e9n es elemental. Porque si cargas datos en Cassandra desde php, no es elemental.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse: un an\u00e1lisis de datos visualmente r\u00e1pido y claro en Tabix. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/0b4b6ea08f7f7037d0e26dbe3f33fa53.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>\u00bfQu\u00e9 obtuvimos? Rendimiento en velocidad. Rendimiento en almacenamiento de datos. Es decir, se utiliza mucho menos espacio en disco. ClickHouse es r\u00e1pido, es muy r\u00e1pido en comparaci\u00f3n con otros productos. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse: un an\u00e1lisis de datos visualmente r\u00e1pido y claro en Tabix. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/9ff5e2ac127be8813b5d5cec49dab73a.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>En el momento del lanzamiento, cuando Yandex public\u00f3 ClickHouse en OpenSource, solo hab\u00eda un cliente de consola. En nuestra empresa, SMI2, decidimos intentar hacer un cliente nativo para web, para poder abrir una p\u00e1gina desde el navegador, escribir una consulta y obtener el resultado, porque comenzamos a escribir muchas consultas. Escribir en la consola es dif\u00edcil. Y hicimos nuestra primera versi\u00f3n.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse: un an\u00e1lisis de datos visualmente r\u00e1pido y claro en Tabix. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/a2569a45f9bf1b91815ca3dfa0eefcf3.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Y hacia finales del a\u00f1o pasado comenzaron a aparecer herramientas de terceros para trabajar con ClickHouse. Estas herramientas incluyen:<\/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>. (Ahora <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>Voy a revisar algunas de estas herramientas, es decir, aquellas con las que he trabajado. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse: un an\u00e1lisis de datos visualmente r\u00e1pido y claro en Tabix. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/7b91bc29b1c04020b56c89621287e8c1.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Es una buena herramienta, pero para Druid. Cuando implementamos Druid, prob\u00e9 SuperSet. Me gust\u00f3. Funciona muy r\u00e1pido para Druid. <\/p>\n<p><\/p>\n<p>No es adecuado para ClickHouse. Es decir, s\u00ed funciona, se ejecuta, pero solo puede manejar consultas simples como: SELECT event, GROUP BY event. No soporta una sintaxis m\u00e1s compleja de ClickHouse.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse: un an\u00e1lisis de datos visualmente r\u00e1pido y claro en Tabix. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/a708c787120de3db725a9bba4c8bd642.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>La siguiente herramienta es Apache Zeppelin. Es algo bueno e interesante. Funciona. Soporta cuadernos, tableros, y variables. S\u00e9 que algunas personas de la comunidad ClickHouse lo utilizan. <\/p>\n<p><\/p>\n<p>Pero no hay soporte para la sintaxis de ClickHouse, es decir, tendr\u00e1s que escribir las consultas ya sea en la consola o en otro lugar. Luego verificar que todo funcione. Es simplemente inc\u00f3modo. Pero tiene un buen soporte para tableros. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse: un an\u00e1lisis de datos visualmente r\u00e1pido y claro en Tabix. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/0c2afefc1504d14dd50f88459a652a1c.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>La siguiente herramienta es Redash.IO. Redash se hospeda en internet. Es decir, a diferencia de las herramientas anteriores, no necesitas instalarlo. Es un tablero con la capacidad de consolidar datos de diferentes fuentes de datos. Es decir, puedes extraer de ClickHouse, MySQL, PostgreSQL y otras bases de datos. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse: un an\u00e1lisis de datos visualmente r\u00e1pido y claro en Tabix. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/dc639fe6e9716c835d1fe0fdfaa300b8.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Literalmente hace un mes (en marzo de 2017) se a\u00f1adi\u00f3 soporte en Grafana. Cuando construyes informes en Grafana, digamos, sobre el estado de tu hardware o sobre alguna m\u00e9trica, ahora se puede construir un gr\u00e1fico o un peque\u00f1o panel a partir de los datos de ClickHouse directamente. Es muy conveniente, y lo usamos en nuestra empresa. Esto permite detectar anomal\u00edas. Es decir, si algo ocurre y alg\u00fan hardware falla o se carga, puedes ver la causa si esos datos han llegado a ClickHouse. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse: un an\u00e1lisis de datos visualmente r\u00e1pido y claro en Tabix. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/0dd54a7633d25d0c924c2e6825028eb3.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Me resultaba muy inc\u00f3modo escribir en esas herramientas o en la consola. As\u00ed que decid\u00ed mejorar nuestra primera interfaz. E inspir\u00e9 la idea en EventSQL, SeperSet, Zeppelin.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse: un an\u00e1lisis de datos visualmente r\u00e1pido y claro en Tabix. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/3252a09e0942428143336639aa399f4d.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>\u00bfQu\u00e9 quer\u00eda? Quer\u00eda gr\u00e1ficos, un editor mejorado, implementar soporte para diccionarios de sugerencias. Porque ClickHouse tiene una excelente funci\u00f3n: son los diccionarios. Pero trabajar con los diccionarios es dif\u00edcil, porque tienes que recordar el formato de los valores almacenados, es decir, si es un n\u00famero o una cadena, etc. Y dado que usamos los diccionarios en sus diferentes variaciones, era bastante dif\u00edcil escribir consultas.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse: un an\u00e1lisis de datos visualmente r\u00e1pido y claro en Tabix. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/90a529b4fb5d03a6d61c89e00287b21d.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Han pasado 3 meses desde el lanzamiento de nuestra primera versi\u00f3n. Hice alrededor de 330 commits en la rama privada y surgi\u00f3 Tabix.<\/p>\n<p><\/p>\n<p>A diferencia de la versi\u00f3n anterior, que se llamaba ClickHouse-Frontend, decid\u00ed renombrarlo con un nombre simple. As\u00ed naci\u00f3 Tabix.<\/p>\n<p><\/p>\n<p>\u00bfQu\u00e9 hay de nuevo?<\/p>\n<p><\/p>\n<p>Dibuja gr\u00e1ficos. Soporta la sintaxis SQL de ClickHouse. Ofrece sugerencias sobre funciones y tiene muchas m\u00e1s capacidades interesantes.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse: un an\u00e1lisis de datos visualmente r\u00e1pido y claro en Tabix. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/cd2bbb0c2c3e0fa2d2622bbd2aecdbc7.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>As\u00ed es como se ve el esquema general de Tabix. A la izquierda se presenta el \u00e1rbol. En el centro est\u00e1 el editor de consultas. Y en la parte inferior, el resultado de esa consulta.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse: un an\u00e1lisis de datos visualmente r\u00e1pido y claro en Tabix. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/becf5df173220480e077ae8d8e0ebf3e.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>A continuaci\u00f3n, mostrar\u00e9 c\u00f3mo funciona el editor de consultas. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse: un an\u00e1lisis de datos visualmente r\u00e1pido y claro en Tabix. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/d5ca1028922a12d5e6f133704d4c91a2.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Aqu\u00ed se activ\u00f3 autom\u00e1ticamente el autocompletado para la tabla, sugiriendo campos y funciones correspondientes. Si presionas ctrl y enter, la consulta se ejecutar\u00e1 o mostrar\u00e1 un error. La consulta m\u00e1s simple se env\u00eda a Tabix y se obtiene un resultado, lo que permite trabajar r\u00e1pidamente con ClickHouse.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse: un an\u00e1lisis de datos visualmente r\u00e1pido y claro en Tabix. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/74623f9f5030eb08523dc7269517a5d5.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Los diccionarios, como ya mencion\u00e9, son algo muy interesante con lo que trabajamos mucho. Permiten realizar muchas cosas. Por ejemplo, en los diccionarios almacenamos todas las ciudades, guardando su identificador y nombre, as\u00ed como su latitud y longitud. En la base, solo almacenamos el identificador de la ciudad, lo que nos permite comprimir los datos de manera significativa.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse: un an\u00e1lisis de datos visualmente r\u00e1pido y claro en Tabix. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/fa698b916b01a58f182003e6a15dfea0.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Esto puede parecer una cosa sencilla, pero en ClickHouse ayuda de manera muy interesante. Dado que ClickHouse solo admite joins anidados, la consulta se expande bastante tanto hacia abajo como en ancho. Cuando se abre un par\u00e9ntesis y se ingresa una llamada larga, algo tan sencillo como colapsar la consulta facilita trabajar con ella. Porque cuando una consulta tiene 200-300 l\u00edneas y es muy amplia, colapsar la consulta es de gran ayuda para encontrar un lugar espec\u00edfico o para localizarla.<\/p>\n<p><\/p>\n<p>\u00c1rbol de objetos, consultas m\u00faltiples y pesta\u00f1as (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: un an\u00e1lisis de datos visualmente r\u00e1pido y claro en Tabix. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/d43efecc6b0b395cdc17a3dd9db53400.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>A continuaci\u00f3n mostrar\u00e9 sobre el \u00e1rbol y las pesta\u00f1as. A la izquierda est\u00e1 el \u00e1rbol, y en la parte superior puedes crear varias pesta\u00f1as. Las pesta\u00f1as son como un espacio de trabajo. Puedes crear varias pesta\u00f1as y nombrarlas a tu manera. Es como un mini sistema para generar informes.<\/p>\n<p><\/p>\n<p>Las pesta\u00f1as se guardan autom\u00e1ticamente. Si recargas el navegador, lo cierras o vuelves a abrir Tabix, todo esto se guardar\u00e1.<\/p>\n<p><\/p>\n<p>Tecla de acceso r\u00e1pido \u2013 conveniente (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>Hay teclas de acceso r\u00e1pido, y hay bastantes. He extra\u00eddo algunas de ellas aqu\u00ed como ejemplo. Esto incluye cambiar de pesta\u00f1a, ejecutar una consulta o ejecutar varias consultas. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse: un an\u00e1lisis de datos visualmente r\u00e1pido y claro en Tabix. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/27f3e6d0dbb4d1038bb551808b13d2ac.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Voy a mostrar c\u00f3mo trabajar con el resultado. Enviamos la solicitud. Aqu\u00ed dibujo sin, cos y tg. Se puede resaltar el resultado, es decir, dibujar un mapa t\u00edpico en la columna. Se pueden resaltar valores positivos o negativos. O simplemente colorear un elemento espec\u00edfico de la tabla. Es \u00fatil cuando la tabla es enorme y es necesario encontrar alguna anomal\u00eda a simple vista. Cuando buscaba anomal\u00edas, resaltaba algunas filas, algunos elementos en verde o rojo.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse: un an\u00e1lisis de datos visualmente r\u00e1pido y claro en Tabix. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/af0c21073a1edd81e4d688f119ef7568.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Hay muchas cosas interesantes all\u00ed. Por ejemplo, c\u00f3mo copiar en Redmine Markdown. Si necesitas copiar el resultado en alg\u00fan lugar, es muy conveniente. Solo puedes seleccionar el \u00e1rea, decir \"Copiar a Redmine\" y se copiar\u00e1 en Redmine Markdown o crear\u00e1 una solicitud Where.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse: un an\u00e1lisis de datos visualmente r\u00e1pido y claro en Tabix. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/43034a47b5ca31ee08e7721cc5f5159c.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>A continuaci\u00f3n, est\u00e1 la optimizaci\u00f3n de las solicitudes. Una vez olvid\u00e9 especificar el campo \"date\". Y mi solicitud en ClickHouse no se proces\u00f3 muy, muy r\u00e1pido, sino r\u00e1pido, es decir, menos de un segundo. Cuando vi cu\u00e1ntas filas estaba procesando, me asust\u00e9. No escribimos tantas filas en esta tabla en un d\u00eda. Comenc\u00e9 a analizar la solicitud y vi que hab\u00eda pasado por alto la fecha en un lugar. Es decir, olvid\u00e9 especificar que necesitaba datos no de toda la tabla, sino de un per\u00edodo espec\u00edfico.<\/p>\n<p><\/p>\n<p>En Tabix hay una pesta\u00f1a \"Stats\", donde se almacena todo el historial de solicitudes enviadas, es decir, se puede ver cu\u00e1ntas filas fueron le\u00eddas por esta solicitud y cu\u00e1nto tiempo tard\u00f3 en ejecutarse. Esto permite optimizar. <\/p>\n<p><\/p>\n<p>Sobre el resultado de la solicitud se puede construir una tabla din\u00e1mica. Has enviado una solicitud a ClickHouse, has recibido algunos datos. Y luego esos datos se pueden manipular con el rat\u00f3n y construir alguna tabla din\u00e1mica.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse: un an\u00e1lisis de datos visualmente r\u00e1pido y claro en Tabix. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/0365df303eb55336eeb8a037cb118113.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Lo siguiente interesante es la construcci\u00f3n de gr\u00e1ficos. Supongamos que tenemos esta solicitud: sobre sin, cos de 0 a 299. Y para dibujarlo, necesitas seleccionar la pesta\u00f1a \"Draw\" y obtendr\u00e1s un gr\u00e1fico con tus sin y cos. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse: un an\u00e1lisis de datos visualmente r\u00e1pido y claro en Tabix. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/bdf00b9d6bffb907e88d2fdb7bfb16dc.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Se puede dividir en diferentes ejes, es decir, se pueden dibujar dos gr\u00e1ficos uno al lado del otro. Escribir un comando y otro comando. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse: un an\u00e1lisis de datos visualmente r\u00e1pido y claro en Tabix. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/efe77846e3f5f30a5d73e75be53d608a.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Se pueden dibujar histogramas.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse: un an\u00e1lisis de datos visualmente r\u00e1pido y claro en Tabix. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/e531aac548eca2eb9e30dac21f8876b8.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Se puede dividir en una matriz de gr\u00e1ficos.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse: un an\u00e1lisis de datos visualmente r\u00e1pido y claro en Tabix. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/3404f87cee0e376df8ca62f03fc0fc7e.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Se puede construir un mapa de calor. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse: un an\u00e1lisis de datos visualmente r\u00e1pido y claro en Tabix. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/e15fe90c49bb850c821dab7492856b0b.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Se puede construir un calendario de calor. Por cierto, es una herramienta muy \u00fatil cuando necesitas analizar anomal\u00edas durante el a\u00f1o, es decir, encontrar picos o ca\u00eddas. Esta visualizaci\u00f3n de datos me ayud\u00f3 en eso. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse: un an\u00e1lisis de datos visualmente r\u00e1pido y claro en Tabix. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/08945df379d33aa73518ef10d02fe561.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>El siguiente es un Treemap.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse: un an\u00e1lisis de datos visualmente r\u00e1pido y claro en Tabix. Igor Strychar\" 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: un an\u00e1lisis de datos visualmente r\u00e1pido y claro en Tabix. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/5794844e8c1db71f1507cbdae67fedf6.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Sankeys \u2013 un gr\u00e1fico interesante. Es o Streamgrahps o River. Pero lo llamo River. Tambi\u00e9n permite buscar algunas anomal\u00edas. Es muy conveniente. Recomiendo usarlo para la b\u00fasqueda.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse: un an\u00e1lisis de datos visualmente r\u00e1pido y claro en Tabix. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/483f363d93ba80dc9ac165ae083db585.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>La siguiente cosa interesante es la representaci\u00f3n de un mapa din\u00e1mico. Si en su base de datos tiene guardada la latitud, longitud y, por ejemplo, el destino, si hay, digamos, transporte por carretera o aviones volando, se pueden trazar las rutas de destino. Tambi\u00e9n se puede establecer la velocidad, el tama\u00f1o de estos objetos a los que llegan.<\/p>\n<p><\/p>\n<p>Pero el problema con este mapa es que dibuja solo el mapa del mundo, no hay detalles.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse: un an\u00e1lisis de datos visualmente r\u00e1pido y claro en Tabix. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/13f302e67e7f84dc85728204153d6377.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Posteriormente, a\u00f1ad\u00ed Google Maps. Si guarda la latitud y longitud, se puede trazar el resultado en Google Maps, pero sin soporte para los aviones.<\/p>\n<p><\/p>\n<p>Hemos discutido las funciones principales para trabajar con el resultado, con la consulta en Tabix. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse: un an\u00e1lisis de datos visualmente r\u00e1pido y claro en Tabix. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/849baa55e6865ab451b82f23fe6e5110.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>El siguiente es el an\u00e1lisis de su servidor ClickHouse. Hay una pesta\u00f1a separada \u201cM\u00e9tricas\u201d, donde se puede ver el tama\u00f1o de los datos almacenados en cada columna. En la captura de pantalla se muestra que este campo \u201creferrer\u201d ocupa alrededor de 730 Gb. Si renunciamos a este campo, ahorraremos tres shards de 700 GB, es decir, alrededor de 2 TB, que no necesitamos. <\/p>\n<p><\/p>\n<p>Tambi\u00e9n tenemos el campo \u201crequest_id\u201d, que almacenamos como cadena. Pero si comenzamos a almacenarlo como un n\u00famero, comprimir\u00eda este campo enormemente. <\/p>\n<p><\/p>\n<p>Aqu\u00ed tambi\u00e9n se muestra la configuraci\u00f3n del servidor y la lista de nodos de su cl\u00faster. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse: un an\u00e1lisis de datos visualmente r\u00e1pido y claro en Tabix. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/fa2a35c1af59b3f56059fcfb26571c6e.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>La siguiente pesta\u00f1a son las m\u00e9tricas. Se obtienen en tiempo real de ClickHouse y simplemente permiten analizar el estado del servidor y entender qu\u00e9 est\u00e1 sucediendo con \u00e9l. No sustituye a un Grafana completo. Esto es para un an\u00e1lisis r\u00e1pido. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse: un an\u00e1lisis de datos visualmente r\u00e1pido y claro en Tabix. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/7de741718ef19b81bd0f7f33dbed019e.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>La siguiente pesta\u00f1a son los procesos. A partir de ellos, se puede entender qu\u00e9 sucede en el servidor. Comprender lo que est\u00e1 pasando. Tuve una consulta que consum\u00eda 200 GB en lectura cada vez. Lo vi gracias a esta interfaz. Lo detect\u00e9 y lo correg\u00ed. Y result\u00f3 en alrededor de 30 GB, es decir, un rendimiento varias veces mejor.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse: un an\u00e1lisis de datos visualmente r\u00e1pido y claro en Tabix. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/084b6131b189364f9e093792125649df.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>\u00a1Gracias! Y esto es OpenSource.<\/p>\n<p><\/p>\n<p>He terminado. Y, por cierto, esto es OpenSource, es gratuito y ni siquiera es necesario descargarlo. \u00c1bralo en el navegador y todo funcionar\u00e1. <\/p>\n<p><\/p>\n<p>Preguntas<\/p>\n<p><\/p>\n<p><em>Igor, \u00bfqu\u00e9 sigue? \u00bfC\u00f3mo piensas desarrollar esta herramienta?<\/em><\/p>\n<p><\/p>\n<p>Pronto aparecer\u00e1 un panel de control, es decir, podr\u00eda surgir un panel de control. Integraci\u00f3n con otras bases de datos. Lo hice, pero a\u00fan no lo he publicado en OpenSource. Es MySQL y, posiblemente, PostgreSQL. Es decir, se podr\u00e1 enviar consultas desde Tabix no solo a ClickHouse, sino tambi\u00e9n a otras herramientas.<\/p>\n<p><\/p>\n<p><em>Es evidente que se ha realizado una gran cantidad de trabajo. Se ha desarrollado una idea bastante completa. En el navegador se ha hecho, aparentemente, para evitar soluciones temporales en varios ejes y para recopilar r\u00e1pidamente todo esto. He escuchado que ustedes est\u00e1n<\/em> <em>php<\/em> <em>trabajando, por eso es m\u00e1s f\u00e1cil generar en el navegador y funcionar\u00e1 en todos lados. No hay dudas al respecto. La pregunta es: se ha hecho mucho realmente. \u00bfCu\u00e1ntas personas trabajaron en esto? \u00bfY cu\u00e1nto tiempo llev\u00f3 todo? Porque las herramientas personalizadas suelen no tener tanta funcionalidad.<\/em><\/p>\n<p><\/p>\n<p>Desde el verano hasta el oto\u00f1o trabaj\u00f3 una persona de nuestro equipo. Esa fue la primera versi\u00f3n. Luego hice 330 confirmaciones por mi cuenta. Lo que ven, lo hicimos a medias con un colega. En 3 meses pasamos de la primera versi\u00f3n a la \u00faltima, yo hice la mayor parte por mi cuenta. Pero conozco muy poco Javascript. Este fue mi \u00fanico y, espero, \u00faltimo proyecto en Javascript con el que trabaj\u00e9. Me lleg\u00f3, lo mir\u00e9 \u2013 oh, horror. Pero realmente quer\u00eda terminar el producto y as\u00ed fue como qued\u00f3.<\/p>\n<p><\/p>\n<p><em>\u00a1Muchas gracias por la presentaci\u00f3n! Es una excelente herramienta. \u00bfSe compar\u00f3?<\/em> <em>Tableau<\/em> <em>Gracias. Por eso lo llam\u00e9 Tabix, porque las primeras letras coinciden.<\/em><\/p>\n<p><\/p>\n<p>\u00bfPorque compiten? <\/p>\n<p><\/p>\n<p><em>Habr\u00e1 muchas inversiones, competiremos.<\/em><\/p>\n<p><\/p>\n<p>\u00bfC\u00f3mo sugerir\u00e1n vender a los analistas internos que esta herramienta reemplazar\u00e1 completamente a <\/p>\n<p><\/p>\n<p><em>*Tableau*?<\/em> Funciona de manera nativa con ClickHouse. He probado Tableau, pero all\u00ed no se puede escribir soporte para diccionarios y cosas similares.<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>S\u00e9 c\u00f3mo trabajan las personas con Tabix. Hacen consultas, exportan a CSV y lo cargan en BI. <strong>Y ya hacen algo all\u00ed. Pero me cuesta imaginar c\u00f3mo lo hacen, porque es una herramienta gr\u00e1fica. Puede exportar 5,000 filas, como m\u00e1ximo 6,000 filas, pero no m\u00e1s, de lo contrario el navegador no lo soportar\u00e1.<\/strong> Es decir, hay ciertas limitaciones serias en cuanto al volumen de datos, \u00bfverdad? <\/p>\n<p><\/p>\n<p><em>S\u00ed. No me imaginar\u00eda que ustedes quieran exportar 10,000 filas a la pantalla del navegador. \u00bfPara qu\u00e9?<\/em><\/p>\n<p><\/p>\n<p>Se supone que es una interfaz para una r\u00e1pida visualizaci\u00f3n de datos, \u00bfno? \u00bfPara explorar un poco, girar? <\/p>\n<p><\/p>\n<p><em>?<\/em><\/p>\n<p><\/p>\n<p>S\u00ed, es f\u00e1cil ver c\u00f3mo funciona y simplemente construir un gr\u00e1fico resumen. Luego se puede enviar a alg\u00fan lado. Para nosotros, tenemos nuestro propio sistema de informes, del cual simplemente tomo esta consulta. La dibujo en Tabix y la env\u00edo a nuestro informe. <\/p>\n<p><\/p>\n<p><em>Y otra pregunta. \u00bfAn\u00e1lisis de cohortes?<\/em><\/p>\n<p><\/p>\n<p>Si hay sugerencias, las a\u00f1adiremos. <\/p>\n<p><\/p>\n<p><em>Cuando apenas comenzamos a usarlo<\/em> <em>ClickHouse, \u00bfcu\u00e1nto tiempo tom\u00f3 su implementaci\u00f3n?<\/em> <em>ClickHouse<\/em> <em>y llevarlo a<\/em> <em>estado de producci\u00f3n?<\/em><\/p>\n<p><\/p>\n<p>Como mencion\u00e9, implementamos un cl\u00faster de prueba en un tiempo muy reducido. Lo desplegamos en dos d\u00edas. Y lo probamos durante un par de semanas. Y llegamos a producci\u00f3n en unos tres meses. Pero ten\u00edamos nuestro propio ETL, es decir, herramienta para registro de datos. Y \u00e9l escrib\u00eda en todo lo que pod\u00eda. Sabe escribir en MongoDB, Cassandra, MySQL. Ense\u00f1arle a escribir en ClickHouse fue f\u00e1cil. Ten\u00edamos la infraestructura lista para una r\u00e1pida implementaci\u00f3n. Despu\u00e9s de tres meses comenzamos a eliminar el primer componente. En seis meses nos deshicimos de todo lo dem\u00e1s. Nos qued\u00f3 solo ClickHouse.<\/p>\n<p><\/p>\n<p><em>Igor, muchas gracias por la presentaci\u00f3n. Me gust\u00f3 mucho la funcionalidad de construcci\u00f3n de rutas en mapas. \u00bfEst\u00e1 planeada la integraci\u00f3n con Yandex.Maps y, en particular, con mapas personalizados de Yandex?<\/em><\/p>\n<p><\/p>\n<p>Intent\u00e9 integrarlo en lugar de Google Maps, pero no encontr\u00e9 el tema oscuro en Yandex.Maps. No mencion\u00e9 una parte. Regresar\u00e9 para complementarlo. <\/p>\n<p><\/p>\n<p>Diapositiva: Google Map. All\u00ed hay un comando \"DRAW_GMAPS\" que dibuja el mapa. Hay un comando \"DRAW_YMAPS\", es decir, puede dibujar el mapa de Yandex. Pero, de hecho, detr\u00e1s de este comando hay Javascript, es decir, los datos que obtienes de ClickHouse se pueden pasar a Javascript que t\u00fa mismo escribir\u00e1s aqu\u00ed. Y tendr\u00e1s una \u00e1rea de salida donde debe dibujarse. Se puede dibujar cualquier gr\u00e1fico, es decir, cualquier gr\u00e1fico, mapa, o puedes dibujar tu propio componente. Anteriormente, ten\u00eda otra biblioteca para dibujar los gr\u00e1ficos.<\/p>\n<p><\/p>\n<p><em>Es decir, hay una herramienta para personalizar la funcionalidad de visualizaci\u00f3n.<\/em><\/p>\n<p><\/p>\n<p>Cualquiera. Puedes tomar y cambiar el color de esos puntos, haci\u00e9ndolos no rojos, sino azules, verdes.<\/p>\n<p><\/p>\n<p><em>\u00a1Gracias por la presentaci\u00f3n! Tuviste una diapositiva donde se presentaron herramientas alternativas para consultas<\/em> <em>ClickHouse<\/em> <em>para construir dashboards, informes anal\u00edticos. Entend\u00ed que en el momento en que comenzaste a trabajar con<\/em> <em>ClickHouse, para estas herramientas no se escribieron adaptadores. Me pregunto, \u00bfpor qu\u00e9 decidieron crear su propia herramienta en lugar de escribir un adaptador para alguna herramienta existente? Creo que ajustar el editor de pruebas es r\u00e1pido. \u00bfPor qu\u00e9 decidieron hacer tanto trabajo?<\/em><\/p>\n<p><\/p>\n<p>Aqu\u00ed hay un punto interesante: soy el director t\u00e9cnico, no un cient\u00edfico de datos. Para el momento en que comenzamos a implementar Druid, ten\u00eda alrededor del 50% de tareas en mi hoja de ruta: contemos esto o analicemos esto. Y result\u00f3 que implementamos ClickHouse. Comenc\u00e9 a construir y calcular r\u00e1pidamente, cerr\u00e9 mi hoja de ruta pronto. Y en ese momento me di cuenta de que me faltaban conocimientos en Ciencia de Datos y visualizaci\u00f3n de datos. Tabix es una especie de tarea que me di para aprender sobre visualizaci\u00f3n. Mir\u00e9 c\u00f3mo complementarlo con Zeppelin. Tengo una ligera aversi\u00f3n a su programaci\u00f3n. Mir\u00e9 c\u00f3mo complementar Redash, pero me faltaba un buen editor all\u00ed. Y SuperSet tambi\u00e9n est\u00e1 escrito en un lenguaje que no me gusta mucho. As\u00ed que decid\u00ed reinventar la rueda, y esto es lo que sali\u00f3.<\/p>\n<p><\/p>\n<p><em>Igor, \u00bfaceptan solicitudes de extracci\u00f3n?<\/em><\/p>\n<p><\/p>\n<p>S\u00ed.<\/p>\n<p><\/p>\n<p><em>\u00a1Muchas gracias por la presentaci\u00f3n! Y dos preguntas. La primera: no hablas muy positivamente de<\/em> Javascript. \u00bfEscribiste en Javascript puro o era alg\u00fan marco?<\/p>\n<p><\/p>\n<p>Mejor en Javascript puro.<\/p>\n<p><\/p>\n<p>Entonces, \u00bfqu\u00e9 marco?<\/p>\n<p><\/p>\n<p>Angular.<\/p>\n<p><\/p>\n<p><em>Entiendo. Y la segunda pregunta. \u00bfNo consideraron<\/em> R <em>y<\/em> *<strong>Shiny?<\/strong>?*<\/p>\n<p><\/p>\n<p>Lo consider\u00e9. Jugu\u00e9 con eso. <\/p>\n<p><\/p>\n<p><em>Podr\u00edas haber simplemente escrito un adaptador.<\/em><\/p>\n<p><\/p>\n<p>Ya existe. Parece que lo hizo la comunidad, pero, como respond\u00ed a la pregunta anterior, quer\u00eda experimentar por m\u00ed mismo.<\/p>\n<p><\/p>\n<p>*No, en cuanto a la visualizaci\u00f3n, all\u00ed ya existe.<\/p>\n<p><\/p>\n<p>Dices que hay algo y te dibujar\u00e1 un gr\u00e1fico. Abr\u00ed un libro sobre visualizaci\u00f3n de datos. Y pens\u00e9: 'Voy a intentar visualizar estos datos. Escribir\u00e9 para que los presente'. Y empec\u00e9 a entender mejor la tecnolog\u00eda de presentaci\u00f3n de datos. Si hubiera tomado un componente existente, personalmente habr\u00eda aprendido peor a usarlo, es decir, exactamente la visualizaci\u00f3n. Pero s\u00ed, R me gust\u00f3, aunque a\u00fan no he le\u00eddo el libro 'R para Dummies'. <\/p>\n<p><\/p>\n<p><em>\u00a1Gracias!<\/em><\/p>\n<p><\/p>\n<p><em>Una pregunta simple. \u00bfHay alguna posibilidad de exportar r\u00e1pidamente una tabla, un gr\u00e1fico?<\/em><\/p>\n<p><\/p>\n<p>Se puede exportar en CSV, en Excel.<\/p>\n<p><\/p>\n<p><em>No los datos, sino una tabla lista, un gr\u00e1fico listo. Por ejemplo, para mostrarlo a la direcci\u00f3n.<\/em><\/p>\n<p><\/p>\n<p>Hay un bot\u00f3n \"Exportar\" y hay un bot\u00f3n \"Exportar gr\u00e1fico en png, en jpg\".<\/p>\n<p><\/p>\n<p><em>\u00a1Gracias!<\/em><\/p>\n<p><\/p>\n<p>P.D. Mini-instrucciones para la instalaci\u00f3n de tabix<\/p>\n<p><\/p>\n<ul>\n<li>Descargar <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/smi2\/tabix.ui\/releases\">\u00faltima versi\u00f3n<\/a><\/noindex><\/li>\n<li>Descomprimir, copiar el directorio <code>build<\/code> en nginx root_path<\/li>\n<li>Configurar nginx<\/li>\n<\/ul>\n<p>Fuente: <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\/es\/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=\"es_ES\" \/>\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\/es\/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 an\u00e1lisis de datos visualmente r\u00e1pido y claro en Tabix. Igor Strychar | ProHoster","description":"Propongo revisar el informe de 2017 de Igor Strychar \"ClickHouse - an\u00e1lisis de datos visualmente r\u00e1pido y claro en Tabix\". Interfaz web para ClickHouse en el proyecto Tabix..","canonical_url":"https:\/\/prohoster.info\/es\/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":"es_ES","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\/es\/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\/es\/wp-json\/wp\/v2\/posts\/73358","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/comments?post=73358"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/73358\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media\/73359"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media?parent=73358"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/categories?post=73358"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/tags?post=73358"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}