Author: lidong
Date: Fri Jan 18 07:20:49 2019
New Revision: 1851604

URL: http://svn.apache.org/viewvc?rev=1851604&view=rev
Log:
Post a tech blog about Cisco's practice of using Kylin

Added:
    kylin/site/blog/2019/01/17/
    kylin/site/blog/2019/01/17/cisco-throughput-5x/
    kylin/site/blog/2019/01/17/cisco-throughput-5x/index.html
    kylin/site/images/blog/cisco_throughput_5x/
    kylin/site/images/blog/cisco_throughput_5x/handled_queries_1.png   (with 
props)
    kylin/site/images/blog/cisco_throughput_5x/handled_queries_2.png   (with 
props)
Modified:
    kylin/site/blog/index.html
    kylin/site/cn/download/index.html
    kylin/site/download/index.html
    kylin/site/feed.xml

Added: kylin/site/blog/2019/01/17/cisco-throughput-5x/index.html
URL: 
http://svn.apache.org/viewvc/kylin/site/blog/2019/01/17/cisco-throughput-5x/index.html?rev=1851604&view=auto
==============================================================================
--- kylin/site/blog/2019/01/17/cisco-throughput-5x/index.html (added)
+++ kylin/site/blog/2019/01/17/cisco-throughput-5x/index.html Fri Jan 18 
07:20:49 2019
@@ -0,0 +1,6386 @@
+<!--
+* 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 | How Cisco's Big Data Team Improved the High Concurrent 
Throughput of Apache Kylin by 5x</title>
+  <meta name="description" content="Background">
+  <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/01/17/cisco-throughput-5x/";>
+  <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><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/project_level_acl.html" 
class="list-group-item-lay pjaxlink">Project 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">How Cisco's Big Data Team Improved the High 
Concurrent Throughput of Apache Kylin by 5x</h1>
+    <p class="post-meta" >Jan 17, 2019 • Zongwei Li</p>
+  </header>
+
+  <article class="post-content" >
+    <h2 id="background">Background</h2>
+
+<p>As part of the development group of Cisco’s Big Data team, one of our 
responsibilities is to provide BI reports to our stakeholders. Stakeholders 
rely on the reporting system to check the usage of Cisco’s business 
offerings. These reports are also used as a reference for billing, so they are 
critical to our stakeholders and the business overall.</p>
+
+<p>The raw data for these reports is sourced across multiple tables in our 
Oracle database. The monthly data volume for one table is in the billions, and 
if a customer wants to run a report for one year, at least one billion to two 
billion rows of data need to be aggregated or processed through other 
operations. Additionally, all results need to be provided in a short amount of 
time. In the course of our research, we discovered Apache Kylin, a distributed 
preprocessing engine for massive datasets based on pre-calculation, which 
enables you to query those massive datasets at sub-second latency.</p>
+
+<p>With the simulation test using our production data, we found that Kylin was 
ideal for our needs and was indeed capable of providing aggregated results on 
one billion rows of data in one second. However, we still needed to undergo 
additional tests for another use case. For one stakeholder, we provide 15 
charts displayed on a single page. The BI system will send REST API requests to 
Kylin to query the data for each chart asynchronously. Based on the production 
data volume, if there are 20 stakeholders viewing the report on one node, they 
will trigger 15*20 = 300 requests. The high concurrent query performance of 
Kylin is what we needed to test here.</p>
+
+<h2 id="the-testing-stage">The Testing Stage</h2>
+
+<p><strong>Precondition</strong>: To reduce the impact from network cost, we 
deployed the testing tools in the same network environment with Kylin. 
Meanwhile, we turned off the query cache for Kylin to make sure that each 
request was executed on the bottom layer.</p>
+
+<p><strong>Testing Tools</strong>: Aside from our traditional testing tool, 
Apache Jmeter, we also used another open source tool: Gatlin (<a 
href="https://gatling.io/";>https://gatling.io/</a>) to test the same case. We 
excluded the impact from the tools.</p>
+
+<p><strong>Testing Strategy</strong>: We simulated user requests of different 
sizes by increasing the number of concurrent threads, tracking the average 
response in 60 seconds, finding the bottleneck for Kylin query responses, and 
observing the maximum response time and success rate.</p>
+
+<p><strong>Testing Results</strong>:</p>
+
+<table>
+  <thead>
+    <tr>
+      <th style="text-align: center">Thread</th>
+      <th style="text-align: center">Handled Queries (in 60 seconds)</th>
+      <th style="text-align: center">Handled Queries (per second)</th>
+      <th style="text-align: center">Mean Response Time (ms)</th>
+    </tr>
+  </thead>
+  <tbody>
+    <tr>
+      <td style="text-align: center">1</td>
+      <td style="text-align: center">773</td>
+      <td style="text-align: center">13</td>
+      <td style="text-align: center">77</td>
+    </tr>
+    <tr>
+      <td style="text-align: center">15</td>
+      <td style="text-align: center">3245</td>
+      <td style="text-align: center">54</td>
+      <td style="text-align: center">279</td>
+    </tr>
+    <tr>
+      <td style="text-align: center">25</td>
+      <td style="text-align: center">3844</td>
+      <td style="text-align: center">64</td>
+      <td style="text-align: center">390</td>
+    </tr>
+    <tr>
+      <td style="text-align: center">50</td>
+      <td style="text-align: center">4912</td>
+      <td style="text-align: center">82</td>
+      <td style="text-align: center">612</td>
+    </tr>
+    <tr>
+      <td style="text-align: center">75</td>
+      <td style="text-align: center">5405</td>
+      <td style="text-align: center">90</td>
+      <td style="text-align: center">841</td>
+    </tr>
+    <tr>
+      <td style="text-align: center">100</td>
+      <td style="text-align: center">5436</td>
+      <td style="text-align: center">91</td>
+      <td style="text-align: center">1108</td>
+    </tr>
+    <tr>
+      <td style="text-align: center">150</td>
+      <td style="text-align: center">5434</td>
+      <td style="text-align: center">91</td>
+      <td style="text-align: center">1688</td>
+    </tr>
+  </tbody>
+</table>
+
+<p>Resulting in the line chart as follows:</p>
+
+<p><img src="/images/blog/cisco_throughput_5x/handled_queries_1.png" alt="" 
width="500px" height="300px" /></p>
+
+<p>​</p>
+
+<p><strong>Finding</strong>: When the number of concurrent threads reach 75, 
executed queries per second reach a peak of 90. The number does not become 
better even as we continue to increase the threads. 90 concurrent query 
responses in one second only allows 90/15 = 6 users to view a report at the 
same time. Even when we extend the Kylin query nodes to 3, query capability 
with 18 users per second is far behind our business demands.</p>
+
+<h2 id="root-cause-analysis">Root Cause Analysis</h2>
+
+<p>After reading and analyzing the query engine code of Kylin, we learned that 
Kylin’s query performs parallel filtering and calculation in HBase’s region 
server by launching HBase Coprocessor. Based on this information, we checked 
the resource usage of the HBase cluster. The count of RPC Tasks processed on 
the region server did not increase linearly with the number of Kylin query 
requests when high concurrent queries occured. We concluded that there was a 
thread block on the Kylin side.</p>
+
+<p>We used Flame graph and JProfile to collect and analyze data from the Kylin 
query node and could not find the root cause. Then we tried to catch a thread 
snapshot of Kylin with Jstack. Analyzing the Jstack log, we discovered the root 
cause of the bottleneck causing this concurrent query issue. The example is as 
follows (Kylin version 2.5.0):</p>
+
+<p>One thread is locked at sun.misc.URLClassPath.getNextLoader. TID is 
0x000000048007a180:</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>"Query 
e9c44a2d-6226-ff3b-f984-ce8489107d79-3425" #3425 daemon prio=5 os_prio=0 
tid=0x000000000472b000 nid=0x1433 waiting ]
+   java.lang.Thread.State: BLOCKED (on object monitor)
+    at sun.misc.URLClassPath.getNextLoader(URLClassPath.java:469)
+    - locked &lt;0x000000048007a180&gt; (a sun.misc.URLClassPath)
+    at sun.misc.URLClassPath.findResource(URLClassPath.java:214)
+    at java.net.URLClassLoader$2.run(URLClassLoader.java:569)
+    at java.net.URLClassLoader$2.run(URLClassLoader.java:567)
+    at java.security.AccessController.doPrivileged(Native Method)
+    at java.net.URLClassLoader.findResource(URLClassLoader.java:566)
+    at java.lang.ClassLoader.getResource(ClassLoader.java:1096)
+    at java.lang.ClassLoader.getResource(ClassLoader.java:1091)
+    at 
org.apache.catalina.loader.WebappClassLoaderBase.getResource(WebappClassLoaderBase.java:1666)
+    at 
org.apache.kylin.common.KylinConfig.buildSiteOrderedProps(KylinConfig.java:338)
+</code></pre>
+</div>
+
+<p>43 threads were waiting to lock &lt;0x000000048007a180&gt;  at the same 
time:</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>"Query 
f1f0bbec-a3f7-04b2-1ac6-fd3e03a0232d-4002" #4002 daemon prio=5 os_prio=0 
tid=0x00007f27e71e7800 nid=0x1676 waiting ]
+   java.lang.Thread.State: BLOCKED (on object monitor)
+    at sun.misc.URLClassPath.getNextLoader(URLClassPath.java:469)
+    - waiting to lock &lt;0x000000048007a180&gt; (a sun.misc.URLClassPath)
+    at sun.misc.URLClassPath.findResource(URLClassPath.java:214)
+    at java.net.URLClassLoader$2.run(URLClassLoader.java:569)
+    at java.net.URLClassLoader$2.run(URLClassLoader.java:567)
+    at java.security.AccessController.doPrivileged(Native Method)
+    at java.net.URLClassLoader.findResource(URLClassLoader.java:566)
+    at java.lang.ClassLoader.getResource(ClassLoader.java:1096)
+    at java.lang.ClassLoader.getResource(ClassLoader.java:1091)
+    at 
org.apache.catalina.loader.WebappClassLoaderBase.getResource(WebappClassLoaderBase.java:1666)
+    at 
org.apache.kylin.common.KylinConfig.buildSiteOrderedProps(KylinConfig.java:338)
+</code></pre>
+</div>
+
+<p>We found that the closest code logic to Kylin was:</p>
+
+<div class="highlighter-rouge"><pre 
class="highlight"><code>org.apache.kylin.common.KylinConfig.buildSiteOrderedProps(KylinConfig.java:338)
+</code></pre>
+</div>
+
+<p>Further analyzing the Kylin source code showed we were getting close to the 
resolution.</p>
+
+<h2 id="code-analysis">Code Analysis</h2>
+
+<p>When Kylin query engine builds a request to HBase Coprocessor, it will 
export Kylin properties (various properties used in Kylin) as Strings. This 
issue is caused by the relative code logic.</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>function private 
static OrderedProperties buildSiteOrderedProps()
+</code></pre>
+</div>
+
+<ul>
+  <li>Each thread will getResouce to load “kylin-defaults.properties” (the 
default properties file that users cannot modify).</li>
+</ul>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>// 1. load default 
configurations from classpath.
+// we have a kylin-defaults.properties in kylin/core-common/src/main/resources
+URL resource = 
Thread.currentThread().getContextClassLoader().getResource("kylin-defaults.properties");
+Preconditions.checkNotNull(resource);
+logger.info("Loading kylin-defaults.properties from {}", resource.getPath());
+OrderedProperties orderedProperties = new OrderedProperties();
+loadPropertiesFromInputStream(resource.openStream(), orderedProperties);
+</code></pre>
+</div>
+
+<ul>
+  <li>Loop 10 times to getResouce for  “kylin-defaults” + (i) + 
“.properties”. Thread LOCKED occurs here.</li>
+</ul>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>for (int i = 0; i 
&lt; 10; i++) {
+String fileName = "kylin-defaults" +  + ".properties";
+ URL additionalResource = 
Thread.currentThread().getContextClassLoader().getResource(fileName);
+ if (additionalResource != null) {
+        logger.info("Loading {} from {} ", fileName, 
additionalResource.getPath());
+ loadPropertiesFromInputStream(additionalResource.openStream(), 
orderedProperties);
+ }
+</code></pre>
+</div>
+
+<p>Those logics were introduced in 2017/6/7, with JIRA ID KYLIN-2659 
<em>Refactor KylinConfig so that all the default configurations are hidden in 
kylin-defaults.properties</em> reported by Hongbin Ma.</p>
+
+<h2 id="issue-fixing">Issue Fixing</h2>
+
+<p>For the first part of the logic, because kylin-defaults.properties is built 
in kylin-core-common-xxxx.jar, there’s no need to getResource for it every 
time. We moved this logic to getInstanceFromEnv(). This logic gets called only 
once when service starts.</p>
+
+<p>We found one regression issue when fixing this bug. One class, 
CubeVisitService, is a Coprocessor. It will use KylinConfig as util class to 
generate KylinConfig object. It’s dangerous to induce any logic to load 
properties. Due to this, there is no Kylin.properties file in Coprocessor.</p>
+
+<div class="highlighter-rouge"><pre 
class="highlight"><code>buildDefaultOrderedProperties();
+</code></pre>
+</div>
+
+<p>For the second part, this design should be future-proof and allow users to 
define 10 default properties (and override with each other), but after a year 
and a half, this logic seemed to never be used. However, to reduce risk, we 
kept this logic because it only gets called once during service start up which 
resulted in an insignificant waste of additional time.</p>
+
+<h2 id="performance-testing-after-bug-fixes">Performance Testing After Bug 
Fixes</h2>
+
+<p>Based on the same data volume and testing environment, results were as 
follows:</p>
+
+<table>
+  <thead>
+    <tr>
+      <th style="text-align: center">Thread</th>
+      <th style="text-align: center">Handled Queries (in 60 seconds)</th>
+      <th style="text-align: center">Handled Queries (per second)</th>
+      <th style="text-align: center">Mean Response Time (ms)</th>
+    </tr>
+  </thead>
+  <tbody>
+    <tr>
+      <td style="text-align: center">1</td>
+      <td style="text-align: center">2451</td>
+      <td style="text-align: center">41</td>
+      <td style="text-align: center">12</td>
+    </tr>
+    <tr>
+      <td style="text-align: center">15</td>
+      <td style="text-align: center">12422</td>
+      <td style="text-align: center">207</td>
+      <td style="text-align: center">37</td>
+    </tr>
+    <tr>
+      <td style="text-align: center">25</td>
+      <td style="text-align: center">15600</td>
+      <td style="text-align: center">260</td>
+      <td style="text-align: center">56</td>
+    </tr>
+    <tr>
+      <td style="text-align: center">50</td>
+      <td style="text-align: center">18481</td>
+      <td style="text-align: center">308</td>
+      <td style="text-align: center">129</td>
+    </tr>
+    <tr>
+      <td style="text-align: center">75</td>
+      <td style="text-align: center">21055</td>
+      <td style="text-align: center">351</td>
+      <td style="text-align: center">136</td>
+    </tr>
+    <tr>
+      <td style="text-align: center">100</td>
+      <td style="text-align: center">24036</td>
+      <td style="text-align: center">400</td>
+      <td style="text-align: center">251</td>
+    </tr>
+    <tr>
+      <td style="text-align: center">150</td>
+      <td style="text-align: center">28014</td>
+      <td style="text-align: center">467</td>
+      <td style="text-align: center">277</td>
+    </tr>
+  </tbody>
+</table>
+
+<p>And the resulting line chart:</p>
+
+<p><img src="/images/blog/cisco_throughput_5x/handled_queries_2.png" alt="" 
width="500px" height="300px" /></p>
+
+<p>When the concurrent threads reached 150, Kylin processed 467 requests per 
second. The concurrent query capability increased by five times with linear 
growth . It could be concluded then that the bottleneck was eliminated . We 
didn’t increase the concurrent threads due to the Kylin query engine’s 
settings for cluster load balancing which meant that increasing the concurrent 
connections on a single node increased the workload on the Tomcat server (Max 
connection is 150 in Kylin by default). The thread blocking issue disappeared 
after re-collecting and analyzing the Jstack log.</p>
+
+<p>After the fix, each Kylin node could now handle requests for 467/15 = 31 
users, which meets our business requirement. Additionally, Kylin’s concurrent 
query capability can be further improved by several times once we enable query 
cache, so it is more than sufficient to fulfill our needs.</p>
+
+<h2 id="summary">Summary</h2>
+
+<p>Apache Kylin lets you query massive datasets at sub-second latency, thanks 
to the pre-calculation design of cubes, the optimization of Apache Calcite 
operator in queries, and also the introduction of “Prepared Statement 
Cache” to reduce the cost of Calcite SQL parses. Query performance 
optimization is not easy. We need to pay more attention to impacts on the Kylin 
query engine when new features are introduced or bugs are fixed, since even a 
minor code change could spell disaster. Issues like these in high concurrency 
scenarios can often be hard to reproduce and analyze.</p>
+
+<p>Lastly, query performance testing should not be limited to a single or 
small set of queries. High concurrecy performance testing should take place 
considering actual business requirements. For enterprise reporting systems, 3 
seconds is the user tolerance limit for new page loading, which includes page 
rendering and network consumption. Ultimately, the backend data service should 
provide a response within 1 second. This is indeed a big challenge in a 
business scenario with big data sets. Fortunately, Kylin easily meets this 
requirement.</p>
+
+<p>This issue has already been submitted on JIRA as <a 
href="https://issues.apache.org/jira/browse/KYLIN-3672";>KYLIN-3672</a>, and 
released in Kylin v2.5.2. Thanks to Shaofeng Shi of Kyligence Inc. for help.</p>
+
+<p>【1】<a 
href="https://issues.apache.org/jira/browse/KYLIN-3672";>https://issues.apache.org/jira/browse/KYLIN-3672</a></p>
+
+<p><em>Author Zongwie Li as a Cisco engineer and a team member in the 
company’s Big Data architecture team, currently responsible for OLAP platform 
construction and customer business reporting systems.</em></p>
+
+
+  </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=1851604&r1=1851603&r2=1851604&view=diff
==============================================================================
--- kylin/site/blog/index.html (original)
+++ kylin/site/blog/index.html Fri Jan 18 07:20:49 2019
@@ -6037,6 +6037,16 @@ var _hmt = _hmt || [];
             
             
             <div class="col-md-6 col-lg-6 col-xs-12">
+              <a class="blog-card" 
href="/blog/2019/01/17/cisco-throughput-5x/">
+                <div class="blog-pic">
+                  <img width="20" src="../assets/images/icon_blog_w.png" />
+                </div>
+                <p class="blog-title">How Cisco's Big Data Team Improved the 
High Concurrent Throughput of Apache Kylin by 5x</p>
+                <p align="left" class="post-meta">posted: Jan 17, 2019</p>
+              </a>
+            </div>
+      
+            <div class="col-md-6 col-lg-6 col-xs-12">
               <a class="blog-card" 
href="/blog/2019/01/16/introduce-data-source-sdk-v2.6.0/">
                 <div class="blog-pic">
                   <img width="20" src="../assets/images/icon_blog_w.png" />
@@ -6057,21 +6067,21 @@ var _hmt = _hmt || [];
             </div>
       
             <div class="col-md-6 col-lg-6 col-xs-12">
-              <a class="blog-card" href="/cn/blog/2018/09/20/release-v2.5.0/">
+              <a class="blog-card" href="/blog/2018/09/20/release-v2.5.0/">
                 <div class="blog-pic">
                   <img width="20" src="../assets/images/icon_blog_w.png" />
                 </div>
-                <p class="blog-title">Apache Kylin v2.5.0 正式发布</p>
+                <p class="blog-title">Apache Kylin v2.5.0 Release 
Announcement</p>
                 <p align="left" class="post-meta">posted: Sep 20, 2018</p>
               </a>
             </div>
       
             <div class="col-md-6 col-lg-6 col-xs-12">
-              <a class="blog-card" href="/blog/2018/09/20/release-v2.5.0/">
+              <a class="blog-card" href="/cn/blog/2018/09/20/release-v2.5.0/">
                 <div class="blog-pic">
                   <img width="20" src="../assets/images/icon_blog_w.png" />
                 </div>
-                <p class="blog-title">Apache Kylin v2.5.0 Release 
Announcement</p>
+                <p class="blog-title">Apache Kylin v2.5.0 正式发布</p>
                 <p align="left" class="post-meta">posted: Sep 20, 2018</p>
               </a>
             </div>
@@ -6287,41 +6297,41 @@ var _hmt = _hmt || [];
             </div>
       
             <div class="col-md-6 col-lg-6 col-xs-12">
-              <a class="blog-card" href="/cn/blog/2016/05/26/release-v1.5.2/">
+              <a class="blog-card" href="/blog/2016/05/26/release-v1.5.2/">
                 <div class="blog-pic">
                   <img width="20" src="../assets/images/icon_blog_w.png" />
                 </div>
-                <p class="blog-title">Apache Kylin v1.5.2 正式发布</p>
+                <p class="blog-title">Apache Kylin v1.5.2 Release 
Announcement</p>
                 <p align="left" class="post-meta">posted: May 26, 2016</p>
               </a>
             </div>
       
             <div class="col-md-6 col-lg-6 col-xs-12">
-              <a class="blog-card" href="/blog/2016/05/26/release-v1.5.2/">
+              <a class="blog-card" href="/cn/blog/2016/05/26/release-v1.5.2/">
                 <div class="blog-pic">
                   <img width="20" src="../assets/images/icon_blog_w.png" />
                 </div>
-                <p class="blog-title">Apache Kylin v1.5.2 Release 
Announcement</p>
+                <p class="blog-title">Apache Kylin v1.5.2 正式发布</p>
                 <p align="left" class="post-meta">posted: May 26, 2016</p>
               </a>
             </div>
       
             <div class="col-md-6 col-lg-6 col-xs-12">
-              <a class="blog-card" href="/blog/2016/04/12/release-v1.5.1/">
+              <a class="blog-card" href="/cn/blog/2016/04/12/release-v1.5.1/">
                 <div class="blog-pic">
                   <img width="20" src="../assets/images/icon_blog_w.png" />
                 </div>
-                <p class="blog-title">Apache Kylin v1.5.1 Release 
Announcement</p>
+                <p class="blog-title">Apache Kylin v1.5.1 正式发布</p>
                 <p align="left" class="post-meta">posted: Apr 12, 2016</p>
               </a>
             </div>
       
             <div class="col-md-6 col-lg-6 col-xs-12">
-              <a class="blog-card" href="/cn/blog/2016/04/12/release-v1.5.1/">
+              <a class="blog-card" href="/blog/2016/04/12/release-v1.5.1/">
                 <div class="blog-pic">
                   <img width="20" src="../assets/images/icon_blog_w.png" />
                 </div>
-                <p class="blog-title">Apache Kylin v1.5.1 正式发布</p>
+                <p class="blog-title">Apache Kylin v1.5.1 Release 
Announcement</p>
                 <p align="left" class="post-meta">posted: Apr 12, 2016</p>
               </a>
             </div>
@@ -6357,21 +6367,21 @@ var _hmt = _hmt || [];
             </div>
       
             <div class="col-md-6 col-lg-6 col-xs-12">
-              <a class="blog-card" href="/cn/blog/2016/03/16/release-v1.3.0/">
+              <a class="blog-card" href="/blog/2016/03/16/release-v1.3.0/">
                 <div class="blog-pic">
                   <img width="20" src="../assets/images/icon_blog_w.png" />
                 </div>
-                <p class="blog-title">Apache Kylin v1.3.0 正式发布</p>
+                <p class="blog-title">Apache Kylin v1.3.0 Release 
Announcement</p>
                 <p align="left" class="post-meta">posted: Mar 16, 2016</p>
               </a>
             </div>
       
             <div class="col-md-6 col-lg-6 col-xs-12">
-              <a class="blog-card" href="/blog/2016/03/16/release-v1.3.0/">
+              <a class="blog-card" href="/cn/blog/2016/03/16/release-v1.3.0/">
                 <div class="blog-pic">
                   <img width="20" src="../assets/images/icon_blog_w.png" />
                 </div>
-                <p class="blog-title">Apache Kylin v1.3.0 Release 
Announcement</p>
+                <p class="blog-title">Apache Kylin v1.3.0 正式发布</p>
                 <p align="left" class="post-meta">posted: Mar 16, 2016</p>
               </a>
             </div>
@@ -6397,21 +6407,21 @@ var _hmt = _hmt || [];
             </div>
       
             <div class="col-md-6 col-lg-6 col-xs-12">
-              <a class="blog-card" 
href="/blog/2015/12/25/support-powerbi-tableau9/">
+              <a class="blog-card" 
href="/cn/blog/2015/12/25/support-powerbi-tableau9/">
                 <div class="blog-pic">
                   <img width="20" src="../assets/images/icon_blog_w.png" />
                 </div>
-                <p class="blog-title">Apache Kylin supports Tableau 9 and MS 
Excel, Power BI now</p>
+                <p class="blog-title">Apache Kylin增加对Tableau 
9及微软Excel, Power BI的支持</p>
                 <p align="left" class="post-meta">posted: Dec 25, 2015</p>
               </a>
             </div>
       
             <div class="col-md-6 col-lg-6 col-xs-12">
-              <a class="blog-card" 
href="/cn/blog/2015/12/25/support-powerbi-tableau9/">
+              <a class="blog-card" 
href="/blog/2015/12/25/support-powerbi-tableau9/">
                 <div class="blog-pic">
                   <img width="20" src="../assets/images/icon_blog_w.png" />
                 </div>
-                <p class="blog-title">Apache Kylin增加对Tableau 
9及微软Excel, Power BI的支持</p>
+                <p class="blog-title">Apache Kylin supports Tableau 9 and MS 
Excel, Power BI now</p>
                 <p align="left" class="post-meta">posted: Dec 25, 2015</p>
               </a>
             </div>

Modified: kylin/site/cn/download/index.html
URL: 
http://svn.apache.org/viewvc/kylin/site/cn/download/index.html?rev=1851604&r1=1851603&r2=1851604&view=diff
==============================================================================
--- kylin/site/cn/download/index.html (original)
+++ kylin/site/cn/download/index.html Fri Jan 18 07:20:49 2019
@@ -179,12 +179,18 @@ var _hmt = _hmt || [];
   <li>这是2.5 版本后的一个主要发布版本,包
含了94个问题的修复以及各种改进。关于具体内
容请查看发布说明.</li>
   <li><a href="/docs/release_notes.html">发布说明</a> and <a 
href="/docs/howto/howto_upgrade.html">升级指南</a></li>
   <li>源码下载: <a 
href="https://www.apache.org/dyn/closer.cgi/kylin/apache-kylin-2.6.0/apache-kylin-2.6.0-source-release.zip";>apache-kylin-2.6.0-source-release.zip</a>
 [<a 
href="https://www.apache.org/dist/kylin/apache-kylin-2.6.0/apache-kylin-2.6.0-source-release.zip.asc";>asc</a>]
 [<a 
href="https://www.apache.org/dist/kylin/apache-kylin-2.6.0/apache-kylin-2.6.0-source-release.zip.sha256";>sha256</a>]</li>
-  <li>二进制包下载:
+  <li>Hadoop 2 二进制包:
     <ul>
       <li>for HBase 1.x (includes HDP 2.3+, AWS EMR 5.0+, Azure HDInsight 3.4 
- 3.6) - <a 
href="https://www.apache.org/dyn/closer.cgi/kylin/apache-kylin-2.6.0/apache-kylin-2.6.0-bin-hbase1x.tar.gz";>apache-kylin-2.6.0-bin-hbase1x.tar.gz</a>
 [<a 
href="https://www.apache.org/dist/kylin/apache-kylin-2.6.0/apache-kylin-2.6.0-bin-hbase1x.tar.gz.asc";>asc</a>]
 [<a 
href="https://www.apache.org/dist/kylin/apache-kylin-2.6.0/apache-kylin-2.6.0-bin-hbase1x.tar.gz.sha256";>sha256</a>]</li>
       <li>for CDH 5.7+ - <a 
href="https://www.apache.org/dyn/closer.cgi/kylin/apache-kylin-2.6.0/apache-kylin-2.6.0-bin-cdh57.tar.gz";>apache-kylin-2.6.0-bin-cdh57.tar.gz</a>
 [<a 
href="https://www.apache.org/dist/kylin/apache-kylin-2.6.0/apache-kylin-2.6.0-bin-cdh57.tar.gz.asc";>asc</a>]
 [<a 
href="https://www.apache.org/dist/kylin/apache-kylin-2.6.0/apache-kylin-2.6.0-bin-cdh57.tar.gz.sha256";>sha256</a>]</li>
     </ul>
   </li>
+  <li>Hadoop 3 二进制包:
+    <ul>
+      <li>for Hadoop 3.1 + HBase 2.0 (includes Hortonworks HDP 3.0) - <a 
href="https://dist.apache.org/repos/dist/dev/kylin/apache-kylin-2.6.0-rc1/apache-kylin-2.6.0-bin-hadoop3.tar.gz";>apache-kylin-2.6.0-bin-hadoop3.tar.gz</a>
 [<a 
href="https://dist.apache.org/repos/dist/dev/kylin/apache-kylin-2.6.0-rc1/apache-kylin-2.6.0-bin-hadoop3.tar.gz.asc";>asc</a>]
 [<a 
href="https://dist.apache.org/repos/dist/dev/kylin/apache-kylin-2.6.0-rc1/apache-kylin-2.6.0-bin-hadoop3.tar.gz.sha256";>sha256</a>]</li>
+      <li>for CDH 6.0/6.1 - <a 
href="https://dist.apache.org/repos/dist/dev/kylin/apache-kylin-2.6.0-rc1/apache-kylin-2.6.0-bin-cdh60.tar.gz";>apache-kylin-2.6.0-bin-cdh60.tar.gz</a>
 [<a 
href="https://dist.apache.org/repos/dist/dev/kylin/apache-kylin-2.6.0-rc1/apache-kylin-2.6.0-bin-cdh60.tar.gz.asc";>asc</a>]
 [<a 
href="https://dist.apache.org/repos/dist/dev/kylin/apache-kylin-2.6.0-rc1/apache-kylin-2.6.0-bin-cdh60.tar.gz.sha256";>sha256</a>]</li>
+    </ul>
+  </li>
 </ul>
 
 <h4 id="v252">v2.5.2</h4>

Modified: kylin/site/download/index.html
URL: 
http://svn.apache.org/viewvc/kylin/site/download/index.html?rev=1851604&r1=1851603&r2=1851604&view=diff
==============================================================================
--- kylin/site/download/index.html (original)
+++ kylin/site/download/index.html Fri Jan 18 07:20:49 2019
@@ -6038,12 +6038,18 @@ var _hmt = _hmt || [];
   <li>This is a major release after 2.5, with 94 bug fixes and enhancement. 
Check the release notes.</li>
   <li><a href="/docs/release_notes.html">Release notes</a> and <a 
href="/docs/howto/howto_upgrade.html">upgrade guide</a></li>
   <li>Source download: <a 
href="https://www.apache.org/dyn/closer.cgi/kylin/apache-kylin-2.6.0/apache-kylin-2.6.0-source-release.zip";>apache-kylin-2.6.0-source-release.zip</a>
 [<a 
href="https://www.apache.org/dist/kylin/apache-kylin-2.6.0/apache-kylin-2.6.0-source-release.zip.asc";>asc</a>]
 [<a 
href="https://www.apache.org/dist/kylin/apache-kylin-2.6.0/apache-kylin-2.6.0-source-release.zip.sha256";>sha256</a>]</li>
-  <li>Binary download:
+  <li>Binary for Hadoop 2 download:
     <ul>
       <li>for HBase 1.x (includes HDP 2.3+, AWS EMR 5.0+, Azure HDInsight 3.4 
- 3.6) - <a 
href="https://www.apache.org/dyn/closer.cgi/kylin/apache-kylin-2.6.0/apache-kylin-2.6.0-bin-hbase1x.tar.gz";>apache-kylin-2.6.0-bin-hbase1x.tar.gz</a>
 [<a 
href="https://www.apache.org/dist/kylin/apache-kylin-2.6.0/apache-kylin-2.6.0-bin-hbase1x.tar.gz.asc";>asc</a>]
 [<a 
href="https://www.apache.org/dist/kylin/apache-kylin-2.6.0/apache-kylin-2.6.0-bin-hbase1x.tar.gz.sha256";>sha256</a>]</li>
       <li>for CDH 5.7+ - <a 
href="https://www.apache.org/dyn/closer.cgi/kylin/apache-kylin-2.6.0/apache-kylin-2.6.0-bin-cdh57.tar.gz";>apache-kylin-2.6.0-bin-cdh57.tar.gz</a>
 [<a 
href="https://www.apache.org/dist/kylin/apache-kylin-2.6.0/apache-kylin-2.6.0-bin-cdh57.tar.gz.asc";>asc</a>]
 [<a 
href="https://www.apache.org/dist/kylin/apache-kylin-2.6.0/apache-kylin-2.6.0-bin-cdh57.tar.gz.sha256";>sha256</a>]</li>
     </ul>
   </li>
+  <li>Binary for Hadoop 3 download:
+    <ul>
+      <li>for Hadoop 3.1 + HBase 2.0 (includes Hortonworks HDP 3.0) - <a 
href="https://dist.apache.org/repos/dist/dev/kylin/apache-kylin-2.6.0-rc1/apache-kylin-2.6.0-bin-hadoop3.tar.gz";>apache-kylin-2.6.0-bin-hadoop3.tar.gz</a>
 [<a 
href="https://dist.apache.org/repos/dist/dev/kylin/apache-kylin-2.6.0-rc1/apache-kylin-2.6.0-bin-hadoop3.tar.gz.asc";>asc</a>]
 [<a 
href="https://dist.apache.org/repos/dist/dev/kylin/apache-kylin-2.6.0-rc1/apache-kylin-2.6.0-bin-hadoop3.tar.gz.sha256";>sha256</a>]</li>
+      <li>for CDH 6.0/6.1 - <a 
href="https://dist.apache.org/repos/dist/dev/kylin/apache-kylin-2.6.0-rc1/apache-kylin-2.6.0-bin-cdh60.tar.gz";>apache-kylin-2.6.0-bin-cdh60.tar.gz</a>
 [<a 
href="https://dist.apache.org/repos/dist/dev/kylin/apache-kylin-2.6.0-rc1/apache-kylin-2.6.0-bin-cdh60.tar.gz.asc";>asc</a>]
 [<a 
href="https://dist.apache.org/repos/dist/dev/kylin/apache-kylin-2.6.0-rc1/apache-kylin-2.6.0-bin-cdh60.tar.gz.sha256";>sha256</a>]</li>
+    </ul>
+  </li>
 </ul>
 
 <h4 id="v252">v2.5.2</h4>


Reply via email to