You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by li...@apache.org on 2019/08/01 14:04:53 UTC

svn commit: r1864154 [1/17] - in /kylin/site: ./ blog/ blog/2019/07/30/ blog/2019/07/30/detailed-analysis-of-refine-query-cache/ cn/docs30/ cn/docs30/gettingstarted/ cn/docs30/howto/ cn/docs30/install/ cn/docs30/tutorial/ docs30/ docs30/gettingstarted/...

Author: lidong
Date: Thu Aug  1 14:04:52 2019
New Revision: 1864154

URL: http://svn.apache.org/viewvc?rev=1864154&view=rev
Log:
Add article of introducing KYLIN-2895

Added:
    kylin/site/blog/2019/07/30/
    kylin/site/blog/2019/07/30/detailed-analysis-of-refine-query-cache/
    kylin/site/blog/2019/07/30/detailed-analysis-of-refine-query-cache/index.html
    kylin/site/docs30/howto/howto_use_health_check_cli.html
    kylin/site/docs30/howto/howto_use_hive_mr_dict.html
    kylin/site/images/blog/refine-query-cache/
    kylin/site/images/blog/refine-query-cache/cache-signature.png   (with props)
    kylin/site/images/blog/refine-query-cache/consistent-hashing.png   (with props)
    kylin/site/images/blog/refine-query-cache/l1-l2-cache.png   (with props)
Modified:
    kylin/site/blog/index.html
    kylin/site/cn/docs30/gettingstarted/faq.html
    kylin/site/cn/docs30/howto/howto_backup_metadata.html
    kylin/site/cn/docs30/howto/howto_build_cube_with_restapi.html
    kylin/site/cn/docs30/howto/howto_cleanup_storage.html
    kylin/site/cn/docs30/howto/howto_jdbc.html
    kylin/site/cn/docs30/howto/howto_optimize_build.html
    kylin/site/cn/docs30/howto/howto_optimize_cubes.html
    kylin/site/cn/docs30/howto/howto_use_cli.html
    kylin/site/cn/docs30/howto/howto_use_restapi.html
    kylin/site/cn/docs30/index.html
    kylin/site/cn/docs30/install/advance_settings.html
    kylin/site/cn/docs30/install/configuration.html
    kylin/site/cn/docs30/install/index.html
    kylin/site/cn/docs30/install/kylin_aws_emr.html
    kylin/site/cn/docs30/install/kylin_cluster.html
    kylin/site/cn/docs30/install/kylin_docker.html
    kylin/site/cn/docs30/tutorial/Qlik.html
    kylin/site/cn/docs30/tutorial/acl.html
    kylin/site/cn/docs30/tutorial/create_cube.html
    kylin/site/cn/docs30/tutorial/cube_build_job.html
    kylin/site/cn/docs30/tutorial/cube_build_performance.html
    kylin/site/cn/docs30/tutorial/cube_spark.html
    kylin/site/cn/docs30/tutorial/cube_streaming.html
    kylin/site/cn/docs30/tutorial/hybrid.html
    kylin/site/cn/docs30/tutorial/jdbc.html
    kylin/site/cn/docs30/tutorial/kylin_client_tool.html
    kylin/site/cn/docs30/tutorial/kylin_sample.html
    kylin/site/cn/docs30/tutorial/mysql_metastore.html
    kylin/site/cn/docs30/tutorial/odbc.html
    kylin/site/cn/docs30/tutorial/powerbi.html
    kylin/site/cn/docs30/tutorial/project_level_acl.html
    kylin/site/cn/docs30/tutorial/query_pushdown.html
    kylin/site/cn/docs30/tutorial/setup_jdbc_datasource.html
    kylin/site/cn/docs30/tutorial/setup_systemcube.html
    kylin/site/cn/docs30/tutorial/spark.html
    kylin/site/cn/docs30/tutorial/sql_reference.html
    kylin/site/cn/docs30/tutorial/squirrel.html
    kylin/site/cn/docs30/tutorial/superset.html
    kylin/site/cn/docs30/tutorial/tableau.html
    kylin/site/cn/docs30/tutorial/tableau_91.html
    kylin/site/cn/docs30/tutorial/use_cube_planner.html
    kylin/site/cn/docs30/tutorial/use_dashboard.html
    kylin/site/cn/docs30/tutorial/web.html
    kylin/site/docs30/gettingstarted/best_practices.html
    kylin/site/docs30/gettingstarted/concepts.html
    kylin/site/docs30/gettingstarted/events.html
    kylin/site/docs30/gettingstarted/faq.html
    kylin/site/docs30/gettingstarted/terminology.html
    kylin/site/docs30/howto/howto_backup_metadata.html
    kylin/site/docs30/howto/howto_build_cube_with_restapi.html
    kylin/site/docs30/howto/howto_cleanup_storage.html
    kylin/site/docs30/howto/howto_enable_zookeeper_acl.html
    kylin/site/docs30/howto/howto_install_ranger_kylin_plugin.html
    kylin/site/docs30/howto/howto_jdbc.html
    kylin/site/docs30/howto/howto_ldap_and_sso.html
    kylin/site/docs30/howto/howto_optimize_build.html
    kylin/site/docs30/howto/howto_optimize_cubes.html
    kylin/site/docs30/howto/howto_update_coprocessor.html
    kylin/site/docs30/howto/howto_upgrade.html
    kylin/site/docs30/howto/howto_use_beeline.html
    kylin/site/docs30/howto/howto_use_cli.html
    kylin/site/docs30/howto/howto_use_distributed_scheduler.html
    kylin/site/docs30/howto/howto_use_restapi.html
    kylin/site/docs30/howto/howto_use_restapi_in_js.html
    kylin/site/docs30/index.html
    kylin/site/docs30/install/advance_settings.html
    kylin/site/docs30/install/configuration.html
    kylin/site/docs30/install/index.html
    kylin/site/docs30/install/kylin_aws_emr.html
    kylin/site/docs30/install/kylin_cluster.html
    kylin/site/docs30/install/kylin_docker.html
    kylin/site/docs30/release_notes.html
    kylin/site/docs30/tutorial/Qlik.html
    kylin/site/docs30/tutorial/acl.html
    kylin/site/docs30/tutorial/create_cube.html
    kylin/site/docs30/tutorial/cube_build_job.html
    kylin/site/docs30/tutorial/cube_build_performance.html
    kylin/site/docs30/tutorial/cube_spark.html
    kylin/site/docs30/tutorial/cube_streaming.html
    kylin/site/docs30/tutorial/flink.html
    kylin/site/docs30/tutorial/hue.html
    kylin/site/docs30/tutorial/hybrid.html
    kylin/site/docs30/tutorial/jdbc.html
    kylin/site/docs30/tutorial/kylin_client_tool.html
    kylin/site/docs30/tutorial/kylin_sample.html
    kylin/site/docs30/tutorial/microstrategy.html
    kylin/site/docs30/tutorial/mysql_metastore.html
    kylin/site/docs30/tutorial/odbc.html
    kylin/site/docs30/tutorial/powerbi.html
    kylin/site/docs30/tutorial/project_level_acl.html
    kylin/site/docs30/tutorial/query_pushdown.html
    kylin/site/docs30/tutorial/realtime_olap.html
    kylin/site/docs30/tutorial/setup_jdbc_datasource.html
    kylin/site/docs30/tutorial/setup_systemcube.html
    kylin/site/docs30/tutorial/spark.html
    kylin/site/docs30/tutorial/sql_reference.html
    kylin/site/docs30/tutorial/squirrel.html
    kylin/site/docs30/tutorial/superset.html
    kylin/site/docs30/tutorial/tableau.html
    kylin/site/docs30/tutorial/tableau_91.html
    kylin/site/docs30/tutorial/use_cube_planner.html
    kylin/site/docs30/tutorial/use_dashboard.html
    kylin/site/docs30/tutorial/web.html
    kylin/site/feed.xml

