Modified: kylin/site/feed.xml URL: http://svn.apache.org/viewvc/kylin/site/feed.xml?rev=1857583&r1=1857582&r2=1857583&view=diff ============================================================================== --- kylin/site/feed.xml (original) +++ kylin/site/feed.xml Mon Apr 15 14:22:27 2019 @@ -19,82 +19,156 @@ <description>Apache Kylin Home</description> <link>http://kylin.apache.org/</link> <atom:link href="http://kylin.apache.org/feed.xml" rel="self" type="application/rss+xml"/> - <pubDate>Sun, 14 Apr 2019 06:59:26 -0700</pubDate> - <lastBuildDate>Sun, 14 Apr 2019 06:59:26 -0700</lastBuildDate> + <pubDate>Mon, 15 Apr 2019 07:02:01 -0700</pubDate> + <lastBuildDate>Mon, 15 Apr 2019 07:02:01 -0700</lastBuildDate> <generator>Jekyll v2.5.3</generator> <item> - <title>Apache Kylin v2.6.0 Release Announcement</title> - <description><p>The Apache Kylin community is pleased to announce the release of Apache Kylin v2.6.0.</p> + <title>Real-time Streaming Design in Apache Kylin</title> + <description><h2 id="why-build-real-time-streaming-in-kylin">Why Build Real-time Streaming in Kylin</h2> +<p>The real-time streaming feature is contributed by eBay big data team in Kylin 3.0, the purpose we build real-time streaming is:</p> -<p>Apache Kylin is an open source Distributed Analytics Engine designed to provide SQL interface and multi-dimensional analysis (OLAP) on Big Data supporting extremely large datasets.</p> +<ul> + <li> + <p>Milliseconds Data Preparation Delay <br /> +Kylin provide sub-second query latency for extremely large dataset, the underly magic is precalculation cube. But the cube building often take long time(usually hours for large data sets), in some case, the analyst needs real-time data to do analysis, so we want to provide real-time OLAP, which means data can be queried immediately when produced to system.</p> + </li> + <li> + <p>Support Lambda Architecture <br /> +Real-time data often not reliable, that may caused by many reasons, for example, the upstream processing system has a bug, or the data need to be changed after some time, etc. So we need to support lambda architecture, which means the cube can be built from the streaming source(like Kafka), and the historical cube data can be refreshed from batch source(like Hive).</p> + </li> + <li> + <p>Less MR jobs and HBase Tables <br /> +Since Kylin 1.6, community has provided a streaming solution, it uses MR to consume Kafka data and then do batch cube building, it can provide minute-level data preparation latency, but to ensure the data latency, you need to schedule the MR very shortly(5 minutes or even less), that will cause too many hadoop jobs and small hbase tables in the system, and dramatically increase the Hadoop systemâs load.</p> + </li> +</ul> -<p>This is a major release after 2.5.0, including many enhancements. All of the changes can be found in the <a href="https://kylin.apache.org/docs/release_notes.html">release notes</a>. Here just highlight the major ones:</p> +<h2 id="architecture">Architecture</h2> -<h3 id="sdk-for-jdbc-sources">SDK for JDBC sources</h3> -<p>Apache Kylin has already supported several data sources like Amazon Redshift, SQL Server through JDBC. <br /> -To help developers handle SQL dialect differences and easily implement a new data source through JDBC, Kylin provides a new data source SDK with APIs for:<br /> -* Synchronize metadata and data from JDBC source<br /> -* Build cube from JDBC source<br /> -* Query pushdown to JDBC source engine when cube is unmatched</p> +<p><img src="/images/blog/rt_stream_architecture.png" alt="Kylin RT Streaming Architecture" /></p> -<p>Check KYLIN-3552 for more.</p> +<p>The blue rectangle is streaming components added in current Kylinâs architecture, which is responsible to ingest data from streaming source, and provide query for real-time data.</p> -<h3 id="memcached-as-distributed-cache">Memcached as distributed cache</h3> -<p>In the past, query caches are not efficiently used in Kylin due to two aspects: aggressive cache expiration strategy and local cache. <br /> -Because of the aggressive cache expiration strategy, useful caches are often cleaned up unnecessarily. <br /> -Because query caches are stored in local servers, they cannot be shared between servers. <br /> -And because of the size limitation of local cache, not all useful query results can be cached.</p> +<p>We divide the unbounded incoming streaming data into 3 stages, the data come into different stages are all queryable immediately.</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. <br /> -And itâs easy to add memcached servers to scale out distributed cache. With enough memcached servers, we can cached things as much as possible. <br /> -Then we also introduce segment level query cache which can not only speed up query but also reduce the rpcs to HBase. <br /> -The related tasks are KYLIN-2895, KYLIN-2894, KYLIN-2896, KYLIN-2897, KYLIN-2898, KYLIN-2899.</p> +<p><img src="/images/blog/rt_stream_stages.png" alt="Kylin RT Streaming stages" /></p> -<h3 id="forkjoinpool-for-fast-cubing">ForkJoinPool for fast cubing</h3> -<p>In the past, fast cubing uses split threads, task threads and main thread to do the cube building, there is complex join and error handling logic.</p> +<h3 id="components">Components</h3> -<p>The new implement leverages the ForkJoinPool from JDK, the event split logic is handled in<br /> -main thread. Cuboid task and sub-tasks are handled in fork join pool, cube results are collected<br /> -async and can be write to output earlier. Check KYLIN-2932 for more.</p> +<p><img src="/images/blog/rt_stream_components.png" alt="Kylin RT Streaming Components" /></p> -<h3 id="improve-hllcounter-performance">Improve HLLCounter performance</h3> -<p>In the past, the way to create HLLCounter and to compute harmonic mean are not efficient.</p> +<p>Streaming Receiver: Responsible to ingest data from stream data source, and provide real-time data query.</p> -<p>The new implement improve the HLLCounter creation by copy register from another HLLCounter instead of merge. To compute harmonic mean in the HLLCSnapshot, it does the enhancement by <br /> -* using table to cache all 1/2^r without computing on the fly<br /> -* remove floating addition by using integer addition in the bigger loop<br /> -* remove branch, e.g. neednât checking whether registers[i] is zero or not, although this is minor improvement.</p> +<p>Streaming Coordinator: Responsible to do coordination works, for example, when new streaming cube is onboard, the coordinator need to decide which streaming receivers can be assigned.</p> -<p>Check KYLIN-3656 for more.</p> +<p>Metadata Store: Used to store streaming related metadata, for example, the cube assignments information, cube build state information.</p> -<h3 id="improve-cuboid-recommendation-algorithm">Improve Cuboid Recommendation Algorithm</h3> -<p>In the past, to add cuboids which are not prebuilt, the cube planner turns to mandatory cuboids which are selected if its rollup row count is above some threshold. <br /> -There are two shortcomings:<br /> -* The way to estimate the rollup row count is not good<br /> -* Itâs hard to determine the threshold of rollup row count for recommending mandatory cuboids</p> +<p>Query Engine: Extend the existing query engine, support to query real-time data from streaming receiver</p> -<p>The new implement improves the way to estimate the row count of un-prebuilt cuboids by rollup ratio rather than exact rollup row count. <br /> -With better estimated row counts for un-prebuilt cuboids, the cost-based cube planner algorithm will decide which cuboid to be built or not and the threshold for previous mandatory cuboids is not needed. <br /> -By this improvement, we donât need the threshold for mandatory cuboids recommendation, and mandatory cuboids can only be manually set and will not be recommended. Check KYLIN-3540 for more.</p> +<p>Build Engine: Extend the existing build engine, support to build full cube from the real-time data</p> -<p><strong>Download</strong></p> +<h3 id="how-streaming-cube-engine-works">How Streaming Cube Engine Works</h3> -<p>To download Apache Kylin v2.6.0 source code or binary package, visit the <a href="http://kylin.apache.org/download">download</a> page.</p> +<p><img src="/images/blog/rt_stream_how_build_work.png" alt="Kylin RT Streaming How Build Works" /></p> -<p><strong>Upgrade</strong></p> +<ol> + <li>Coordinator ask streaming source for all partitions of the cube</li> + <li>Coordinator decide which streaming receivers to assign to consume streaming data, and ask streaming receivers to start consuming data.</li> + <li>Streaming receiver start to consume and index streaming events</li> + <li>After sometime, streaming receiver copy the immutable segments from local files to remote HDFS files</li> + <li>Streaming receiver notify the coordinator that a segment has been persisted to HDFS</li> + <li>Coordinator submit a cube build job to Build Engine to triger cube full building after all receivers have submitted their segments</li> + <li>Build Engine build all cuboids from the streaming HDFS files</li> + <li>Build Engine store cuboid data to Hbase, and then the coordinator will ask the streaming receivers to remove the related local real-time data.</li> +</ol> -<p>Follow the <a href="/docs/howto/howto_upgrade.html">upgrade guide</a>.</p> +<h3 id="how-streaming-query-engine-works">How Streaming Query Engine Works</h3> -<p><strong>Feedback</strong></p> +<p><img src="/images/blog/rt_stream_how_query_work.png" alt="Kylin RT Streaming How Query Works" /></p> -<p>If you face issue or question, please send mail to Apache Kylin dev or user mailing list: d...@kylin.apache.org , u...@kylin.apache.org; Before sending, please make sure you have subscribed the mailing list by dropping an email to dev-subscr...@kylin.apache.org or user-subscr...@kylin.apache.org.</p> +<ol> + <li>If Query hits a streaming cube, Query Engine ask Streaming Coordinator what streaming receivers are assigned for the cube</li> + <li>Query Engine send query request to related streaming receivers to query realtime segments</li> + <li>Query Engine send query request to Hbase to query historical segments</li> + <li>Query Engine aggregate the query results, and send response back to client</li> +</ol> -<p><em>Great thanks to everyone who contributed!</em></p> +<h2 id="detail-design">Detail Design</h2> + +<h3 id="real-time-segment-store">Real-time Segment Store</h3> +<p>Real-time segments are divided by event time, when new event comes, it will be calculated which segment it will be located, if the segment doesnât exist, create a new one.</p> + +<p>The new created segment is in âActiveâ state first, if no further events coming into the segment after some preconfigured period, the segment state will be changed to âImmutableâ, and then write to remote HDFS.</p> + +<p><img src="/images/blog/rt_stream_rt_segment_state.png" alt="Kylin RT Streaming Segment State" /></p> + +<p>Each real-time segment has a memory store, new event will first goes into the memory store to do aggregation, when the memory store size reaches the configured threshold, it will be then be flushed to local disk as a fragment file.</p> + +<p>Not all cuboids are built in the receiver side, only basic cuboid and some specified cuboids are built.</p> + +<p>The data is stored as columnar format on disk, and when there are too many fragments on disk, the fragment files will be merged by a background thread automatically.</p> + +<p>The directory structure in receiver side is like:</p> + +<p><img src="/images/blog/rt_stream_dir_structure.png" alt="Kylin RT Streaming Segment Directory" /></p> + +<p>To improve the query performance, the data is stored in columnar format, the data format is like:</p> + +<p><img src="/images/blog/rt_stream_columnar_format.png" alt="Kylin RT Streaming Columnar Format" /></p> + +<p>Each cuboid data is stored together, and in each cuboid the data is stored column by column, the metadata is stored in json format.</p> + +<p>The dimension data is divided into 3 parts:</p> + +<p>The first part is Dictionary part, this part exists when the dimension encoding is set to âDictâ in cube design, by default we use <a href="https://kylin.apache.org/blog/2015/08/13/kylin-dictionary/">tri-tree dictionary</a> to minimize the memory footprints and preserve the original order.</p> + +<p>The second part is dictionary encoded values, additional compression mechanism can be applied to these values, since the values for the same column are usually similar, so the compression rate will be very good.</p> + +<p>The third part is invert-index data, use Roaring Bitmap to store the invert-index info, the following picture shows how invert-index data is stored, there are two types of format, the first one is dictionary encoding dimensionâs index data format, the second is other fix-len encoding dimensionâs index data format.</p> + +<p><img src="/images/blog/rt_stream_invertindex_format.png" alt="Kylin RT Streaming InvertIndex Format" /></p> + +<p>Real-time data is stored in compressed format, currently support two type compression: Run Length Encoding and LZ4.</p> + +<ul> + <li>Use RLE compression for time-related dim and first dim</li> + <li>Use LZ4 for other dimensions by default</li> + <li>Use LZ4 Compression for simple-type measure(long, double)</li> + <li>No compression for complex measure(count distinct, topn, etc.)</li> +</ul> + +<h3 id="high-availability">High Availability</h3> + +<p>Streaming receivers are group into replica-sets, all receivers in the same replica-set share the same assignments, so that when one receiver is down, the query and event consuming will not be impacted.</p> + +<p>In each replica-set, there is a lead responsible to upload real-time segments to HDFS, and zookeeper is used to do leader election</p> + +<h3 id="failure-recovery">Failure Recovery</h3> + +<p>We do checkpoint periodically in receiver side, so that when the receiver is restarted, the data can be restored correctly.</p> + +<p>There are two parts in the checkpoint: the first part is the streaming source consume info, for Kafka it is {partition:offset} pairs, the second part is disk states {segment:framentID} pairs, which means when do the checkpoint whatâs the max fragmentID for each segment.</p> + +<p>When receiver is restarted, it will check the latest checkpoint, set the Kafka consumer to start to consume data from specified partition offsets, and remove the fragment files that the fragmentID is larger than the checkpointed fragmentID on the disk.</p> + +<p>Besides the local checkpoint, we also have remote checkpoint, to restore the state when the disk is crashed, the remote checkpoint is saved to Cube Segment metadata after HBase segment build, like:<br /> +<code class="highlighter-rouge"> + âsegmentsâ:[{â¦, + "stream_source_checkpoint": {"0":8946898241, â1â: 8193859535, ...} + }, + ] +</code><br /> +The checkpoint info is the smallest partition offsets on the streaming receiver when real-time segment is sent to full build.</p> + +<h2 id="future">Future</h2> +<ul> + <li>Star Schema Support</li> + <li>Streaming Receiver On Kubernetes/Yarn</li> +</ul> </description> - <pubDate>Fri, 18 Jan 2019 12:00:00 -0800</pubDate> - <link>http://kylin.apache.org/blog/2019/01/18/release-v2.6.0/</link> - <guid isPermaLink="true">http://kylin.apache.org/blog/2019/01/18/release-v2.6.0/</guid> + <pubDate>Fri, 12 Apr 2019 09:30:00 -0700</pubDate> + <link>http://kylin.apache.org/blog/2019/04/12/rt-streaming-design/</link> + <guid isPermaLink="true">http://kylin.apache.org/blog/2019/04/12/rt-streaming-design/</guid> <category>blog</category> @@ -181,6 +255,84 @@ By this improvement, we donât need </item> <item> + <title>Apache Kylin v2.6.0 Release Announcement</title> + <description><p>The Apache Kylin community is pleased to announce the release of Apache Kylin v2.6.0.</p> + +<p>Apache Kylin is an open source Distributed Analytics Engine designed to provide SQL interface and multi-dimensional analysis (OLAP) on Big Data supporting extremely large datasets.</p> + +<p>This is a major release after 2.5.0, including many enhancements. All of the changes can be found in the <a href="https://kylin.apache.org/docs/release_notes.html">release notes</a>. Here just highlight the major ones:</p> + +<h3 id="sdk-for-jdbc-sources">SDK for JDBC sources</h3> +<p>Apache Kylin has already supported several data sources like Amazon Redshift, SQL Server through JDBC. <br /> +To help developers handle SQL dialect differences and easily implement a new data source through JDBC, Kylin provides a new data source SDK with APIs for:<br /> +* Synchronize metadata and data from JDBC source<br /> +* Build cube from JDBC source<br /> +* Query pushdown to JDBC source engine when cube is unmatched</p> + +<p>Check KYLIN-3552 for more.</p> + +<h3 id="memcached-as-distributed-cache">Memcached as distributed cache</h3> +<p>In the past, query caches are not efficiently used in Kylin due to two aspects: aggressive cache expiration strategy and local cache. <br /> +Because of the aggressive cache expiration strategy, useful caches are often cleaned up unnecessarily. <br /> +Because query caches are stored in local servers, they cannot be shared between servers. <br /> +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. <br /> +And itâs easy to add memcached servers to scale out distributed cache. With enough memcached servers, we can cached things as much as possible. <br /> +Then we also introduce segment level query cache which can not only speed up query but also reduce the rpcs to HBase. <br /> +The related tasks are KYLIN-2895, KYLIN-2894, KYLIN-2896, KYLIN-2897, KYLIN-2898, KYLIN-2899.</p> + +<h3 id="forkjoinpool-for-fast-cubing">ForkJoinPool for fast cubing</h3> +<p>In the past, fast cubing uses split threads, task threads and main thread to do the cube building, there is complex join and error handling logic.</p> + +<p>The new implement leverages the ForkJoinPool from JDK, the event split logic is handled in<br /> +main thread. Cuboid task and sub-tasks are handled in fork join pool, cube results are collected<br /> +async and can be write to output earlier. Check KYLIN-2932 for more.</p> + +<h3 id="improve-hllcounter-performance">Improve HLLCounter performance</h3> +<p>In the past, the way to create HLLCounter and to compute harmonic mean are not efficient.</p> + +<p>The new implement improve the HLLCounter creation by copy register from another HLLCounter instead of merge. To compute harmonic mean in the HLLCSnapshot, it does the enhancement by <br /> +* using table to cache all 1/2^r without computing on the fly<br /> +* remove floating addition by using integer addition in the bigger loop<br /> +* remove branch, e.g. neednât checking whether registers[i] is zero or not, although this is minor improvement.</p> + +<p>Check KYLIN-3656 for more.</p> + +<h3 id="improve-cuboid-recommendation-algorithm">Improve Cuboid Recommendation Algorithm</h3> +<p>In the past, to add cuboids which are not prebuilt, the cube planner turns to mandatory cuboids which are selected if its rollup row count is above some threshold. <br /> +There are two shortcomings:<br /> +* The way to estimate the rollup row count is not good<br /> +* Itâs hard to determine the threshold of rollup row count for recommending mandatory cuboids</p> + +<p>The new implement improves the way to estimate the row count of un-prebuilt cuboids by rollup ratio rather than exact rollup row count. <br /> +With better estimated row counts for un-prebuilt cuboids, the cost-based cube planner algorithm will decide which cuboid to be built or not and the threshold for previous mandatory cuboids is not needed. <br /> +By this improvement, we donât need the threshold for mandatory cuboids recommendation, and mandatory cuboids can only be manually set and will not be recommended. Check KYLIN-3540 for more.</p> + +<p><strong>Download</strong></p> + +<p>To download Apache Kylin v2.6.0 source code or binary package, visit the <a href="http://kylin.apache.org/download">download</a> page.</p> + +<p><strong>Upgrade</strong></p> + +<p>Follow the <a href="/docs/howto/howto_upgrade.html">upgrade guide</a>.</p> + +<p><strong>Feedback</strong></p> + +<p>If you face issue or question, please send mail to Apache Kylin dev or user mailing list: d...@kylin.apache.org , u...@kylin.apache.org; Before sending, please make sure you have subscribed the mailing list by dropping an email to dev-subscr...@kylin.apache.org or user-subscr...@kylin.apache.org.</p> + +<p><em>Great thanks to everyone who contributed!</em></p> +</description> + <pubDate>Fri, 18 Jan 2019 12:00:00 -0800</pubDate> + <link>http://kylin.apache.org/blog/2019/01/18/release-v2.6.0/</link> + <guid isPermaLink="true">http://kylin.apache.org/blog/2019/01/18/release-v2.6.0/</guid> + + + <category>blog</category> + + </item> + + <item> <title>How Cisco's Big Data Team Improved the High Concurrent Throughput of Apache Kylin by 5x</title> <description><h2 id="background">Background</h2> @@ -702,6 +854,70 @@ Graphic 10 Process of Querying Cube</ </item> <item> + <title>Apache Kylin v2.5.0 æ£å¼åå¸</title> + <description><p>è¿æ¥Apache Kylin 社åºå¾é«å ´å°å®£å¸ï¼Apache Kylin 2.5.0 æ£å¼åå¸ã</p> + +<p>Apache Kylin æ¯ä¸ä¸ªå¼æºçåå¸å¼åæå¼æï¼æ¨å¨ä¸ºæå¤§æ°æ®éæä¾ SQL æ¥å£åå¤ç»´åæï¼OLAPï¼çè½åã</p> + +<p>è¿æ¯ç»§2.4.0 åçä¸ä¸ªæ°åè½çæ¬ãè¯¥çæ¬å¼å ¥äºå¾å¤æä»·å¼çæ¹è¿ï¼å®æ´çæ¹å¨å表请åè§<a href="https://kylin.apache.org/docs/release_notes.html">release notes</a>ï¼è¿éæä¸äºä¸»è¦æ¹è¿å说æï¼</p> + +<h3 id="all-in-spark--cubing-">All-in-Spark ç Cubing 弿</h3> +<p>Kylin ç Spark 弿å°ä½¿ç¨ Spark è¿è¡ cube 计ç®ä¸çææåå¸å¼ä½ä¸ï¼å æ¬è·åå个维度çä¸åå¼ï¼å° cuboid æä»¶è½¬æ¢ä¸º HBase HFileï¼åå¹¶ segmentï¼åå¹¶è¯å ¸çãé»è®¤ç Spark é ç½®ä¹ç»è¿ä¼åï¼ä½¿å¾ç¨æ·å¯ä»¥è·å¾å¼ç®±å³ç¨çä½éªãç¸å ³å¼å任塿¯ KYLIN-3427, KYLIN-3441, KYLIN-3442.</p> + +<p>Spark ä»»å¡ç®¡çä¹æææ¹è¿ï¼ä¸æ¦ Spark ä»»å¡å¼å§è¿è¡ï¼æ¨å°±å¯ä»¥å¨Webæ§å¶å°ä¸è·å¾ä½ä¸é¾æ¥ï¼å¦ææ¨ä¸¢å¼è¯¥ä½ä¸ï¼Kylin å°ç«å»ç»æ¢ Spark ä½ä¸ä»¥åæ¶éæ¾èµæºï¼å¦æéæ°å¯å¨ Kylinï¼å®å¯ä»¥ä»ä¸ä¸ä¸ªä½ä¸æ¢å¤ï¼è䏿¯éæ°æäº¤æ°ä½ä¸.</p> + +<h3 id="mysql--kylin-">MySQL å Kylin å æ°æ®çåå¨</h3> +<p>å¨è¿å»ï¼HBase æ¯ Kylin å æ°æ®åå¨çå¯ä¸éæ©ã å¨æäºæ åµä¸ HBaseä¸éç¨ï¼ä¾å¦ä½¿ç¨å¤ä¸ª HBase é群æ¥ä¸º Kylin æä¾è·¨åºåçé«å¯ç¨ï¼è¿éå¤å¶ç HBase é群æ¯åªè¯»çï¼æä»¥ä¸è½åå æ°æ®åå¨ãç°å¨æä»¬å¼å ¥äº MySQL Metastore 以满足è¿ç§éæ±ãæ¤åè½ç°å¨å¤äºæµè¯é¶æ®µãæ´å¤å 容åè§ KYLIN-3488ã</p> + +<h3 id="hybrid-model-">Hybrid model å¾å½¢çé¢</h3> +<p>Hybrid æ¯ä¸ç§ç¨äºç»è£ å¤ä¸ª cube çé«çº§æ¨¡åã å®å¯ç¨äºæ»¡è¶³ cube ç schema è¦åçæ¹åçæ åµãè¿ä¸ªåè½è¿å»æ²¡æå¾å½¢çé¢ï¼å æ¤åªæä¸å°é¨åç¨æ·ç¥éå®ãç°å¨æä»¬å¨ Web çé¢ä¸å¼å¯äºå®ï¼ä»¥ä¾¿æ´å¤ç¨æ·å¯ä»¥å°è¯ã</p> + +<h3 id="cube-planner">é»è®¤å¼å¯ Cube planner</h3> +<p>Cube planner å¯ä»¥æå¤§å°ä¼å cube ç»æï¼åå°æå»ºç cuboid æ°éï¼ä»èèç计ç®/åå¨èµæºå¹¶æé«æ¥è¯¢æ§è½ã宿¯å¨v2.3ä¸å¼å ¥çï¼ä½é»è®¤æ åµä¸æ²¡æå¼å¯ã为äºè®©æ´å¤ç¨æ·çå°å¹¶å°è¯å®ï¼æä»¬é»è®¤å¨v2.5ä¸å¯ç¨å®ã ç®æ³å°å¨ç¬¬ä¸æ¬¡æå»º segment çæ¶åï¼æ ¹æ®æ°æ®ç»è®¡èªå¨ä¼å cuboid éå.</p> + +<h3 id="segment-">æ¹è¿ç Segment åªæ</h3> +<p>Segmentï¼ååºï¼ä¿®åªå¯ä»¥ææå°åå°ç£çåç½ç»I / Oï¼å æ¤å¤§å¤§æé«äºæ¥è¯¢æ§è½ã è¿å»ï¼Kylin åªæååºå (partition date column) çå¼è¿è¡ segment çä¿®åªã 妿æ¥è¯¢ä¸æ²¡æå°ååºåä½ä¸ºè¿æ»¤æ¡ä»¶ï¼é£ä¹ä¿®åªå°ä¸èµ·ä½ç¨ï¼ä¼æ«æææsegmentã.<br /> +ç°å¨ä»v2.5å¼å§ï¼Kylin å°å¨ segment 级å«è®°å½æ¯ä¸ªç»´åº¦çæå°/æå¤§å¼ã 卿«æ segment ä¹åï¼ä¼å°æ¥è¯¢çæ¡ä»¶ä¸æå°/æå¤§ç´¢å¼è¿è¡æ¯è¾ã 妿ä¸å¹é ï¼å°è·³è¿è¯¥ segmentã æ£æ¥KYLIN-3370äºè§£æ´å¤ä¿¡æ¯ã</p> + +<h3 id="yarn-">å¨ YARN ä¸åå¹¶åå ¸</h3> +<p>å½ segment åå¹¶æ¶ï¼å®ä»¬çè¯å ¸ä¹éè¦åå¹¶ãå¨è¿å»ï¼åå ¸åå¹¶åçå¨ Kylin ç JVM ä¸ï¼è¿éè¦ä½¿ç¨å¤§éçæ¬å°å åå CPU èµæºã å¨æç«¯æ åµä¸ï¼å¦ææå 个并åä½ä¸ï¼ï¼å¯è½ä¼å¯¼è´ Kylin è¿ç¨å´©æºã å æ¤ï¼ä¸äºç¨æ·ä¸å¾ä¸ä¸º Kylin ä»»å¡èç¹åé æ´å¤å åï¼æè¿è¡å¤ä¸ªä»»å¡èç¹ä»¥å¹³è¡¡å·¥ä½è´è½½ã<br /> +ç°å¨ä»v2.5å¼å§ï¼Kylin å°æè¿é¡¹ä»»å¡æäº¤ç» Hadoop MapReduce å Sparkï¼è¿æ ·å°±å¯ä»¥è§£å³è¿ä¸ªç¶é¢é®é¢ã æ¥çKYLIN-3471äºè§£æ´å¤ä¿¡æ¯.</p> + +<h3 id="cube-">æ¹è¿ä½¿ç¨å ¨å±åå ¸ç cube æå»ºæ§è½</h3> +<p>å ¨å±åå ¸ (Global Dictionary) æ¯ bitmap 精确å»é计æ°çå¿ è¦æ¡ä»¶ã妿å»éåå ·æé常é«çåºæ°ï¼å GD å¯è½é常大ãå¨ cube æå»ºé¶æ®µï¼Kylin éè¦éè¿ GD å°éæ´æ°å¼è½¬æ¢ä¸ºæ´æ°ã尽管 GD 已被åæå¤ä¸ªåçï¼å¯ä»¥åå¼å è½½å°å åï¼ä½æ¯ç±äºå»éåç弿¯ä¹±åºçãKylin éè¦åå¤è½½å ¥åè½½åº(swap in/out)åçï¼è¿ä¼å¯¼è´æå»ºä»»å¡éå¸¸ç¼æ ¢ã<br /> +该å¢å¼ºåè½å¼å ¥äºä¸ä¸ªæ°æ¥éª¤ï¼ä¸ºæ¯ä¸ªæ°æ®åä»å ¨å±åå ¸ä¸æå»ºä¸ä¸ªç¼©å°çåå ¸ã éåæ¯ä¸ªä»»å¡åªéè¦å 载缩å°çåå ¸ï¼ä»èé¿å é¢ç¹çè½½å ¥åè½½åºãæ§è½å¯ä»¥æ¯ä»¥åå¿«3åãæ¥ç KYLIN-3491 äºè§£æ´å¤ä¿¡æ¯.</p> + +<h3 id="topn-count-distinct--cube-">æ¹è¿å« TOPN, COUNT DISTINCT ç cube 大å°ç估计</h3> +<p>Cube ç大å°å¨æå»ºæ¶æ¯é¢å 估计çï¼å¹¶è¢«åç»å 个æ¥éª¤ä½¿ç¨ï¼ä¾å¦å³å® MR / Spark ä½ä¸çååºæ°ï¼è®¡ç® HBase region åå²çãå®çåç¡®ä¸å¦ä¼å¯¹æå»ºæ§è½äº§çå¾å¤§å½±åã å½åå¨ COUNT DISTINCTï¼TOPN çåº¦éæ¶åï¼å 为å®ä»¬ç大尿¯çµæ´»çï¼å æ¤ä¼°è®¡å¼å¯è½è·çå®å¼æå¾å¤§åå·®ã å¨è¿å»ï¼ç¨æ·éè¦è°æ´è¥å¹²ä¸ªåæ°ä»¥ä½¿å°ºå¯¸ä¼°è®¡æ´æ¥è¿å®é 尺寸ï¼è¿å¯¹æ®éç¨æ·æç¹å°é¾ã<br /> +ç°å¨ï¼Kylin å°æ ¹æ®æ¶éçç»è®¡ä¿¡æ¯èªå¨è°æ´å¤§å°ä¼°è®¡ãè¿å¯ä»¥ä½¿ä¼°è®¡å¼ä¸å®é 大尿´æ¥è¿ãæ¥ç KYLIN-3453 äºè§£æ´å¤ä¿¡æ¯ã</p> + +<h3 id="hadoop-30hbase-20">æ¯æHadoop 3.0/HBase 2.0</h3> +<p>Hadoop 3å HBase 2å¼å§è¢«è®¸å¤ç¨æ·éç¨ãç°å¨ Kylin æä¾ä½¿ç¨æ°ç Hadoop å HBase API ç¼è¯çæ°äºè¿å¶å ãæä»¬å·²ç»å¨ Hortonworks HDP 3.0 å Cloudera CDH 6.0 ä¸è¿è¡äºæµè¯</p> + +<p><strong>ä¸è½½</strong></p> + +<p>è¦ä¸è½½Apache Kylin v2.5.0æºä»£ç æäºè¿å¶å ï¼è¯·è®¿é®<a href="http://kylin.apache.org/download">ä¸è½½é¡µé¢</a> .</p> + +<p><strong>å级</strong></p> + +<p>åè<a href="/docs/howto/howto_upgrade.html">å级æå</a>.</p> + +<p><strong>åé¦</strong></p> + +<p>妿æ¨éå°é®é¢æçé®ï¼è¯·åéé®ä»¶è³ Apache Kylin dev æ user é®ä»¶å表ï¼d...@kylin.apache.orgï¼u...@kylin.apache.org; å¨åéä¹åï¼è¯·ç¡®ä¿æ¨å·²éè¿åéçµåé®ä»¶è³ dev-subscr...@kylin.apache.org æ user-subscr...@kylin.apache.org订é äºé®ä»¶å表ã</p> + +<p><em>é常æè°¢ææè´¡ç®Apache Kylinçæå!</em></p> +</description> + <pubDate>Thu, 20 Sep 2018 13:00:00 -0700</pubDate> + <link>http://kylin.apache.org/cn/blog/2018/09/20/release-v2.5.0/</link> + <guid isPermaLink="true">http://kylin.apache.org/cn/blog/2018/09/20/release-v2.5.0/</guid> + + + <category>blog</category> + + </item> + + <item> <title>Apache Kylin v2.5.0 Release Announcement</title> <description><p>The Apache Kylin community is pleased to announce the release of Apache Kylin v2.5.0.</p> @@ -774,70 +990,6 @@ Graphic 10 Process of Querying Cube</ </item> <item> - <title>Apache Kylin v2.5.0 æ£å¼åå¸</title> - <description><p>è¿æ¥Apache Kylin 社åºå¾é«å ´å°å®£å¸ï¼Apache Kylin 2.5.0 æ£å¼åå¸ã</p> - -<p>Apache Kylin æ¯ä¸ä¸ªå¼æºçåå¸å¼åæå¼æï¼æ¨å¨ä¸ºæå¤§æ°æ®éæä¾ SQL æ¥å£åå¤ç»´åæï¼OLAPï¼çè½åã</p> - -<p>è¿æ¯ç»§2.4.0 åçä¸ä¸ªæ°åè½çæ¬ãè¯¥çæ¬å¼å ¥äºå¾å¤æä»·å¼çæ¹è¿ï¼å®æ´çæ¹å¨å表请åè§<a href="https://kylin.apache.org/docs/release_notes.html">release notes</a>ï¼è¿éæä¸äºä¸»è¦æ¹è¿å说æï¼</p> - -<h3 id="all-in-spark--cubing-">All-in-Spark ç Cubing 弿</h3> -<p>Kylin ç Spark 弿å°ä½¿ç¨ Spark è¿è¡ cube 计ç®ä¸çææåå¸å¼ä½ä¸ï¼å æ¬è·åå个维度çä¸åå¼ï¼å° cuboid æä»¶è½¬æ¢ä¸º HBase HFileï¼åå¹¶ segmentï¼åå¹¶è¯å ¸çãé»è®¤ç Spark é ç½®ä¹ç»è¿ä¼åï¼ä½¿å¾ç¨æ·å¯ä»¥è·å¾å¼ç®±å³ç¨çä½éªãç¸å ³å¼å任塿¯ KYLIN-3427, KYLIN-3441, KYLIN-3442.</p> - -<p>Spark ä»»å¡ç®¡çä¹æææ¹è¿ï¼ä¸æ¦ Spark ä»»å¡å¼å§è¿è¡ï¼æ¨å°±å¯ä»¥å¨Webæ§å¶å°ä¸è·å¾ä½ä¸é¾æ¥ï¼å¦ææ¨ä¸¢å¼è¯¥ä½ä¸ï¼Kylin å°ç«å»ç»æ¢ Spark ä½ä¸ä»¥åæ¶éæ¾èµæºï¼å¦æéæ°å¯å¨ Kylinï¼å®å¯ä»¥ä»ä¸ä¸ä¸ªä½ä¸æ¢å¤ï¼è䏿¯éæ°æäº¤æ°ä½ä¸.</p> - -<h3 id="mysql--kylin-">MySQL å Kylin å æ°æ®çåå¨</h3> -<p>å¨è¿å»ï¼HBase æ¯ Kylin å æ°æ®åå¨çå¯ä¸éæ©ã å¨æäºæ åµä¸ HBaseä¸éç¨ï¼ä¾å¦ä½¿ç¨å¤ä¸ª HBase é群æ¥ä¸º Kylin æä¾è·¨åºåçé«å¯ç¨ï¼è¿éå¤å¶ç HBase é群æ¯åªè¯»çï¼æä»¥ä¸è½åå æ°æ®åå¨ãç°å¨æä»¬å¼å ¥äº MySQL Metastore 以满足è¿ç§éæ±ãæ¤åè½ç°å¨å¤äºæµè¯é¶æ®µãæ´å¤å 容åè§ KYLIN-3488ã</p> - -<h3 id="hybrid-model-">Hybrid model å¾å½¢çé¢</h3> -<p>Hybrid æ¯ä¸ç§ç¨äºç»è£ å¤ä¸ª cube çé«çº§æ¨¡åã å®å¯ç¨äºæ»¡è¶³ cube ç schema è¦åçæ¹åçæ åµãè¿ä¸ªåè½è¿å»æ²¡æå¾å½¢çé¢ï¼å æ¤åªæä¸å°é¨åç¨æ·ç¥éå®ãç°å¨æä»¬å¨ Web çé¢ä¸å¼å¯äºå®ï¼ä»¥ä¾¿æ´å¤ç¨æ·å¯ä»¥å°è¯ã</p> - -<h3 id="cube-planner">é»è®¤å¼å¯ Cube planner</h3> -<p>Cube planner å¯ä»¥æå¤§å°ä¼å cube ç»æï¼åå°æå»ºç cuboid æ°éï¼ä»èèç计ç®/åå¨èµæºå¹¶æé«æ¥è¯¢æ§è½ã宿¯å¨v2.3ä¸å¼å ¥çï¼ä½é»è®¤æ åµä¸æ²¡æå¼å¯ã为äºè®©æ´å¤ç¨æ·çå°å¹¶å°è¯å®ï¼æä»¬é»è®¤å¨v2.5ä¸å¯ç¨å®ã ç®æ³å°å¨ç¬¬ä¸æ¬¡æå»º segment çæ¶åï¼æ ¹æ®æ°æ®ç»è®¡èªå¨ä¼å cuboid éå.</p> - -<h3 id="segment-">æ¹è¿ç Segment åªæ</h3> -<p>Segmentï¼ååºï¼ä¿®åªå¯ä»¥ææå°åå°ç£çåç½ç»I / Oï¼å æ¤å¤§å¤§æé«äºæ¥è¯¢æ§è½ã è¿å»ï¼Kylin åªæååºå (partition date column) çå¼è¿è¡ segment çä¿®åªã 妿æ¥è¯¢ä¸æ²¡æå°ååºåä½ä¸ºè¿æ»¤æ¡ä»¶ï¼é£ä¹ä¿®åªå°ä¸èµ·ä½ç¨ï¼ä¼æ«æææsegmentã.<br /> -ç°å¨ä»v2.5å¼å§ï¼Kylin å°å¨ segment 级å«è®°å½æ¯ä¸ªç»´åº¦çæå°/æå¤§å¼ã 卿«æ segment ä¹åï¼ä¼å°æ¥è¯¢çæ¡ä»¶ä¸æå°/æå¤§ç´¢å¼è¿è¡æ¯è¾ã 妿ä¸å¹é ï¼å°è·³è¿è¯¥ segmentã æ£æ¥KYLIN-3370äºè§£æ´å¤ä¿¡æ¯ã</p> - -<h3 id="yarn-">å¨ YARN ä¸åå¹¶åå ¸</h3> -<p>å½ segment åå¹¶æ¶ï¼å®ä»¬çè¯å ¸ä¹éè¦åå¹¶ãå¨è¿å»ï¼åå ¸åå¹¶åçå¨ Kylin ç JVM ä¸ï¼è¿éè¦ä½¿ç¨å¤§éçæ¬å°å åå CPU èµæºã å¨æç«¯æ åµä¸ï¼å¦ææå 个并åä½ä¸ï¼ï¼å¯è½ä¼å¯¼è´ Kylin è¿ç¨å´©æºã å æ¤ï¼ä¸äºç¨æ·ä¸å¾ä¸ä¸º Kylin ä»»å¡èç¹åé æ´å¤å åï¼æè¿è¡å¤ä¸ªä»»å¡èç¹ä»¥å¹³è¡¡å·¥ä½è´è½½ã<br /> -ç°å¨ä»v2.5å¼å§ï¼Kylin å°æè¿é¡¹ä»»å¡æäº¤ç» Hadoop MapReduce å Sparkï¼è¿æ ·å°±å¯ä»¥è§£å³è¿ä¸ªç¶é¢é®é¢ã æ¥çKYLIN-3471äºè§£æ´å¤ä¿¡æ¯.</p> - -<h3 id="cube-">æ¹è¿ä½¿ç¨å ¨å±åå ¸ç cube æå»ºæ§è½</h3> -<p>å ¨å±åå ¸ (Global Dictionary) æ¯ bitmap 精确å»é计æ°çå¿ è¦æ¡ä»¶ã妿å»éåå ·æé常é«çåºæ°ï¼å GD å¯è½é常大ãå¨ cube æå»ºé¶æ®µï¼Kylin éè¦éè¿ GD å°éæ´æ°å¼è½¬æ¢ä¸ºæ´æ°ã尽管 GD 已被åæå¤ä¸ªåçï¼å¯ä»¥åå¼å è½½å°å åï¼ä½æ¯ç±äºå»éåç弿¯ä¹±åºçãKylin éè¦åå¤è½½å ¥åè½½åº(swap in/out)åçï¼è¿ä¼å¯¼è´æå»ºä»»å¡éå¸¸ç¼æ ¢ã<br /> -该å¢å¼ºåè½å¼å ¥äºä¸ä¸ªæ°æ¥éª¤ï¼ä¸ºæ¯ä¸ªæ°æ®åä»å ¨å±åå ¸ä¸æå»ºä¸ä¸ªç¼©å°çåå ¸ã éåæ¯ä¸ªä»»å¡åªéè¦å 载缩å°çåå ¸ï¼ä»èé¿å é¢ç¹çè½½å ¥åè½½åºãæ§è½å¯ä»¥æ¯ä»¥åå¿«3åãæ¥ç KYLIN-3491 äºè§£æ´å¤ä¿¡æ¯.</p> - -<h3 id="topn-count-distinct--cube-">æ¹è¿å« TOPN, COUNT DISTINCT ç cube 大å°ç估计</h3> -<p>Cube ç大å°å¨æå»ºæ¶æ¯é¢å 估计çï¼å¹¶è¢«åç»å 个æ¥éª¤ä½¿ç¨ï¼ä¾å¦å³å® MR / Spark ä½ä¸çååºæ°ï¼è®¡ç® HBase region åå²çãå®çåç¡®ä¸å¦ä¼å¯¹æå»ºæ§è½äº§çå¾å¤§å½±åã å½åå¨ COUNT DISTINCTï¼TOPN çåº¦éæ¶åï¼å 为å®ä»¬ç大尿¯çµæ´»çï¼å æ¤ä¼°è®¡å¼å¯è½è·çå®å¼æå¾å¤§åå·®ã å¨è¿å»ï¼ç¨æ·éè¦è°æ´è¥å¹²ä¸ªåæ°ä»¥ä½¿å°ºå¯¸ä¼°è®¡æ´æ¥è¿å®é 尺寸ï¼è¿å¯¹æ®éç¨æ·æç¹å°é¾ã<br /> -ç°å¨ï¼Kylin å°æ ¹æ®æ¶éçç»è®¡ä¿¡æ¯èªå¨è°æ´å¤§å°ä¼°è®¡ãè¿å¯ä»¥ä½¿ä¼°è®¡å¼ä¸å®é 大尿´æ¥è¿ãæ¥ç KYLIN-3453 äºè§£æ´å¤ä¿¡æ¯ã</p> - -<h3 id="hadoop-30hbase-20">æ¯æHadoop 3.0/HBase 2.0</h3> -<p>Hadoop 3å HBase 2å¼å§è¢«è®¸å¤ç¨æ·éç¨ãç°å¨ Kylin æä¾ä½¿ç¨æ°ç Hadoop å HBase API ç¼è¯çæ°äºè¿å¶å ãæä»¬å·²ç»å¨ Hortonworks HDP 3.0 å Cloudera CDH 6.0 ä¸è¿è¡äºæµè¯</p> - -<p><strong>ä¸è½½</strong></p> - -<p>è¦ä¸è½½Apache Kylin v2.5.0æºä»£ç æäºè¿å¶å ï¼è¯·è®¿é®<a href="http://kylin.apache.org/download">ä¸è½½é¡µé¢</a> .</p> - -<p><strong>å级</strong></p> - -<p>åè<a href="/docs/howto/howto_upgrade.html">å级æå</a>.</p> - -<p><strong>åé¦</strong></p> - -<p>妿æ¨éå°é®é¢æçé®ï¼è¯·åéé®ä»¶è³ Apache Kylin dev æ user é®ä»¶å表ï¼d...@kylin.apache.orgï¼u...@kylin.apache.org; å¨åéä¹åï¼è¯·ç¡®ä¿æ¨å·²éè¿åéçµåé®ä»¶è³ dev-subscr...@kylin.apache.org æ user-subscr...@kylin.apache.org订é äºé®ä»¶å表ã</p> - -<p><em>é常æè°¢ææè´¡ç®Apache Kylinçæå!</em></p> -</description> - <pubDate>Thu, 20 Sep 2018 13:00:00 -0700</pubDate> - <link>http://kylin.apache.org/cn/blog/2018/09/20/release-v2.5.0/</link> - <guid isPermaLink="true">http://kylin.apache.org/cn/blog/2018/09/20/release-v2.5.0/</guid> - - - <category>blog</category> - - </item> - - <item> <title>Use Star Schema Benchmark for Apache Kylin</title> <description><h2 id="background">Background</h2> @@ -1122,52 +1274,6 @@ The query result of Scale=10 is as follo <category>blog</category> - - </item> - - <item> - <title>Apache Kylin v2.3.0 Release Announcement</title> - <description><p>The Apache Kylin community is pleased to announce the release of Apache Kylin v2.3.0.</p> - -<p>Apache Kylin is an open source Distributed Analytics Engine designed to provide SQL interface and multi-dimensional analysis (OLAP) on Big Data supporting extremely large datasets.</p> - -<p>This is a major release after 2.2.0. The new features include supporting SparkSQL in building âIntermediate Flat Hive Tableâ, new dropwizard-based metrics framework and the fantastic cube planner which could select the cost-effective cuboids to build based on cost-based algorithm.</p> - -<p>Apache Kylin 2.3.0 resolved 250+ issues including bug fixes, improvements, and new features. All of the changes can be found in the <a href="https://kylin.apache.org/docs23/release_notes.html">release notes</a>.</p> - -<h2 id="change-highlights">Change Highlights</h2> - -<ul> - <li>Support SparkSql in Cube building step âCreate Intermediate Flat Hive Tableâ <a href="https://issues.apache.org/jira/browse/KYLIN-3125">KYLIN-3125</a></li> - <li>Support SQL Server as data source <a href="https://issues.apache.org/jira/browse/KYLIN-3044">KYLIN-3044</a></li> - <li>Support user/group and role authentication for LDAP <a href="https://issues.apache.org/jira/browse/KYLIN-2960">KYLIN-2960</a></li> - <li>New metric framework based on dropwizard <a href="https://issues.apache.org/jira/browse/KYLIN-2776">KYLIN-2776</a></li> - <li>Introduce cube planner able to select cost-effective cuboids to be built by cost-based algorithms <a href="https://issues.apache.org/jira/browse/KYLIN-2727">KYLIN-2727</a> <a href="http://kylin.apache.org/docs23/howto/howto_use_cube_planner.html">Document</a></li> - <li>Introduce a dashboard for showing kylin service related metrics, like query count, query latency, job count, etc <a href="https://issues.apache.org/jira/browse/KYLIN-2726">KYLIN-2726</a> <a href="http://kylin.apache.org/docs23/howto/howto_use_dashboard.html">Document</a></li> - <li>Support volatile range for segments auto merge <a href="https://issues.apache.org/jira/browse/KYLIN-1892">KYLIN-1892</a></li> -</ul> - -<p>To download Apache Kylin v2.3.0 source code or binary package, visit the <a href="http://kylin.apache.org/download">download</a> page.</p> - -<p><strong>Upgrade</strong></p> - -<p>Follow the <a href="/docs23/howto/howto_upgrade.html">upgrade guide</a>.</p> - -<p><strong>Support</strong></p> - -<p>Any issue or question,<br /> -open JIRA to Apache Kylin project: <a href="https://issues.apache.org/jira/browse/KYLIN/">https://issues.apache.org/jira/browse/KYLIN/</a><br /> -or<br /> -send mail to Apache Kylin dev mailing list: <a href="&#109;&#097;&#105;&#108;&#116;&#111;:&#100;&#101;&#118;&#064;&#107;&#121;&#108;&#105;&#110;&#046;&#097;&#112;&#097;&#099;&#104;&#101;&#046;&#111;&#114;&#103;">&#100;&#101;&#118;&#064;&#107;&#121;&#108;&#105;&#110;&#046;&#097;&#112;&#097;&#099;&#104;&#101;&#046;&#111;&#114;&#103;</a></p> - -<p><em>Great thanks to everyone who contributed!</em></p> -</description> - <pubDate>Sun, 04 Mar 2018 12:00:00 -0800</pubDate> - <link>http://kylin.apache.org/blog/2018/03/04/release-v2.3.0/</link> - <guid isPermaLink="true">http://kylin.apache.org/blog/2018/03/04/release-v2.3.0/</guid> - - - <category>blog</category> </item>
Added: kylin/site/images/blog/rt_stream_architecture.png URL: http://svn.apache.org/viewvc/kylin/site/images/blog/rt_stream_architecture.png?rev=1857583&view=auto ============================================================================== Binary file - no diff available. Propchange: kylin/site/images/blog/rt_stream_architecture.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: kylin/site/images/blog/rt_stream_columnar_format.png URL: http://svn.apache.org/viewvc/kylin/site/images/blog/rt_stream_columnar_format.png?rev=1857583&view=auto ============================================================================== Binary file - no diff available. Propchange: kylin/site/images/blog/rt_stream_columnar_format.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: kylin/site/images/blog/rt_stream_components.png URL: http://svn.apache.org/viewvc/kylin/site/images/blog/rt_stream_components.png?rev=1857583&view=auto ============================================================================== Binary file - no diff available. Propchange: kylin/site/images/blog/rt_stream_components.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: kylin/site/images/blog/rt_stream_dir_structure.png URL: http://svn.apache.org/viewvc/kylin/site/images/blog/rt_stream_dir_structure.png?rev=1857583&view=auto ============================================================================== Binary file - no diff available. Propchange: kylin/site/images/blog/rt_stream_dir_structure.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: kylin/site/images/blog/rt_stream_how_build_work.png URL: http://svn.apache.org/viewvc/kylin/site/images/blog/rt_stream_how_build_work.png?rev=1857583&view=auto ============================================================================== Binary file - no diff available. Propchange: kylin/site/images/blog/rt_stream_how_build_work.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: kylin/site/images/blog/rt_stream_how_query_work.png URL: http://svn.apache.org/viewvc/kylin/site/images/blog/rt_stream_how_query_work.png?rev=1857583&view=auto ============================================================================== Binary file - no diff available. Propchange: kylin/site/images/blog/rt_stream_how_query_work.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: kylin/site/images/blog/rt_stream_invertindex_format.png URL: http://svn.apache.org/viewvc/kylin/site/images/blog/rt_stream_invertindex_format.png?rev=1857583&view=auto ============================================================================== Binary file - no diff available. Propchange: kylin/site/images/blog/rt_stream_invertindex_format.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: kylin/site/images/blog/rt_stream_rt_segment_state.png URL: http://svn.apache.org/viewvc/kylin/site/images/blog/rt_stream_rt_segment_state.png?rev=1857583&view=auto ============================================================================== Binary file - no diff available. Propchange: kylin/site/images/blog/rt_stream_rt_segment_state.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: kylin/site/images/blog/rt_stream_stages.png URL: http://svn.apache.org/viewvc/kylin/site/images/blog/rt_stream_stages.png?rev=1857583&view=auto ============================================================================== Binary file - no diff available. Propchange: kylin/site/images/blog/rt_stream_stages.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Modified: kylin/site/index.html URL: http://svn.apache.org/viewvc/kylin/site/index.html?rev=1857583&r1=1857582&r2=1857583&view=diff ============================================================================== --- kylin/site/index.html (original) +++ kylin/site/index.html Mon Apr 15 14:22:27 2019 @@ -334,10 +334,121 @@ var _hmt = _hmt || []; - <li class="navlist"> - <a href="/docs/release_notes.html" class="list-group-item-lay pjaxlink">Release Notes</a> - </li> - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +