<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Technical docs on Portraits</title><link>https://jiangxt2.github.io/en/</link><description>Recent content in Technical docs on Portraits</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Thu, 17 Sep 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://jiangxt2.github.io/en/index.xml" rel="self" type="application/rss+xml"/><item><title>ClickHouse</title><link>https://jiangxt2.github.io/en/docs/clickhouse/</link><pubDate>Thu, 17 Sep 2026 00:00:00 +0000</pubDate><guid>https://jiangxt2.github.io/en/docs/clickhouse/</guid><description>A practical path through MergeTree, ordering keys, partitions, and query execution.</description></item><item><title>ClickHouse vs Doris: choosing an analytical database</title><link>https://jiangxt2.github.io/en/comparisons/clickhouse-vs-doris/</link><pubDate>Thu, 17 Sep 2026 00:00:00 +0000</pubDate><guid>https://jiangxt2.github.io/en/comparisons/clickhouse-vs-doris/</guid><description>A comparison framework for ClickHouse and Doris across data layout, execution, ecosystem, and operations.</description></item><item><title>Daft</title><link>https://jiangxt2.github.io/en/docs/daft/</link><pubDate>Thu, 17 Sep 2026 00:00:00 +0000</pubDate><guid>https://jiangxt2.github.io/en/docs/daft/</guid><description>Notes connecting DataFrames, physical plans, and distributed data processing.</description></item><item><title>Doris</title><link>https://jiangxt2.github.io/en/docs/doris/</link><pubDate>Thu, 17 Sep 2026 00:00:00 +0000</pubDate><guid>https://jiangxt2.github.io/en/docs/doris/</guid><description>Notes on MPP analytics, partitioning, bucketing, table models, and acceleration.</description></item><item><title>Ray</title><link>https://jiangxt2.github.io/en/docs/ray/</link><pubDate>Thu, 17 Sep 2026 00:00:00 +0000</pubDate><guid>https://jiangxt2.github.io/en/docs/ray/</guid><description>Understand Ray&amp;rsquo;s distributed application model through Tasks, Actors, and scheduling.</description></item><item><title>Row storage and columnar storage</title><link>https://jiangxt2.github.io/en/concepts/columnar-storage/</link><pubDate>Thu, 17 Sep 2026 00:00:00 +0000</pubDate><guid>https://jiangxt2.github.io/en/concepts/columnar-storage/</guid><description>Understand row and column storage through access patterns, compression, scans, and write cost.</description></item><item><title>Spark</title><link>https://jiangxt2.github.io/en/docs/spark/</link><pubDate>Thu, 17 Sep 2026 00:00:00 +0000</pubDate><guid>https://jiangxt2.github.io/en/docs/spark/</guid><description>A learning path through execution, shuffle, Spark SQL, and streaming.</description></item><item><title>Spark vs Daft: different data-processing models</title><link>https://jiangxt2.github.io/en/comparisons/spark-vs-daft/</link><pubDate>Thu, 17 Sep 2026 00:00:00 +0000</pubDate><guid>https://jiangxt2.github.io/en/comparisons/spark-vs-daft/</guid><description>Compare Spark and Daft across data abstractions, physical plans, ecosystem, and fit.</description></item><item><title>Spark vs Ray: batch processing and distributed applications</title><link>https://jiangxt2.github.io/en/comparisons/spark-vs-ray/</link><pubDate>Thu, 17 Sep 2026 00:00:00 +0000</pubDate><guid>https://jiangxt2.github.io/en/comparisons/spark-vs-ray/</guid><description>Understand Spark and Ray through computation models, scheduling, data work, and ecosystem boundaries.</description></item><item><title>What is shuffle?</title><link>https://jiangxt2.github.io/en/concepts/shuffle/</link><pubDate>Thu, 17 Sep 2026 00:00:00 +0000</pubDate><guid>https://jiangxt2.github.io/en/concepts/shuffle/</guid><description>Why distributed systems redistribute data, and where shuffle cost comes from.</description></item><item><title>What is vectorized execution?</title><link>https://jiangxt2.github.io/en/concepts/vectorized-execution/</link><pubDate>Thu, 17 Sep 2026 00:00:00 +0000</pubDate><guid>https://jiangxt2.github.io/en/concepts/vectorized-execution/</guid><description>Understand vectorized execution as batch processing instead of row-at-a-time work, especially in OLAP systems.</description></item><item><title>Welcome to my technical notes</title><link>https://jiangxt2.github.io/en/posts/2026/09/17/welcome-to-my-technical-notes/</link><pubDate>Thu, 17 Sep 2026 00:00:00 +0800</pubDate><guid>https://jiangxt2.github.io/en/posts/2026/09/17/welcome-to-my-technical-notes/</guid><description>A personal technical site built with Hugo, Vue, and GitHub Pages.</description></item></channel></rss>