Added: kylin/site/blog/2019/07/30/detailed-analysis-of-refine-query-cache/index.html
URL: http://svn.apache.org/viewvc/kylin/site/blog/2019/07/30/detailed-analysis-of-refine-query-cache/index.html?rev=1864154&view=auto
==============================================================================
--- kylin/site/blog/2019/07/30/detailed-analysis-of-refine-query-cache/index.html (added)
+++ kylin/site/blog/2019/07/30/detailed-analysis-of-refine-query-cache/index.html Thu Aug  1 14:04:52 2019
@@ -0,0 +1,6714 @@
+<!--
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+-->
+<!doctype html>
+<html>
+	<!--
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+-->
+
+<head>
+  <meta charset="utf-8">
+  <meta http-equiv="X-UA-Compatible" content="IE=edge">
+  <meta name="viewport" content="width=device-width, initial-scale=1">
+
+  <title>Apache Kylin | Detailed Analysis of refine query cache</title>
+  <meta name="description" content="">
+  <meta name="author"      content="Apache Kylin">
+  <link rel="shortcut icon" href="fav.png" type="image/png">
+
+
+
+<link rel="stylesheet" href="/assets/css/animate.css">
+<!-- Bootstrap -->
+<link rel="stylesheet" href="/assets/css/bootstrap.min.css">
+
+<!-- Fonts -->
+<!-- <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Alice|Open+Sans:400,300,700"> -->
+
+<!-- Icons -->
+<link rel="stylesheet" href="/assets/css/font-awesome.min.css">
+
+  <!-- Custom styles -->
+  <link rel="stylesheet" href="/assets/css/styles.css">
+  <link rel="stylesheet" href="/assets/css/docs.css">
+  <link rel="stylesheet" href="/assets/css/pygments.css">
+
+  <link rel="canonical" href="http://kylin.apache.org/blog/2019/07/30/detailed-analysis-of-refine-query-cache/">
+  <link rel="alternate" type="application/rss+xml" title="Apache Kylin" href="http://kylin.apache.org/feed.xml" />
+
+<!--[if lt IE 9]> <script src="assets/js/html5shiv.js"></script> <![endif]-->
+<!-- Global site tag (gtag.js) - Google Analytics -->
+<script async src="https://www.googletagmanager.com/gtag/js?id=UA-120788561-1"></script>
+<script>
+  window.dataLayer = window.dataLayer || [];
+  function gtag(){dataLayer.push(arguments);}
+  gtag('js', new Date());
+
+  gtag('config', 'UA-120788561-1');
+</script>
+<script type="text/javascript" src="/assets/js/jquery-1.9.1.min.js"></script>
+<script type="text/javascript" src="/assets/js/nside.js"></script> </script>
+<script type="text/javascript" src="/assets/js/nnav.js"></script> </script>
+<script>
+var _hmt = _hmt || [];
+(function() {
+  var hm = document.createElement("script");
+  hm.src = "https://hm.baidu.com/hm.js?bdc5e03add430c0b72cc0eb91eabfa99";
+  var s = document.getElementsByTagName("script")[0]; 
+  s.parentNode.insertBefore(hm, s);
+})();
+</script>
+
+</head>
+
+	<body>
+		<!--
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+-->
+
+<header id="header" >
+  
+  <!-- Main Menu -->
+  <nav class="navbar navbar-default" role="navigation" id="nav-wrapper">
+    <div class="container-fluid" id="nav">
+      <!--
+      <img class="img-circle" width="40px" height="40px" id="circlelogo" src="/assets/images/kylin_logo.jpg">
+      -->
+      <!-- Brand and toggle get grouped for better mobile display -->
+      <div class="navbar-header">
+        <img class="navbar-logo" width="46" src="/assets/images/kylin_logo.png" ></img>
+        <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
+          <span class="sr-only">Toggle navigation</span>
+          <span class="icon-bar"></span>
+          <span class="icon-bar"></span>
+          <span class="icon-bar"></span>
+        </button>
+        <ul class="nav icon-navbar">
+            <li class="li-search">
+              <div>
+                <form target="_blank" autocomplete="false" action="https://sematext.com/opensee/big-data">
+                  <input type="hidden" name="project" value="kylin">
+                  <div class="form-group search-container">
+                    <input type="text" autocomplete="false" class="form-control" name="q" placeholder="Search...">
+                    <div class="search fa fa-search fa-lg"></div>
+                  </div>
+                </form>
+              </div>
+              <!-- <a href="https://twitter.com/apachekylin" target="_blank" class="fa fa-search fa-lg"  title="Search: @ApacheKylin" ></a> -->
+            </li>
+            <li><a href="https://twitter.com/apachekylin" target="_blank" class="fa fa-twitter fa-lg"  title="Twitter: @ApacheKylin" ></a></li>
+            <li><a href="https://github.com/apache/kylin" target="_blank" class="fa fa-github-alt fa-lg" title="Github: apache/kylin" ></a></li>
+            <li><a href="https://www.facebook.com/kylinio" target="_blank" class="fa fa-facebook fa-lg" title="Facebook: kylin.io" ></a></li>
+        </ul>
+      </div>
+
+      <!-- Collect the nav links, forms, and other content for toggling -->
+      <div class="navbar-collapse collapse" id="bs-example-navbar-collapse-1">
+
+        <ul class="nav navbar-nav">
+
+          <li><a href="/">Home</a></li>
+          <li>
+            <a href="/docs">Docs</a>
+<!--        
+            <a href="#" class="dropdown-toggle" data-toggle="dropdown">Docs</a>     
+            <ul class="dropdown-menu">
+              
+                  <li class="dropdown-submenu"><a href="#titleGetting Started" data-toggle="collapse" class="navtitle">Getting Started</a>
+                  <ul class="dropdown-menu">
+                  
+
+
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/docs/index.html" class="list-group-item-lay pjaxlink">Overview</a>
+      </li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/docs/release_notes.html" class="list-group-item-lay pjaxlink">Release Notes</a>
+      </li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/docs/gettingstarted/concepts.html" class="list-group-item-lay pjaxlink">Technical Concepts</a>
+      </li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/docs/gettingstarted/terminology.html" class="list-group-item-lay pjaxlink">Terminology</a>
+      </li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/docs/gettingstarted/faq.html" class="list-group-item-lay pjaxlink">FAQ</a>
+      </li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/docs/gettingstarted/events.html" class="list-group-item-lay pjaxlink">Events and Conferences</a>
+      </li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+      <li class="navlist">
+        <a href="/docs/gettingstarted/best_practices.html" class="list-group-item-lay pjaxlink">Community Best Practices</a>
+      </li>      
+      
+
+
+
+
+
+
+
+                  <ul>
+                  </li>
+              
+                  <li class="dropdown-submenu"><a href="#titleInstallation" data-toggle="collapse" class="navtitle">Installation</a>
+                  <ul class="dropdown-menu">
+                  
+
+
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/docs/install/index.html" class="list-group-item-lay pjaxlink">Installation Guide</a>
+      </li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/docs/install/kylin_cluster.html" class="list-group-item-lay pjaxlink">Deploy in Cluster Mode</a>
+      </li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/docs/install/configuration.html" class="list-group-item-lay pjaxlink">Kylin Configuration</a>
+      </li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/docs/install/kylin_aws_emr.html" class="list-group-item-lay pjaxlink">Install Kylin on AWS EMR</a>
+      </li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/docs/install/kylin_docker.html" class="list-group-item-lay pjaxlink">Run Kylin with Docker</a>
+      </li>      
+      
+
+
+
+
+
+
+
+                  <ul>
+                  </li>
+              
+                  <li class="dropdown-submenu"><a href="#titleTutorial" data-toggle="collapse" class="navtitle">Tutorial</a>
+                  <ul class="dropdown-menu">
+                  
+
+
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/docs/tutorial/kylin_sample.html" class="list-group-item-lay pjaxlink">Quick Start with Sample Cube</a>
+      </li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/docs/tutorial/web.html" class="list-group-item-lay pjaxlink">Web Interface</a>
+      </li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/docs/tutorial/create_cube.html" class="list-group-item-lay pjaxlink">Cube Wizard</a>
+      </li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/docs/tutorial/cube_build_job.html" class="list-group-item-lay pjaxlink">Cube Build and Job Monitoring</a>
+      </li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/docs/tutorial/sql_reference.html" class="list-group-item-lay pjaxlink">SQL Reference</a>
+      </li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/docs/tutorial/project_table_level_acl.html" class="list-group-item-lay pjaxlink">Project And Table Level ACL</a>
+      </li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/docs/tutorial/cube_spark.html" class="list-group-item-lay pjaxlink">Build Cube with Spark</a>
+      </li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/docs/tutorial/cube_streaming.html" class="list-group-item-lay pjaxlink">Scalable Cubing from Kafka</a>
+      </li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/docs/tutorial/cube_build_performance.html" class="list-group-item-lay pjaxlink">Cube Build Tuning</a>
+      </li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/docs/tutorial/kylin_client_tool.html" class="list-group-item-lay pjaxlink">Kylin Python Client</a>
+      </li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/docs/tutorial/setup_systemcube.html" class="list-group-item-lay pjaxlink">Set Up System Cube</a>
+      </li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/docs/tutorial/use_cube_planner.html" class="list-group-item-lay pjaxlink">Use Cube Planner</a>
+      </li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/docs/tutorial/use_dashboard.html" class="list-group-item-lay pjaxlink">Use Dashboard</a>
+      </li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/docs/tutorial/setup_jdbc_datasource.html" class="list-group-item-lay pjaxlink">Setup JDBC Data Source</a>
+      </li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/docs/tutorial/hybrid.html" class="list-group-item-lay pjaxlink">Hybrid Model</a>
+      </li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/docs/tutorial/mysql_metastore.html" class="list-group-item-lay pjaxlink">Use MySQL as Metastore</a>
+      </li>      
+      
+
+
+
+
+
+
+
+                  <ul>
+                  </li>
+              
+                  <li class="dropdown-submenu"><a href="#titleIntegration" data-toggle="collapse" class="navtitle">Integration</a>
+                  <ul class="dropdown-menu">
+                  
+
+
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/docs/tutorial/odbc.html" class="list-group-item-lay pjaxlink">Kylin ODBC Driver</a>
+      </li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/docs/tutorial/jdbc.html" class="list-group-item-lay pjaxlink">Kylin JDBC Driver</a>
+      </li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/docs/tutorial/tableau.html" class="list-group-item-lay pjaxlink">Tableau 8</a>
+      </li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/docs/tutorial/tableau_91.html" class="list-group-item-lay pjaxlink">Tableau 9</a>
+      </li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/docs/tutorial/powerbi.html" class="list-group-item-lay pjaxlink">MS Excel and Power BI</a>
+      </li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/docs/tutorial/microstrategy.html" class="list-group-item-lay pjaxlink">MicroStrategy</a>
+      </li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/docs/tutorial/squirrel.html" class="list-group-item-lay pjaxlink">SQuirreL</a>
+      </li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/docs/tutorial/flink.html" class="list-group-item-lay pjaxlink">Apache Flink</a>
+      </li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/docs/tutorial/spark.html" class="list-group-item-lay pjaxlink">Apache Spark</a>
+      </li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/docs/tutorial/hue.html" class="list-group-item-lay pjaxlink">Hue</a>
+      </li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/docs/tutorial/Qlik.html" class="list-group-item-lay pjaxlink">Qlik Sense</a>
+      </li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/docs/tutorial/superset.html" class="list-group-item-lay pjaxlink">Superset</a>
+      </li>      
+      
+
+
+
+
+
+
+
+                  <ul>
+                  </li>
+              
+                  <li class="dropdown-submenu"><a href="#titleHow To" data-toggle="collapse" class="navtitle">How To</a>
+                  <ul class="dropdown-menu">
+                  
+
+
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/docs/howto/howto_use_restapi.html" class="list-group-item-lay pjaxlink">Use RESTful API</a>
+      </li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/docs/howto/howto_build_cube_with_restapi.html" class="list-group-item-lay pjaxlink">Build Cube with API</a>
+      </li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/docs/howto/howto_optimize_cubes.html" class="list-group-item-lay pjaxlink">Optimize Cube Design</a>
+      </li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/docs/howto/howto_optimize_build.html" class="list-group-item-lay pjaxlink">Optimize Cube Build</a>
+      </li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/docs/howto/howto_backup_metadata.html" class="list-group-item-lay pjaxlink">Backup Metadata</a>
+      </li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/docs/howto/howto_cleanup_storage.html" class="list-group-item-lay pjaxlink">Cleanup Storage</a>
+      </li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/docs/howto/howto_upgrade.html" class="list-group-item-lay pjaxlink">Upgrade From Old Versions</a>
+      </li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/docs/howto/howto_use_cli.html" class="list-group-item-lay pjaxlink">Use Utility CLIs</a>
+      </li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/docs/howto/howto_ldap_and_sso.html" class="list-group-item-lay pjaxlink">Secure with LDAP and SSO</a>
+      </li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/docs/howto/howto_use_beeline.html" class="list-group-item-lay pjaxlink">Use Beeline for Hive</a>
+      </li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/docs/howto/howto_update_coprocessor.html" class="list-group-item-lay pjaxlink">Update Coprocessor</a>
+      </li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/docs/howto/howto_install_ranger_kylin_plugin.html" class="list-group-item-lay pjaxlink">Install Ranger Plugin</a>
+      </li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/docs/howto/howto_enable_zookeeper_acl.html" class="list-group-item-lay pjaxlink">Enable Zookeeper ACL</a>
+      </li>      
+      
+
+
+
+
+
+
+
+                  <ul>
+                  </li>
+              
+            </ul> -->
+          </li>
+          <li><a href="/download">Download</a></li>
+          <li><a href="/community" >Community</a></li>
+          <li><a href="/development" >Development</a></li>
+          <li><a href="/blog">Blog</a></li>
+          <li><a href="/cn" >中文版</a></li> 
+        </ul>     
+      </div><!-- /.navbar-collapse -->
+    </div><!-- /.container-fluid -->
+  </nav>
+
+  <div id="head" class="parallax normal-header" >
+    <div class="text-center header-apache">
+      <a href="http://apache.org/foundation/contributing.html" title="Support Apache" style="margin-left: 150px;">
+        <div>
+          <img src="https://www.apache.org/images/SupportApache-small.png" >
+        </div>
+      </a>
+    </div>  
+  </div>
+  
+ </header>
+
+		<div class="page-content main">
+			<header style=" padding:2em 0 0 ">
+			<div class="container" >
+			  <div style=" padding:0 4em">
+                <div class="blog-icon">
+                  <img width="30" src="/assets/images/icon_blog_w.png">
+                </div>
+				<h4 class="index-title" style=" float:left;"><span>Apache Kylin™ Technical Blog</span></h4>
+			  </div>
+			</div>
+		</div>
+
+		<div class="container blog">
+			<div>
+				<article class="post-content" >	
+				<!--
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+-->
+
+<div class="post" style=" padding:2em 4em 4em 4em">
+
+  <header class="post-header">
+    <h1 class="post-title">Detailed Analysis of refine query cache</h1>
+    <p class="post-meta" >Jul 30, 2019 • Xiaoxiang Yu</p>
+  </header>
+
+  <article class="post-content" >
+    <hr />
+
+<h2 id="part-i-basic-introduction">Part-I Basic Introduction</h2>
+
+<h3 id="backgroud">Backgroud</h3>
+<p>In the past, query cache are not efficiently used in Kylin due to two aspects: <strong>coarse-grained cache expiration strategy</strong> and <strong>lack of external cache</strong>. Because of the aggressive cache expiration strategy, useful caches are often cleaned up unnecessarily. Because query caches are stored in local servers, they cannot be shared between servers. And because of the size limitation of local cache, not all useful query results can be cached.</p>
+
+<p>To deal with these shortcomings, we change the query cache expiration strategy by signature checking and introduce the memcached as Kylin’s distributed cache so that Kylin servers are able to share cache between servers. And it’s easy to add memcached servers to scale out distributed cache.</p>
+
+<p>These features is proposed and developed by eBay Kylin team. Thanks so much for their contribution.</p>
+
+<h3 id="related-jira">Related JIRA</h3>
+
+<ul>
+  <li><a href="https://issues.apache.org/jira/browse/KYLIN-2895">KYLIN-2895 Refine Query Cache</a>
+    <ul>
+      <li><a href="https://issues.apache.org/jira/browse/KYLIN-2899">KYLIN-2899 Introduce segment level query cache</a></li>
+      <li><a href="https://issues.apache.org/jira/browse/KYLIN-2898">KYLIN-2898 Introduce memcached as a distributed cache for queries</a></li>
+      <li><a href="https://issues.apache.org/jira/browse/KYLIN-2894">KYLIN-2894 Change the query cache expiration strategy by signature checking</a></li>
+      <li><a href="https://issues.apache.org/jira/browse/KYLIN-2897">KYLIN-2897 Improve the query execution for a set of duplicate queries in a short period</a></li>
+      <li><a href="https://issues.apache.org/jira/browse/KYLIN-2896">KYLIN-2896 Refine query exception cache</a></li>
+    </ul>
+  </li>
+</ul>
+
+<hr />
+
+<h2 id="part-ii-deep-dive">Part-II Deep Dive</h2>
+
+<ul>
+  <li>Introduce memcached as a Distributed Query Cache</li>
+  <li>Segment Level Cache</li>
+  <li>Query Cache Expiration Strategy by Signature Checking</li>
+  <li>Other Enhancement</li>
+</ul>
+
+<h3 id="introduce-memcached-as-a-distributed-query-cache">Introduce memcached as a Distributed Query Cache</h3>
+
+<p><strong>Memcached</strong> is a Free and open source, high-performance, distributed memory object caching system. It is an in-memory key-value store for small chunks of arbitrary data (strings, objects) from results of database calls, API calls, or page rendering. It is simple yet powerful. Its simple design promotes quick deployment, ease of development, and solves many problems facing large data caches. Its API is available for most popular languages.</p>
+
+<p>By KYLIN-2898, Kylin use <strong>Memcached</strong> as distributed cache service, and use <strong>EhCache</strong> as local cache service. When <code class="highlighter-rouge">RemoteLocalFailOverCacheManager</code> is configured in <code class="highlighter-rouge">applicationContext.xml</code>, for each cache put/get action, Kylin will first check if remote cache service is available, only if remote cache service is unavailable, local cache service will be used.</p>
+
+<p>Firstly, multi query server can share query cache. For each kylin server, less jvm memory will be occupied which help to reduce GC pressure. Secondly, since memcached is centralized so duplicated cache entry will avoid in serval Kylin process. Thirdly, memcached has larger size and easy to scale out, this will help to reduce the chance which useful cache entry have to be dropped due to limited memory capacity.</p>
+
+<p>To handle node failure and to scale out memcached cluster, author has introduced a consistent hash strategy to smoothly solve such problem. Ketama is an implementation of a consistent hashing algorithm, meaning you can add or remove servers from the memcached pool without causing a complete remap of all keys. Detail could be checked at <a href="https://www.last.fm/user/RJ/journal/2007/04/10/rz_libketama_-_a_consistent_hashing_algo_for_memcache_clients">Ketama consistent hash strategy</a>.</p>
+
+<p><img src="/images/blog/refine-query-cache/consistent-hashing.png" alt="consistent hashing" /></p>
+
+<h3 id="segment-level-cache">Segment level Cache</h3>
+
+<p>Currently Kylin use sql as the cache key, when sql comes, if result exists in the cache, it will directly returned the cached result and don’t need to query hbase. When there is new segment build or existing segment refresh, all related cache result need to be evicted. For some frequently build cube such as streaming cube(NRT Streaming or Real-time OLAP), the cache miss will increase dramatically, that may decrease the query performance.</p>
+
+<p>Since for Kylin cube, most historical segments are immutable, the same query against historical segments should be always same, don’t need to be evicted for new segment building. So we decide to implement the segment level cache, it is a complement of the existing front-end cache, the idea is similar as the level1/level2 cache in operating system.</p>
+
+<p><img src="/images/blog/refine-query-cache/l1-l2-cache.png" alt="l1-l2-cache" /></p>
+
+<h3 id="query-cache-expiration-strategy-by-signature-checking">Query Cache Expiration Strategy by Signature Checking</h3>
+
+<p>Currently, to invalid query cache, <code class="highlighter-rouge">CacheService</code> will either invoke <code class="highlighter-rouge">cleanDataCache</code> or <code class="highlighter-rouge">cleanAllDataCache</code>. Both methods will clear all of the query cache , which is very inefficient and unnecessary. In production environment, there’s around hundreds of cubing jobs per day, which means the query cache will be cleared very several minutes. Then we introduced a signature to upgrade cache invalidation strategy.</p>
+
+<p>The basic idea is as follows:<br />
+When put SQLResponse into cache, we add signature for each SQLResponse. To calculate signature for SQLResponse, we choose the cube last build time and its segments to as input of <code class="highlighter-rouge">SignatureCalculator</code>.<br />
+When fetch <code class="highlighter-rouge">SQLResponse</code> for cache, first check whether the signature is consistent. If not, this cached value is overdue and will be invalidate.</p>
+
+<p>As for the calculation of signature is show as follows:<br />
+1. <code class="highlighter-rouge">toString</code> of <code class="highlighter-rouge">ComponentSignature</code> will concatenate member varible into a large String; if a <code class="highlighter-rouge">ComponentSignature</code> has other <code class="highlighter-rouge">ComponentSignature</code> as member, toString will be calculated recursively<br />
+2. return value of <code class="highlighter-rouge">toString</code> will be input of <code class="highlighter-rouge">SignatureCalculator</code>,<br />
+<code class="highlighter-rouge">SignatureCalculator</code> encode string using MD5 as identifer of signature of query cache</p>
+
+<p><img src="/images/blog/refine-query-cache/cache-signature.png" alt="cache-signature" /></p>
+
+<h3 id="other-enhancement">Other Enhancement</h3>
+
+<h4 id="improve-the-query-execution-for-a-set-of-duplicate-queries-in-a-short-period">Improve the query execution for a set of duplicate queries in a short period</h4>
+
+<p>If same query enter Kylin at the same time by different client, for each query they can not find query cache so they must be calculated respectively. And even wrose, if these query are complex, they usually cost a long duration so Kylin have less chance to utilize cache query; and them cost large computation resources that will make query server has poor performance has harm to HBase cluster.</p>
+
+<p>To reduce the impact of duplicated and complex query, it may be a good idea to block query which came later, wait to first one return result as far as possible. This lazy strategy is especially useful if you have duplicated complex query came in same time. To enbale it, you should set <code class="highlighter-rouge">kylin.query.lazy-query-enabled</code> to <code class="highlighter-rouge">true</code>. Optionlly, you may set <code class="highlighter-rouge">kylin.query.lazy-query-waiting-timeout-milliseconds</code> to what you think later duplicated query wait duration to meet your situation.</p>
+
+<h4 id="remove-exception-cache">Remove exception cache</h4>
+<p>Formerly, query cache has been divided into two part, one part for storing success query result, another for failed query result, and they are invalidated respectively. It looks like not a good classification criteria because it is not fine-grained enough. After query cache signature was introduced, we have no reason to take them apart, so exception cache was removed.</p>
+
+<hr />
+
+<h2 id="part-iii-how-to-use">Part-III How to Use</h2>
+
+<p>To get prepared, you need to install memcached, you may refer to https://github.com/memcached/memcached/wiki/Install. Then you should modify <code class="highlighter-rouge">kylin.properties</code> and <code class="highlighter-rouge">applicationContext.xml</code>.</p>
+
+<ul>
+  <li>kylin.properties</li>
+</ul>
+
+<div class="highlight"><pre><code class="language-groff" data-lang="groff">kylin.cache.memcached.hosts=10.1.2.42:11211
+kylin.query.cache-signature-enabled=true
+kylin.query.lazy-query-enabled=true
+kylin.metrics.memcached.enabled=true
+kylin.query.segment-cache-enabled=true</code></pre></div>
+
+<ul>
+  <li>applicationContext.xml</li>
+</ul>
+
+<div class="highlight"><pre><code class="language-groff" data-lang="groff">&lt;cache:annotation-driven/&gt;
+
+&lt;bean id="ehcache" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean"
+      p:configLocation="classpath:ehcache-test.xml" p:shared="true"/&gt;
+
+&lt;bean id="remoteCacheManager" class="org.apache.kylin.cache.cachemanager.MemcachedCacheManager"/&gt;
+&lt;bean id="localCacheManager" class="org.apache.kylin.cache.cachemanager.InstrumentedEhCacheCacheManager"
+      p:cacheManager-ref="ehcache"/&gt;
+&lt;bean id="cacheManager" class="org.apache.kylin.cache.cachemanager.RemoteLocalFailOverCacheManager"/&gt;
+
+&lt;bean id="memcachedCacheConfig" class="org.apache.kylin.cache.memcached.MemcachedCacheConfig"&gt;
+    &lt;property name="timeout" value="500"/&gt;
+    &lt;property name="hosts" value="${kylin.cache.memcached.hosts}"/&gt;
+&lt;/bean&gt;</code></pre></div>
+
+<h3 id="configuration-for-query-cache">Configuration for query cache</h3>
+
+<h4 id="general-part">General part</h4>
+
+<table>
+  <thead>
+    <tr>
+      <th style="text-align: left">Conf Key</th>
+      <th style="text-align: left">Conf value</th>
+      <th style="text-align: left">Explanation</th>
+    </tr>
+  </thead>
+  <tbody>
+    <tr>
+      <td style="text-align: left">kylin.query.cache-enabled</td>
+      <td style="text-align: left">boolean, default true</td>
+      <td style="text-align: left">whether to enable query cache</td>
+    </tr>
+    <tr>
+      <td style="text-align: left">kylin.query.cache-threshold-duration</td>
+      <td style="text-align: left">long, in milliseconds, default is 2000</td>
+      <td style="text-align: left">query duration threshold</td>
+    </tr>
+    <tr>
+      <td style="text-align: left">kylin.query.cache-threshold-scan-count</td>
+      <td style="text-align: left">long, default is 10240</td>
+      <td style="text-align: left">query scan row count threshold</td>
+    </tr>
+    <tr>
+      <td style="text-align: left">kylin.query.cache-threshold-scan-bytes</td>
+      <td style="text-align: left">long, default is 1024 * 1024 (1MB)</td>
+      <td style="text-align: left">query scan byte threshold</td>
+    </tr>
+  </tbody>
+</table>
+
+<h4 id="memcached-part">Memcached part</h4>
+
+<table>
+  <thead>
+    <tr>
+      <th style="text-align: left">Conf Key</th>
+      <th style="text-align: left">Conf value</th>
+      <th style="text-align: left">Explanation</th>
+    </tr>
+  </thead>
+  <tbody>
+    <tr>
+      <td style="text-align: left">kylin.cache.memcached.hosts</td>
+      <td style="text-align: left">host1:port1,host2:port2</td>
+      <td style="text-align: left">host list of memcached host</td>
+    </tr>
+    <tr>
+      <td style="text-align: left">kylin.query.segment-cache-enabled</td>
+      <td style="text-align: left">default false</td>
+      <td style="text-align: left">wether to enable</td>
+    </tr>
+    <tr>
+      <td style="text-align: left">kylin.query.segment-cache-timeout</td>
+      <td style="text-align: left">default 2000</td>
+      <td style="text-align: left">timeout of memcached</td>
+    </tr>
+    <tr>
+      <td style="text-align: left">kylin.query.segment-cache-max-size</td>
+      <td style="text-align: left">200 (MB)</td>
+      <td style="text-align: left">max size put into memcached</td>
+    </tr>
+  </tbody>
+</table>
+
+<h4 id="cache-signature-part">Cache signature part</h4>
+
+<table>
+  <thead>
+    <tr>
+      <th style="text-align: left">Conf Key</th>
+      <th style="text-align: left">Conf value</th>
+      <th style="text-align: left">Explanation</th>
+    </tr>
+  </thead>
+  <tbody>
+    <tr>
+      <td style="text-align: left">kylin.query.cache-signature-enabled</td>
+      <td style="text-align: left">default false</td>
+      <td style="text-align: left">whether to use signature for query cache</td>
+    </tr>
+    <tr>
+      <td style="text-align: left">kylin.query.signature-class</td>
+      <td style="text-align: left">default is org.apache.kylin.rest.signature.FactTableRealizationSetCalculator</td>
+      <td style="text-align: left">use which class to calculate signature of query cache</td>
+    </tr>
+  </tbody>
+</table>
+
+<h4 id="other-optimize-part">Other optimize part</h4>
+
+<table>
+  <thead>
+    <tr>
+      <th style="text-align: left">Conf Key</th>
+      <th style="text-align: left">Conf value</th>
+      <th style="text-align: left">Explanation</th>
+    </tr>
+  </thead>
+  <tbody>
+    <tr>
+      <td style="text-align: left">kylin.query.lazy-query-enabled</td>
+      <td style="text-align: left">default false</td>
+      <td style="text-align: left">whether to block duplicated sql query</td>
+    </tr>
+    <tr>
+      <td style="text-align: left">kylin.query.lazy-query-waiting-timeout-milliseconds</td>
+      <td style="text-align: left">long , in milliseconds, default is 60000</td>
+      <td style="text-align: left">max druation for blocking duplicated sql query</td>
+    </tr>
+  </tbody>
+</table>
+
+<h4 id="metrics-part">Metrics part</h4>
+
+<table>
+  <thead>
+    <tr>
+      <th style="text-align: left">Conf Key</th>
+      <th style="text-align: left">Conf value</th>
+      <th style="text-align: left">Explanation</th>
+    </tr>
+  </thead>
+  <tbody>
+    <tr>
+      <td style="text-align: left">kylin.metrics.memcached.enabled</td>
+      <td style="text-align: left">true</td>
+      <td style="text-align: left">Enable memcached metrics in memcached.</td>
+    </tr>
+    <tr>
+      <td style="text-align: left">kylin.metrics.memcached.metricstype</td>
+      <td style="text-align: left">off/performance/debug</td>
+      <td style="text-align: left">refer to net.spy.memcached.metrics.MetricType</td>
+    </tr>
+  </tbody>
+</table>
+
+  </article>
+
+</div>
+
+
+
+
+
+				</article>
+			</div>
+		</div>		
+		<!--
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+-->
+
+<footer id="underfooter">
+    <div>
+        <div class="row">
+            <div class="col-md-12 widget">
+                <div class="widget-body">
+                    <div class="footer-img">
+                        <a href="http://www.apache.org">
+                            <img id="asf-logo" height="78px" alt="Apache Software Foundation" src="/assets/images/apache_footer.png">
+                        </a>
+                    </div>
+                    <p style="padding-top: 11px;">
+                        The contents of this website are © 2015 Apache Software Foundation under the terms of the 
+                        <a href="http://www.apache.org/licenses/LICENSE-2.0"> Apache License v2 </a>. 
+                    </p>
+                    <p style="margin-bottom: 11px;">    
+                        Apache Kylin and its logo are trademarks of the Apache Software Foundation.
+                    </div>
+
+                </div>
+            </div>
+        </div>
+        <!-- /row of widgets -->
+
+    </div>
+    <div></div>
+
+</footer>
+
+	<script src="/assets/js/jquery-1.9.1.min.js"></script> 
+	<script src="/assets/js/bootstrap.min.js"></script> 
+	<script src="/assets/js/main.js"></script>
+	</body>
+</html>
+
+
+
+

Modified: kylin/site/blog/index.html
URL: http://svn.apache.org/viewvc/kylin/site/blog/index.html?rev=1864154&r1=1864153&r2=1864154&view=diff
==============================================================================
--- kylin/site/blog/index.html (original)
+++ kylin/site/blog/index.html Thu Aug  1 14:04:52 2019
@@ -6367,6 +6367,16 @@ var _hmt = _hmt || [];
             
             
             <div class="col-md-6 col-lg-6 col-xs-12">
+              <a class="blog-card" href="/blog/2019/07/30/detailed-analysis-of-refine-query-cache/">
+                <div class="blog-pic">
+                  <img width="20" src="../assets/images/icon_blog_w.png" />
+                </div>
+                <p class="blog-title">Detailed Analysis of refine query cache</p>
+                <p align="left" class="post-meta">posted: Jul 30, 2019</p>
+              </a>
+            </div>
+      
+            <div class="col-md-6 col-lg-6 col-xs-12">
               <a class="blog-card" href="/blog/2019/07/01/deep-dive-real-time-olap/">
                 <div class="blog-pic">
                   <img width="20" src="../assets/images/icon_blog_w.png" />

Modified: kylin/site/cn/docs30/gettingstarted/faq.html
URL: http://svn.apache.org/viewvc/kylin/site/cn/docs30/gettingstarted/faq.html?rev=1864154&r1=1864153&r2=1864154&view=diff
==============================================================================
--- kylin/site/cn/docs30/gettingstarted/faq.html (original)
+++ kylin/site/cn/docs30/gettingstarted/faq.html Thu Aug  1 14:04:52 2019
@@ -499,6 +499,10 @@ vi $KYLIN_HOME/tomcat/webapps/kylin/WEB-
     
   
     
+  
+    
+  
+    
       <li class="navlist">
         <a href="/cn/docs30/index.html" class="list-group-item-lay pjaxlink">概述</a>
       </li>      
@@ -629,6 +633,10 @@ vi $KYLIN_HOME/tomcat/webapps/kylin/WEB-
     
   
     
+  
+    
+  
+    
       <li class="navlist">
         <a href="/cn/docs30/install/index.html" class="list-group-item-lay pjaxlink">安装指南</a>
       </li>      
@@ -726,6 +734,10 @@ vi $KYLIN_HOME/tomcat/webapps/kylin/WEB-
     
   
     
+  
+    
+  
+    
       <li class="navlist">
         <a href="/cn/docs30/install/kylin_cluster.html" class="list-group-item-lay pjaxlink">集群模式部署</a>
       </li>      
@@ -811,6 +823,10 @@ vi $KYLIN_HOME/tomcat/webapps/kylin/WEB-
     
   
     
+  
+    
+  
+    
       <li class="navlist">
         <a href="/cn/docs30/install/configuration.html" class="list-group-item-lay pjaxlink">Kylin 配置</a>
       </li>      
@@ -904,6 +920,10 @@ vi $KYLIN_HOME/tomcat/webapps/kylin/WEB-
     
   
     
+  
+    
+  
+    
       <li class="navlist">
         <a href="/cn/docs30/install/kylin_aws_emr.html" class="list-group-item-lay pjaxlink">在 AWS EMR 上安装 Kylin</a>
       </li>      
@@ -1005,6 +1025,10 @@ vi $KYLIN_HOME/tomcat/webapps/kylin/WEB-
     
   
     
+  
+    
+  
+    
       <li class="navlist">
         <a href="/cn/docs30/install/kylin_docker.html" class="list-group-item-lay pjaxlink">用 Docker 运行 Kylin</a>
       </li>      
@@ -1174,6 +1198,10 @@ vi $KYLIN_HOME/tomcat/webapps/kylin/WEB-
     
   
     
+  
+    
+  
+    
       <li class="navlist">
         <a href="/cn/docs30/tutorial/kylin_sample.html" class="list-group-item-lay pjaxlink">样例 Cube 快速入门</a>
       </li>      
@@ -1393,6 +1421,10 @@ vi $KYLIN_HOME/tomcat/webapps/kylin/WEB-
     
   
     
+  
+    
+  
+    
       <li class="navlist">
         <a href="/cn/docs30/tutorial/web.html" class="list-group-item-lay pjaxlink">Web 界面</a>
       </li>      
@@ -1508,6 +1540,10 @@ vi $KYLIN_HOME/tomcat/webapps/kylin/WEB-
     
   
     
+  
+    
+  
+    
       <li class="navlist">
         <a href="/cn/docs30/tutorial/create_cube.html" class="list-group-item-lay pjaxlink">Cube 创建</a>
       </li>      
@@ -1627,6 +1663,10 @@ vi $KYLIN_HOME/tomcat/webapps/kylin/WEB-
     
   
     
+  
+    
+  
+    
       <li class="navlist">
         <a href="/cn/docs30/tutorial/cube_build_job.html" class="list-group-item-lay pjaxlink">Cube 构建和 Job 监控</a>
       </li>      
@@ -1818,6 +1858,10 @@ vi $KYLIN_HOME/tomcat/webapps/kylin/WEB-
     
   
     
+  
+    
+  
+    
       <li class="navlist">
         <a href="/cn/docs30/tutorial/sql_reference.html" class="list-group-item-lay pjaxlink">SQL 快速参考</a>
       </li>      
@@ -1987,6 +2031,10 @@ vi $KYLIN_HOME/tomcat/webapps/kylin/WEB-
     
   
     
+  
+    
+  
+    
       <li class="navlist">
         <a href="/cn/docs30/tutorial/project_level_acl.html" class="list-group-item-lay pjaxlink">Project Level ACL</a>
       </li>      
@@ -2114,6 +2162,10 @@ vi $KYLIN_HOME/tomcat/webapps/kylin/WEB-
     
   
     
+  
+    
+  
+    
       <li class="navlist">
         <a href="/cn/docs30/tutorial/cube_spark.html" class="list-group-item-lay pjaxlink">用 Spark 构建 Cube</a>
       </li>      
@@ -2245,6 +2297,10 @@ vi $KYLIN_HOME/tomcat/webapps/kylin/WEB-
     
   
     
+  
+    
+  
+    
       <li class="navlist">
         <a href="/cn/docs30/tutorial/cube_streaming.html" class="list-group-item-lay pjaxlink">从 Kafka 流构建 Cube</a>
       </li>      
@@ -2467,6 +2523,10 @@ vi $KYLIN_HOME/tomcat/webapps/kylin/WEB-
   
     
   
+    
+  
+    
+  
 
 
 
@@ -2586,6 +2646,10 @@ vi $KYLIN_HOME/tomcat/webapps/kylin/WEB-
     
   
     
+  
+    
+  
+    
       <li class="navlist">
         <a href="/cn/docs30/tutorial/cube_build_performance.html" class="list-group-item-lay pjaxlink">优化 Cube 构建</a>
       </li>      
@@ -2733,6 +2797,10 @@ vi $KYLIN_HOME/tomcat/webapps/kylin/WEB-
     
   
     
+  
+    
+  
+    
       <li class="navlist">
         <a href="/cn/docs30/tutorial/kylin_client_tool.html" class="list-group-item-lay pjaxlink">Python 客户端</a>
       </li>      
@@ -2916,6 +2984,10 @@ vi $KYLIN_HOME/tomcat/webapps/kylin/WEB-
     
   
     
+  
+    
+  
+    
       <li class="navlist">
         <a href="/cn/docs30/tutorial/setup_systemcube.html" class="list-group-item-lay pjaxlink">建立系统 Cube</a>
       </li>      
@@ -3127,6 +3199,10 @@ vi $KYLIN_HOME/tomcat/webapps/kylin/WEB-
     
   
     
+  
+    
+  
+    
       <li class="navlist">
         <a href="/cn/docs30/tutorial/use_cube_planner.html" class="list-group-item-lay pjaxlink">使用 Cube Planner</a>
       </li>      
@@ -3342,6 +3418,10 @@ vi $KYLIN_HOME/tomcat/webapps/kylin/WEB-
     
   
     
+  
+    
+  
+    
       <li class="navlist">
         <a href="/cn/docs30/tutorial/use_dashboard.html" class="list-group-item-lay pjaxlink">使用 Dashboard</a>
       </li>      
@@ -3521,6 +3601,10 @@ vi $KYLIN_HOME/tomcat/webapps/kylin/WEB-
     
   
     
+  
+    
+  
+    
       <li class="navlist">
         <a href="/cn/docs30/tutorial/setup_jdbc_datasource.html" class="list-group-item-lay pjaxlink">建立 JDBC 数据源</a>
       </li>      
@@ -3660,6 +3744,10 @@ vi $KYLIN_HOME/tomcat/webapps/kylin/WEB-
     
   
     
+  
+    
+  
+    
       <li class="navlist">
         <a href="/cn/docs30/tutorial/hybrid.html" class="list-group-item-lay pjaxlink">Hybrid 模型</a>
       </li>      
@@ -3817,6 +3905,10 @@ vi $KYLIN_HOME/tomcat/webapps/kylin/WEB-
     
   
     
+  
+    
+  
+    
       <li class="navlist">
         <a href="/cn/docs30/tutorial/mysql_metastore.html" class="list-group-item-lay pjaxlink">基于 MySQL 的 Metastore 配置</a>
       </li>      
@@ -3996,6 +4088,10 @@ vi $KYLIN_HOME/tomcat/webapps/kylin/WEB-
     
   
     
+  
+    
+  
+    
       <li class="navlist">
         <a href="/cn/docs30/tutorial/odbc.html" class="list-group-item-lay pjaxlink">ODBC 驱动</a>
       </li>      
@@ -4139,6 +4235,10 @@ vi $KYLIN_HOME/tomcat/webapps/kylin/WEB-
     
   
     
+  
+    
+  
+    
       <li class="navlist">
         <a href="/cn/docs30/tutorial/jdbc.html" class="list-group-item-lay pjaxlink">JDBC 驱动</a>
       </li>      
@@ -4342,6 +4442,10 @@ vi $KYLIN_HOME/tomcat/webapps/kylin/WEB-
     
   
     
+  
+    
+  
+    
       <li class="navlist">
         <a href="/cn/docs30/tutorial/tableau.html" class="list-group-item-lay pjaxlink">Tableau 8</a>
       </li>      
@@ -4549,6 +4653,10 @@ vi $KYLIN_HOME/tomcat/webapps/kylin/WEB-
     
   
     
+  
+    
+  
+    
       <li class="navlist">
         <a href="/cn/docs30/tutorial/tableau_91.html" class="list-group-item-lay pjaxlink">Tableau 9</a>
       </li>      
@@ -4714,6 +4822,10 @@ vi $KYLIN_HOME/tomcat/webapps/kylin/WEB-
     
   
     
+  
+    
+  
+    
       <li class="navlist">
         <a href="/cn/docs30/tutorial/powerbi.html" class="list-group-item-lay pjaxlink">Excel 及 Power BI 教程</a>
       </li>      
@@ -4936,6 +5048,10 @@ vi $KYLIN_HOME/tomcat/webapps/kylin/WEB-
   
     
   
+    
+  
+    
+  
 
 
 
@@ -5127,6 +5243,10 @@ vi $KYLIN_HOME/tomcat/webapps/kylin/WEB-
     
   
     
+  
+    
+  
+    
       <li class="navlist">
         <a href="/cn/docs30/tutorial/squirrel.html" class="list-group-item-lay pjaxlink">SQuirreL</a>
       </li>      
@@ -5234,6 +5354,10 @@ vi $KYLIN_HOME/tomcat/webapps/kylin/WEB-
     
   
     
+  
+    
+  
+    
       <li class="navlist">
         <a href="/cn/docs30/tutorial/Qlik.html" class="list-group-item-lay pjaxlink">Qlik Sense 集成</a>
       </li>      
@@ -5433,6 +5557,10 @@ vi $KYLIN_HOME/tomcat/webapps/kylin/WEB-
     
   
     
+  
+    
+  
+    
       <li class="navlist">
         <a href="/cn/docs30/tutorial/superset.html" class="list-group-item-lay pjaxlink">Superset</a>
       </li>      
@@ -5469,6 +5597,10 @@ vi $KYLIN_HOME/tomcat/webapps/kylin/WEB-
   
     
   
+    
+  
+    
+