From 0d4c8af46bee20c3998fbcc049f4578a45ebfa15 Mon Sep 17 00:00:00 2001 From: Zirui Hu <55592511+Wind-Gone@users.noreply.github.com> Date: Mon, 13 Jan 2025 10:43:09 +0800 Subject: [PATCH 1/2] [fix] upgrade error --- .nojekyll | 0 README.md | 2 + _cite/.cache/cache.db | Bin 49152 -> 49152 bytes _config.yaml | 4 +- _data/citations.yaml | 1409 +++-------------- _includes/head.html | 2 +- _includes/link.html | 36 + ...33\347\232\204\350\257\204\346\265\213.md" | 456 ------ blog/index.md | 17 +- news/index.md | 6 +- research/index.md | 8 +- team/index.md | 46 +- tools/index.md | 8 +- 13 files changed, 310 insertions(+), 1684 deletions(-) create mode 100644 .nojekyll create mode 100644 _includes/link.html delete mode 100644 "_posts/2022-05-28-OceanBase\344\270\216TiDB\344\274\230\345\214\226\345\231\250\347\232\204\345\237\272\346\225\260\351\242\204\344\274\260\345\207\206\347\241\256\345\272\246\345\222\214\350\277\236\346\216\245\351\241\272\345\272\217\351\200\211\346\213\251\350\203\275\345\212\233\347\232\204\350\257\204\346\265\213.md" diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/README.md b/README.md index ce9534c..6e29b91 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ +Visit **[dbhammer.github.io](https://dbhammer.github.io)** 🚀 +
暂无新闻内容。
diff --git a/_cite/.cache/cache.db b/_cite/.cache/cache.db
index 13e939bc814cecbf671cb534a47509d28143ee81..fd5a7139db0ab29a8963b52d3bfb7bdecb4c57e0 100644
GIT binary patch
delta 669
zcmZo@U~Xt&o*>OAJW1pUlGAnWvmn4>C7MElu
z7fbZ1Fq<-_WEN+~7i1=9=cL9L6y=xXC+Fv|O7tmD*3*}gRAM&dEH2E+EJ=+ouFOl$
zD9X>vFD(}DQ=FWrFUhDdxmsUZN}gGt392SJF*yUMGP5dGfkCuSZt@0waUoe|MaJaP
zoSgWa%-qZpF7-a?%{TQ0_<=5ZWoHI-oua*1y)-|wA``-4?2?kqrcBrz#;zjHYzUFb
z&CH8W%LF
-
-图1 连接图\[2\]
-{:.center}
-
-对于N表连接负载,存在的连接顺序有(2\*N-2)!/(N-1)!个,优化器会使用一些方法(比如动态规划或贪心算法)来枚举连接顺序。由于枚举所有可能的连接顺序的代价较大,因此优化器只会枚举其子集,这可能导致优化器无法为某些多表连接负载确定最佳的连接顺序。另一方面,基数预估和连接顺序的选择是相互影响的,基数预估通过影响代价模型,从而对连接顺序的选择造成影响。同时,不同的连接顺序也会影响基数预估。同样的多表连接,不同数据库的优化器可能选出不同的连接顺序,因此,使用相同的多表连接负载测试不同数据库对其连接算子的基数预估准确度时,应固定相同的连接顺序。OceanBase和TiDB分别提供了LEADING和/\*! STRAIGHT_JOIN */关键字来指定数据库以特定的连接顺序执行多表连接负载。
-
-## 3.实验环境
-
-由于查询优化器代价模型暂时无法控制,为了降低分布式环境下代价模型的影响,本文实验使用的Oceanbase和TiDB均为单机版。Oceanbase的版本为3.1.2,TiDB的版本为6.0,其中TiDB单机版包括一个TiDB组件、一个PD组件、一个TiKV组件及一个TiFlash组件。两者均在操作系统为Centos 7.9,内存为8G,CPU型号为16核 Intel Xeon Processor (Cascadelake)的机器上运行。
-
-OceanBase的配置文件如下所示:
-
-```yaml
-`global:
- devname: eth0
- cluster_id: 1
- memory_limit: 8G
- system_memory: 4G
- stack_size: 512K
- cpu_count: 16
- cache_wash_threshold: 1G
- __min_full_resource_pool_memory: 268435456
- workers_per_cpu_quota: 10
- schema_history_expire_time: 1d
- net_thread_count: 4
- major_freeze_duty_time: Disable
- minor_freeze_times: 10
- enable_separate_sys_clog: 0
- enable_merge_by_turn: FALSE
- datafile_disk_percentage: 35
- syslog_level: WARN
- enable_syslog_recycle: true
- max_syslog_file_count: 4
- appname: obtest
- mysql_port: 2883
- rpc_port: 2882
- home_path: /root/observer
- data_dir: /data
- redo_dir: /redo
- zone: zone0
-
-```
-
-## 三、OceanBase基数预估准确度和TiDB的对比
-
-优化器在进行基数预估时会进行均匀性(uniformity)假设,即会假定除了最频繁出现的数据,其他数据都是均匀分布的\[3\],这种假设会导致基数预估在具有倾斜分布的数据中的不准确,从而对执行计划的选择造成影响。传统的基数预估方法有直方图和采样的方法,无法对多表连接算子的基数做出准确的预估。
-
-为了测试OceanBase和TiDB在不同情况下的基数预估准确度,本实验随机生成不同基数大小的单表、3表、5表链式连接负载,所有参与连接的表大小均相同,分别为10000和50000,并控制过滤谓词涉及属性数据的倾斜度分别为均匀分布、倾斜度为1的ZipFian分布及倾斜度为3的ZipFian分布,以评测OceanBase和TiDB这些场景下的基数预估情况,获得的基数预估结果包括Analyze Table之前的结果、Analyze Table(OceanBase对应的命令为Alter System Major Freeze)之后的结果以及Analyze Table之后多次Explain的结果(Explain 5次)。每个测试场景均生成10个负载。不同的优化器可能对相同的多表连接负载选定不同的连接顺序,为了消除这种影响,本实验使用相同的负载进行测试时固定其连接顺序为其对应的SQL形式中From关键字后罗列的表顺序。
-
-下列表展示了单表过滤算子在不同表大小及数据倾斜度下的基数预估情况。
-
- 单表过滤算子,表大小10000,数据为均匀分布
-{:.center}
-
-| 表大小10000,均匀分布 | 真实基数 | TiDB Analyze Table前 | OceanBase Major Freeze前 | TiDB Analyze Table后首次Explain | TiDB Analyze Table后多次Explain | OceanBase Major Freeze后首次Explain | OceanBase Major Freeze后多次Explain |
-| --- | --- | --- | --- | --- | --- | --- | --- |
-| Q1 | 4609 | 3323.33 | 3331.0 | 3323.33 | 4608.21 | 3334.0 | 3334.0 |
-| Q2 | 2914 | 3323.33 | 3331.0 | 3323.33 | 2914.34 | 3334.0 | 3334.0 |
-| Q3 | 4970 | 3333.33 | 3331.0 | 3333.33 | 4970.75 | 3334.0 | 3334.0 |
-| Q4 | 5637 | 3333.33 | 3331.0 | 3333.33 | 5637.41 | 3334.0 | 3334.0 |
-| Q5 | 3692 | 3333.33 | 3331.0 | 3333.33 | 3333.33 | 3334.0 | 3334.0 |
-| Q6 | 6570 | 3333.33 | 3331.0 | 3333.33 | 3333.33 | 3334.0 | 3334.0 |
-| Q7 | 9065 | 3333.33 | 3331.0 | 3333.33 | 9065.74 | 3334.0 | 3334.0 |
-| Q8 | 2126 | 3323.33 | 3331.0 | 3323.33 | 2126.22 | 3334.0 | 3334.0 |
-| Q9 | 2727 | 3323.33 | 3331.0 | 3323.33 | 2727.81 | 3334.0 | 3334.0 |
-| Q10 | 6327 | 3333.33 | 3331.0 | 3333.33 | 6326.08 | 3334.0 | 3334.0 |
-
- 单表过滤算子,表大小10000,数据倾斜度为1
-{:.center}
-
-| 表大小10000,倾斜度1 | 真实基数 | TiDB Analyze Table前 | OceanBase Major Freeze前 | TiDB Analyze Table后首次Explain | TiDB Analyze Table后多次Explain | OceanBase Major Freeze后首次Explain | OceanBase Major Freeze后多次Explain |
-| --- | --- | --- | --- | --- | --- | --- | --- |
-| Q1 | 1095 | 3333.33 | 3327.0 | 3333.33 | 1095.0 | 3334.0 | 3334.0 |
-| Q2 | 1313 | 3333.33 | 3327.0 | 3333.33 | 3333.33 | 3334.0 | 3334.0 |
-| Q3 | 7018 | 3323.33 | 3327.0 | 3323.33 | 3323.33 | 3334.0 | 3334.0 |
-| Q4 | 75 | 3333.33 | 3327.0 | 3333.33 | 75.34 | 3334.0 | 3334.0 |
-| Q5 | 9019 | 3323.33 | 3327.0 | 3323.33 | 9019.0 | 3334.0 | 3334.0 |
-| Q6 | 921 | 3333.33 | 3327.0 | 3333.33 | 920.06 | 3334.0 | 3334.0 |
-| Q7 | 6832 | 3323.33 | 3327.0 | 3323.33 | 6833.85 | 3334.0 | 3334.0 |
-| Q8 | 660 | 3333.33 | 3327.0 | 3333.33 | 3333.33 | 3334.0 | 3334.0 |
-| Q9 | 9816 | 3323.33 | 3327.0 | 3323.33 | 3323.33 | 3334.0 | 3334.0 |
-| Q10 | 1227 | 3333.33 | 3327.0 | 3333.33 | 1225.15 | 3334.0 | 3334.0 |
-
- 单表过滤算子,表大小10000,数据倾斜度为3
-{:.center}
-
-| 表大小10000,倾斜度3 | 真实基数 | TiDB Analyze Table前 | OceanBase Major Freeze前 | TiDB Analyze Table后首次Explain | TiDB Analyze Table后多次Explain | OceanBase Major Freeze后首次Explain | OceanBase Major Freeze后多次Explain |
-| --- | --- | --- | --- | --- | --- | --- | --- |
-| Q1 | 9994 | 3323.33 | 3327.0 | 3323.33 | 9994.0 | 3334.0 | 3334.0 |
-| Q2 | 1676 | 3333.33 | 3327.0 | 3333.33 | 1676.0 | 3334.0 | 3334.0 |
-| Q3 | 9997 | 3323.33 | 3327.0 | 3323.33 | 9997.0 | 3334.0 | 3334.0 |
-| Q4 | 21 | 3333.33 | 3327.0 | 3333.33 | 21.0 | 3334.0 | 3334.0 |
-| Q5 | 9999 | 3323.33 | 3327.0 | 3323.33 | 3323.33 | 3334.0 | 3334.0 |
-| Q6 | 8324 | 3323.33 | 3327.0 | 3323.33 | 3323.33 | 3334.0 | 3334.0 |
-| Q7 | 9949 | 3323.33 | 3327.0 | 3323.33 | 9949.0 | 3334.0 | 3334.0 |
-| Q8 | 9990 | 3323.33 | 3327.0 | 3323.33 | 9990.0 | 3334.0 | 3334.0 |
-| Q9 | 26 | 3333.33 | 3327.0 | 3333.33 | 26.0 | 3334.0 | 3334.0 |
-| Q10 | 9979 | 3323.33 | 3327.0 | 3323.33 | 9979.0 | 3334.0 | 3334.0 |
-
- 单表过滤算子,表大小50000,数据为均匀分布
-{:.center}
-
-| 表大小50000,均匀分布 | 真实基数 | TiDB Analyze Table前 | OceanBase Major Freeze前 | TiDB Analyze Table后首次Explain | TiDB Analyze Table后多次Explain | OceanBase Major Freeze后首次Explain | OceanBase Major Freeze后多次Explain |
-| --- | --- | --- | --- | --- | --- | --- | --- |
-| Q1 | 7008 | 16616.67 | 16634.0 | 16616.67 | 7007.86 | 16667.0 | 16667.0 |
-| Q2 | 6499 | 16666.67 | 16634.0 | 16666.67 | 6499.88 | 16667.0 | 16667.0 |
-| Q3 | 17387 | 16616.67 | 16634.0 | 16616.67 | 17387.83 | 16667.0 | 16667.0 |
-| Q4 | 1567 | 16666.67 | 16634.0 | 16666.67 | 16666.67 | 16667.0 | 16667.0 |
-| Q5 | 5445 | 16666.67 | 16634.0 | 16666.67 | 16666.67 | 16667.0 | 16667.0 |
-| Q6 | 41096 | 16666.67 | 16634.0 | 16666.67 | 41095.27 | 16667.0 | 16667.0 |
-| Q7 | 38328 | 16666.67 | 16634.0 | 16666.67 | 38328.33 | 16667.0 | 16667.0 |
-| Q8 | 25931 | 16616.67 | 16634.0 | 16616.67 | 25931.06 | 16667.0 | 16667.0 |
-| Q9 | 32516 | 16616.67 | 16634.0 | 16616.67 | 32516.54 | 16667.0 | 16667.0 |
-| Q10 | 18108 | 16616.67 | 16634.0 | 16616.67 | 16616.67 | 16667.0 | 16667.0 |
-
- 单表过滤算子,表大小50000,数据倾斜度为1
-{:.center}
-
-| 表大小50000,倾斜度1 | 真实基数 | TiDB Analyze Table前 | OceanBase Major Freeze前 | TiDB Analyze Table后首次Explain | TiDB Analyze Table后多次Explain | OceanBase Major Freeze后首次Explain | OceanBase Major Freeze后多次Explain |
-| --- | --- | --- | --- | --- | --- | --- | --- |
-| Q1 | 33948 | 16616.67 | 16627.0 | 16616.67 | 33948.0 | 16667.0 | 16667.0 |
-| Q2 | 7752 | 16666.67 | 16627.0 | 16666.67 | 7742.74 | 16667.0 | 16667.0 |
-| Q3 | 44944 | 16616.67 | 16627.0 | 16616.67 | 44953.26 | 16667.0 | 16667.0 |
-| Q4 | 49307 | 16616.67 | 16627.0 | 16616.67 | 16616.67 | 16667.0 | 16667.0 |
-| Q5 | 147 | 16666.67 | 16627.0 | 16666.67 | 16666.67 | 16667.0 | 16667.0 |
-| Q6 | 2948 | 16666.67 | 16627.0 | 16666.67 | 2939.95 | 16667.0 | 16667.0 |
-| Q7 | 1098 | 16666.67 | 16627.0 | 16666.67 | 1099.86 | 16667.0 | 16667.0 |
-| Q8 | 6932 | 16666.67 | 16627.0 | 16666.67 | 6922.74 | 16667.0 | 16667.0 |
-| Q9 | 49720 | 16616.67 | 16627.0 | 16616.67 | 49719.96 | 16667.0 | 16667.0 |
-| Q10 | 6201 | 16666.67 | 16627.0 | 16666.67 | 16666.67 | 16667.0 | 16667.0 |
-
- 单表过滤算子,表大小50000,数据倾斜度为3
-{:.center}
-
-| 表大小50000,倾斜度3 | 真实基数 | TiDB Analyze Table前 | OceanBase Major Freeze前 | TiDB Analyze Table后首次Explain | TiDB Analyze Table后多次Explain | OceanBase Major Freeze后首次Explain | OceanBase Major Freeze后多次Explain |
-| --- | --- | --- | --- | --- | --- | --- | --- |
-| Q1 | 36 | 16666.67 | 16626.0 | 16666.67 | 36.0 | 16667.0 | 16667.0 |
-| Q2 | 49992 | 16616.67 | 16626.0 | 16616.67 | 49992.0 | 16667.0 | 16667.0 |
-| Q3 | 19 | 16666.67 | 16626.0 | 16666.67 | 19.0 | 16667.0 | 16667.0 |
-| Q4 | 40 | 16666.67 | 16626.0 | 16666.67 | 40.0 | 16667.0 | 16667.0 |
-| Q5 | 49823 | 16616.67 | 16626.0 | 16616.67 | 16616.67 | 16667.0 | 16667.0 |
-| Q6 | 177 | 16666.67 | 16626.0 | 16666.67 | 16666.67 | 16667.0 | 16667.0 |
-| Q7 | 146 | 16666.67 | 16626.0 | 16666.67 | 146.0 | 16667.0 | 16667.0 |
-| Q8 | 478 | 16666.67 | 16626.0 | 16666.67 | 478.0 | 16667.0 | 16667.0 |
-| Q9 | 45 | 16666.67 | 16626.0 | 16666.67 | 45.0 | 16667.0 | 16667.0 |
-| Q10 | 49781 | 16616.67 | 16626.0 | 16616.67 | 49781.0 | 16667.0 | 16667.0 |
-
-从以上单表过滤算子的基数预估情况可以看出,不管有没有Analyze Table获得统计信息,OceanBase和TiDB对于单表过滤算子的基数预估结果比较固定,与表的大小有关,会随着表大小的成比例增大。有趣的是,TiDB在多次使用Explain获取基数预估结果的过程中,其基数预估的准确度会越来越高。
-
-下列表展示了3表连接算子在不同表大小及数据倾斜度下的基数预估准确度。
-
-3表连接,表大小均为10000,过滤谓词涉及属性的数据为均匀分布
-{:.center}
-
-| 表大小10000,均匀分布 | 真实基数 | TiDB Analyze Table前 | OceanBase Major Freeze前 | TiDB Analyze Table后首次Explain | TiDB Analyze Table后多次Explain | OceanBase Major Freeze后首次Explain | OceanBase Major Freeze后多次Explain |
-| --- | --- | --- | --- | --- | --- | --- | --- |
-| Q1 | 272 | 5177.13 | 3263.0 | 3320.01 | 621.58 | 3334.0 | 3334.0 |
-| Q2 | 1394 | 5187.52 | 3264.0 | 3320.01 | 2094.13 | 3334.0 | 3334.0 |
-| Q3 | 3250 | 5182.33 | 3262.0 | 3320.01 | 5948.56 | 3334.0 | 3334.0 |
-| Q4 | 1185 | 5182.33 | 3260.0 | 3320.01 | 3320.01 | 3334.0 | 3334.0 |
-| Q5 | 724 | 5177.13 | 3263.0 | 3323.33 | 3323.33 | 3334.0 | 3334.0 |
-| Q6 | 5 | 5187.52 | 3261.0 | 3323.33 | 23.08 | 3334.0 | 3334.0 |
-| Q7 | 274 | 5192.71 | 3262.0 | 3323.33 | 2908.19 | 3334.0 | 3334.0 |
-| Q8 | 313 | 5187.52 | 3263.0 | 3323.33 | 794.45 | 3334.0 | 3334.0 |
-| Q9 | 127 | 5187.52 | 3263.0 | 3323.33 | 400.0 | 3334.0 | 3334.0 |
-| Q10 | 1542 | 5182.33 | 3263.0 | 3323.33 | 3323.33 | 3334.0 | 3334.0 |
-
- 3表连接,表大小均为10000,过滤谓词涉及属性的数据倾斜度为1
-{:.center}
-
-| 表大小10000,倾斜度1 | 真实基数 | TiDB Analyze Table前 | OceanBase Major Freeze前 | TiDB Analyze Table后首次Explain | TiDB Analyze Table后多次Explain | OceanBase Major Freeze后首次Explain | OceanBase Major Freeze后多次Explain |
-| --- | --- | --- | --- | --- | --- | --- | --- |
-| Q1 | 164 | 5197.92 | 3266.0 | 3330.0 | 3330.0 | 3334.0 | 3334.0 |
-| Q2 | 9 | 5203.12 | 3264.0 | 3330.0 | 9.85 | 3334.0 | 3334.0 |
-| Q3 | 116 | 5192.71 | 3266.0 | 3323.33 | 466.0 | 3334.0 | 3334.0 |
-| Q4 | 12 | 5187.52 | 3266.0 | 3323.33 | 254.0 | 3334.0 | 3334.0 |
-| Q5 | 13 | 5177.13 | 3264.0 | 3320.01 | 3031.15 | 3334.0 | 3334.0 |
-| Q6 | 1597 | 5182.33 | 3264.0 | 3323.33 | 3323.33 | 3334.0 | 3334.0 |
-| Q7 | 86 | 5187.52 | 3264.0 | 3323.33 | 3323.33 | 3334.0 | 3334.0 |
-| Q8 | 785 | 5187.52 | 3264.0 | 3323.33 | 3336.0 | 3334.0 | 3334.0 |
-| Q9 | 2853 | 5166.78 | 3266.0 | 3323.33 | 4664.0 | 3334.0 | 3334.0 |
-| Q10 | 5898 | 5187.52 | 3264.0 | 3323.33 | 5899.85 | 3334.0 | 3334.0 |
-
-3表连接,表大小均为10000,过滤谓词涉及属性的数据倾斜度为3
-{:.center}
-
-| 表大小10000,倾斜度3 | 真实基数 | TiDB Analyze Table前 | OceanBase Major Freeze前 | TiDB Analyze Table后首次Explain | TiDB Analyze Table后多次Explain | OceanBase Major Freeze后首次Explain | OceanBase Major Freeze后多次Explain |
-| --- | --- | --- | --- | --- | --- | --- | --- |
-| Q1 | 8324 | 5182.33 | 3265.0 | 3316.69 | 8324.0 | 3334.0 | 3334.0 |
-| Q2 | 1041 | 5187.52 | 3263.0 | 3320.01 | 1676.0 | 3334.0 | 3334.0 |
-| Q3 | 438 | 5192.71 | 3263.0 | 3323.33 | 635.0 | 3334.0 | 3334.0 |
-| Q4 | 10 | 5182.33 | 3263.0 | 3320.01 | 3320.01 | 3334.0 | 3334.0 |
-| Q5 | 9365 | 5187.52 | 3263.0 | 3323.33 | 3323.33 | 3334.0 | 3334.0 |
-| Q6 | 308 | 5187.52 | 3261.0 | 3323.33 | 635.0 | 3334.0 | 3334.0 |
-| Q7 | 6 | 5187.5 | 3265.0 | 3323.33 | 14.0 | 3334.0 | 3334.0 |
-| Q8 | 70 | 5182.33 | 3265.0 | 3323.33 | 91.0 | 3334.0 | 3334.0 |
-| Q9 | 8 | 5197.92 | 3261.0 | 3333.33 | 8.0 | 3334.0 | 3334.0 |
-| Q10 | 18 | 5182.33 | 3265.0 | 3323.33 | 3323.33 | 3334.0 | 3334.0 |
-
- 3表连接,表大小均为50000,过滤谓词涉及属性的数据为均匀分布
-{:.center}
-
-| 表大小50000,均匀分布 | 真实基数 | TiDB Analyze Table前 | OceanBase Major Freeze前 | TiDB Analyze Table后首次Explain | TiDB Analyze Table后多次Explain | OceanBase Major Freeze后首次Explain | OceanBase Major Freeze后多次Explain |
-| --- | --- | --- | --- | --- | --- | --- | --- |
-| Q1 | 18758 | 25885.65 | 16335.0 | 16600.05 | 22765.17 | 16667.0 | 16667.0 |
-| Q2 | 4706 | 25963.54 | 16337.0 | 16616.67 | 19569.44 | 16667.0 | 16667.0 |
-| Q3 | 170 | 25937.58 | 16335.0 | 16616.67 | 170.46 | 16667.0 | 16667.0 |
-| Q4 | 1632 | 25963.54 | 16335.0 | 16616.67 | 1734.37 | 16667.0 | 16667.0 |
-| Q5 | 803 | 25989.61 | 16334.0 | 16650.0 | 16650.0 | 16667.0 | 16667.0 |
-| Q6 | 5979 | 25937.58 | 16335.0 | 16616.67 | 16616.67 | 16667.0 | 16667.0 |
-| Q7 | 3236 | 25963.54 | 16334.0 | 16616.67 | 22334.68 | 16667.0 | 16667.0 |
-| Q8 | 14231 | 25937.58 | 16334.0 | 16616.67 | 17668.03 | 16667.0 | 16667.0 |
-| Q9 | 5402 | 26015.62 | 16335.0 | 16666.67 | 18521.98 | 16667.0 | 16667.0 |
-| Q10 | 3292 | 25963.54 | 16335.0 | 16616.67 | 16069.18 | 16667.0 | 16667.0 |
-
- 3表连接,表大小均为50000,过滤谓词涉及属性的数据倾斜度为1
-{:.center}
-
-| 表大小50000,倾斜度1 | 真实基数 | TiDB Analyze Table前 | OceanBase Major Freeze前 | TiDB Analyze Table后首次Explain | TiDB Analyze Table后多次Explain | OceanBase Major Freeze后首次Explain | OceanBase Major Freeze后多次Explain |
-| --- | --- | --- | --- | --- | --- | --- | --- |
-| Q1 | 43381 | 16600.05 | 16335.0 | 43390.26 | 43390.26 | 16667.0 | 16667.0 |
-| Q2 | 9990 | 16600.05 | 16335.0 | 14423.0 | 14423.0 | 16667.0 | 16667.0 |
-| Q3 | 1429 | 16600.05 | 16335.0 | 13020.0 | 13020.0 | 16667.0 | 16667.0 |
-| Q4 | 278 | 16616.67 | 16335.0 | 7390.74 | 7390.74 | 16667.0 | 16667.0 |
-| Q5 | 20729 | 16600.05 | 16335.0 | 20729.0 | 20729.0 | 16667.0 | 16667.0 |
-| Q6 | 3249 | 16616.67 | 16335.0 | 10002.74 | 10002.74 | 16667.0 | 16667.0 |
-| Q7 | 1290 | 16600.05 | 16335.0 | 1463.64 | 1463.64 | 16667.0 | 16667.0 |
-| Q8 | 7169 | 16616.67 | 16335.0 | 12225.0 | 12225.0 | 16667.0 | 16667.0 |
-| Q9 | 385 | 16616.67 | 16336.0 | 19938.74 | 19938.74 | 16667.0 | 16667.0 |
-| Q10 | 1041 | 16616.67 | 16335.0 | 2848.74 | 2848.74 | 16667.0 | 16667.0 |
-
- 3表连接,表大小均为50000,过滤谓词涉及属性的数据倾斜度为3
-{:.center}
-
-| 表大小50000,倾斜度3 | 真实基数 | TiDB Analyze Table前 | OceanBase Major Freeze前 | TiDB Analyze Table后首次Explain | TiDB Analyze Table后多次Explain | OceanBase Major Freeze后首次Explain | OceanBase Major Freeze后多次Explain |
-| --- | --- | --- | --- | --- | --- | --- | --- |
-| Q1 | 49329 | 16600.05 | 16305.0 | 49329.0 | 49329.0 | 16667.0 | 16667.0 |
-| Q2 | 196 | 16616.67 | 16305.0 | 219.0 | 219.0 | 16667.0 | 16667.0 |
-| Q3 | 15 | 16600.05 | 16306.0 | 103.0 | 103.0 | 16667.0 | 16667.0 |
-| Q4 | 74 | 16616.67 | 16305.0 | 177.0 | 177.0 | 16667.0 | 16667.0 |
-| Q5 | 50 | 16600.05 | 16305.0 | 51.0 | 51.0 | 16667.0 | 16667.0 |
-| Q6 | 12 | 16616.67 | 16305.0 | 21.0 | 21.0 | 16667.0 | 16667.0 |
-| Q7 | 193 | 16600.05 | 16304.0 | 671.0 | 671.0 | 16667.0 | 16667.0 |
-| Q8 | 49897 | 16616.67 | 16305.0 | 49897.0 | 49897.0 | 16667.0 | 16667.0 |
-| Q9 | 41604 | 16616.67 | 16304.0 | 41604.0 | 41604.0 | 16667.0 | 16667.0 |
-| Q10 | 549 | 16616.67 | 16304.0 | 671.0 | 671.0 | 16667.0 | 16667.0 |
-
-从以上3表连接算子在不同表大小以及数据倾斜度下的基数预估情况来看,在Analyze Table之前,由于OceanBase和TiDB都没有统计信息,因此会把这列数据当成均匀分布来看,其结果较为固定,不会随着真实基数的改变而改变。然而,在Analyze Table之后,首次使用Explain获取TiDB的基数预估结果已经会随着真实基数的改变而改变,呈现高估的现象,而OceanBase的基数预估结果相比Major Freeze之前有所改变,但仍然是固定的数值。另外,TiDB的基数预估是不稳定的,在表大小50000,数据均匀分布的情况下,我们可以发现,在Analyze Table之后,首次使用Explain并不能获得随真实基数变化的预估结果。
-
-下列表展示了5表连接算子在不同表大小及数据倾斜度下的基数预估准确度。
-
-5表连接,表大小均为10000,过滤谓词涉及属性的数据为均匀分布
-{:.center}
-
-| 表大小10000,均匀分布 | 真实基数 | TiDB Analyze Table前 | OceanBase Major Freeze前 | TiDB Analyze Table后首次Explain | TiDB Analyze Table后多次Explain | OceanBase Major Freeze后首次Explain | OceanBase Major Freeze后多次Explain |
-| --- | --- | --- | --- | --- | --- | --- | --- |
-| Q1 | 15 | 8089.27 | 3199.0 | 3320.01 | 3320.01 | 3334.0 | 3334.0 |
-| Q2 | 88 | 8089.29 | 3202.0 | 3320.01 | 3320.01 | 3334.0 | 3334.0 |
-| Q3 | 1323 | 8081.18 | 3199.0 | 3320.01 | 3360.19 | 3334.0 | 3334.0 |
-| Q4 | 22 | 8089.27 | 3196.0 | 3316.69 | 1569.78 | 3334.0 | 3334.0 |
-| Q5 | 870 | 8105.49 | 3199.0 | 3320.01 | 870.46 | 3334.0 | 3334.0 |
-| Q6 | 1731 | 8097.39 | 3199.0 | 3323.33 | 5484.2 | 3334.0 | 3334.0 |
-| Q7 | 26 | 8105.49 | 3199.0 | 3320.01 | 3320.01 | 3334.0 | 3334.0 |
-| Q8 | 188 | 8097.36 | 3199.0 | 3323.33 | 3323.33 | 3334.0 | 3334.0 |
-| Q9 | 181 | 8065.02 | 3194.0 | 3316.69 | 980.68 | 3334.0 | 3334.0 |
-| Q10 | 451 | 8089.29 | 3198.0 | 3320.01 | 4432.78 | 3334.0 | 3334.0 |
-
- 5表连接,表大小均为10000,过滤谓词涉及属性的数据倾斜度为1
-{:.center}
-
-| 表大小10000,倾斜度1 | 真实基数 | TiDB Analyze Table前 | OceanBase Major Freeze前 | TiDB Analyze Table后首次Explain | TiDB Analyze Table后多次Explain | OceanBase Major Freeze后首次Explain | OceanBase Major Freeze后多次Explain |
-| --- | --- | --- | --- | --- | --- | --- | --- |
-| Q1 | 82 | 8081.18 | 3199.0 | 3320.01 | 3320.01 | 3334.0 | 3334.0 |
-| Q2 | 6 | 8113.61 | 3199.0 | 3323.33 | 19.89 | 3334.0 | 3334.0 |
-| Q3 | 10 | 8097.39 | 3195.0 | 3323.33 | 736.15 | 3334.0 | 3334.0 |
-| Q4 | 19 | 8105.49 | 3199.0 | 3320.01 | 3582.15 | 3334.0 | 3334.0 |
-| Q5 | 24 | 8105.49 | 3199.0 | 3323.33 | 2027.15 | 3334.0 | 3334.0 |
-| Q6 | 104 | 8065.0 | 3202.0 | 3323.33 | 3323.33 | 3334.0 | 3334.0 |
-| Q7 | 56 | 8073.1 | 3199.0 | 3320.01 | 3320.01 | 3334.0 | 3334.0 |
-| Q8 | 85 | 8081.18 | 3203.0 | 3320.01 | 3323.33 | 3334.0 | 3334.0 |
-| Q9 | 23 | 8089.27 | 3199.0 | 3323.33 | 109.4 | 3334.0 | 3334.0 |
-| Q10 | 648 | 8065.02 | 3203.0 | 3320.01 | 2567.15 | 3334.0 | 3334.0 |
-
-5表连接,表大小均为10000,过滤谓词涉及属性的数据倾斜度为3
-{:.center}
-
-| 表大小10000,倾斜度3 | 真实基数 | TiDB Analyze Table前 | OceanBase Major Freeze前 | TiDB Analyze Table后首次Explain | TiDB Analyze Table后多次Explain | OceanBase Major Freeze后首次Explain | OceanBase Major Freeze后多次Explain |
-| --- | --- | --- | --- | --- | --- | --- | --- |
-| Q1 | 24 | 8105.47 | 3196.0 | 3323.33 | 91.0 | 3334.0 | 3334.0 |
-| Q2 | 16 | 8097.39 | 3196.0 | 3320.01 | 67.0 | 3334.0 | 3334.0 |
-| Q3 | 67 | 8089.27 | 3199.0 | 3323.33 | 197.0 | 3334.0 | 3334.0 |
-| Q4 | 6 | 8089.27 | 3194.0 | 3320.01 | 32.0 | 3334.0 | 3334.0 |
-| Q5 | 8324 | 8081.18 | 3194.0 | 3320.01 | 3320.01 | 3334.0 | 3334.0 |
-| Q6 | 1349 | 8105.49 | 3196.0 | 3323.33 | 3323.33 | 3334.0 | 3334.0 |
-| Q7 | 1041 | 8081.2 | 3197.0 | 3320.01 | 1676.0 | 3334.0 | 3334.0 |
-| Q8 | 308 | 8065.02 | 3199.0 | 3320.01 | 635.0 | 3334.0 | 3334.0 |
-| Q9 | 9 | 8081.2 | 3204.0 | 3320.01 | 26.0 | 3334.0 | 3334.0 |
-| Q10 | 7 | 8073.1 | 3196.0 | 3320.01 | 21.0 | 3334.0 | 3334.0 |
-
- 5表连接,表大小均为50000,过滤谓词涉及属性的数据为均匀分布
-{:.center}
-
-| 表大小50000,均匀分布 | 真实基数 | TiDB Analyze Table前 | OceanBase Major Freeze前 | TiDB Analyze Table后首次Explain | TiDB Analyze Table后多次Explain | OceanBase Major Freeze后首次Explain | OceanBase Major Freeze后多次Explain |
-| --- | --- | --- | --- | --- | --- | --- | --- |
-| Q1 | 131 | 40365.48 | 16010.0 | 16600.05 | 619.1 | 16667.0 | 16667.0 |
-| Q2 | 6075 | 26015.62 | 15979.0 | 16583.45 | 16583.45 | 16667.0 | 16667.0 |
-| Q3 | 30 | 32357.16 | 16010.0 | 16583.45 | 16583.45 | 16667.0 | 16667.0 |
-| Q4 | 958 | 32357.16 | 15979.0 | 16600.05 | 1643.99 | 16667.0 | 16667.0 |
-| Q5 | 181 | 32389.55 | 15979.0 | 1342.14 | 1342.14 | 16667.0 | 16667.0 |
-| Q6 | 1263 | 32389.45 | 15979.0 | 16616.67 | 16020.82 | 16667.0 | 16667.0 |
-| Q7 | 3621 | 25989.61 | 15979.0 | 16616.67 | 10199.24 | 16667.0 | 16667.0 |
-| Q8 | 630 | 25963.62 | 15979.0 | 16616.67 | 16616.67 | 16667.0 | 16667.0 |
-| Q9 | 482 | 32421.97 | 15979.0 | 16616.67 | 16616.67 | 16667.0 | 16667.0 |
-| Q10 | 2143 | 25963.54 | 16042.0 | 16616.67 | 15048.5 | 16667.0 | 16667.0 |
-
- 5表连接,表大小均为50000,过滤谓词涉及属性的数据倾斜度为1
-{:.center}
-
-| 表大小50000,倾斜度1 | 真实基数 | TiDB Analyze Table前 | OceanBase Major Freeze前 | TiDB Analyze Table后首次Explain | TiDB Analyze Table后多次Explain | OceanBase Major Freeze后首次Explain | OceanBase Major Freeze后多次Explain |
-| --- | --- | --- | --- | --- | --- | --- | --- |
-| Q1 | 6474 | 40446.45 | 15985.0 | 16583.45 | 27418.0 | 16667.0 | 16667.0 |
-| Q2 | 954 | 40486.82 | 15985.0 | 16616.67 | 3095.07 | 16667.0 | 16667.0 |
-| Q3 | 132 | 40446.33 | 15989.0 | 16600.05 | 3434.36 | 16667.0 | 16667.0 |
-| Q4 | 459 | 40365.48 | 15989.0 | 16600.05 | 13104.74 | 16667.0 | 16667.0 |
-| Q5 | 14 | 40365.48 | 16032.0 | 16600.05 | 16600.05 | 16667.0 | 16667.0 |
-| Q6 | 648 | 40324.99 | 15985.0 | 16616.67 | 16616.67 | 16667.0 | 16667.0 |
-| Q7 | 210 | 40405.88 | 16010.0 | 16600.05 | 2778.0 | 16667.0 | 16667.0 |
-| Q8 | 53 | 40486.94 | 16007.0 | 16616.67 | 805.02 | 16667.0 | 16667.0 |
-| Q9 | 416 | 40486.94 | 16010.0 | 16616.67 | 4436.74 | 16667.0 | 16667.0 |
-| Q10 | 29 | 40446.33 | 16010.0 | 16616.67 | 9777.0 | 16667.0 | 16667.0 |
-
- 5表连接,表大小均为50000,过滤谓词涉及属性的数据倾斜度为3
-{:.center}
-
-| 表大小50000,倾斜度3 | 真实基数 | TiDB Analyze Table前 | OceanBase Major Freeze前 | TiDB Analyze Table后首次Explain | TiDB Analyze Table后多次Explain | OceanBase Major Freeze后首次Explain | OceanBase Major Freeze后多次Explain |
-| --- | --- | --- | --- | --- | --- | --- | --- |
-| Q1 | 41604 | 16600.05 | 16010.0 | 41604.0 | 41604.0 | 16667.0 | 16667.0 |
-| Q2 | 180 | 16600.05 | 16010.0 | 357.0 | 357.0 | 16667.0 | 16667.0 |
-| Q3 | 15 | 16600.05 | 16010.0 | 103.0 | 103.0 | 16667.0 | 16667.0 |
-| Q4 | 8 | 16600.05 | 16017.0 | 66.0 | 66.0 | 16667.0 | 16667.0 |
-| Q5 | 34 | 16600.05 | 16004.0 | 122.0 | 122.0 | 16667.0 | 16667.0 |
-| Q6 | 5 | 16600.05 | 16010.0 | 26.0 | 26.0 | 16667.0 | 16667.0 |
-| Q7 | 1542 | 16616.67 | 16010.0 | 3196.0 | 3196.0 | 16667.0 | 16667.0 |
-| Q8 | 5200 | 16600.05 | 16010.0 | 8396.0 | 8396.0 | 16667.0 | 16667.0 |
-| Q9 | 333 | 16616.67 | 16010.0 | 1004.0 | 1004.0 | 16667.0 | 16667.0 |
-| Q10 | 10 | 16616.67 | 16017.0 | 23.0 | 23.0 | 16667.0 | 16667.0 |
-
-从以上5表连接算子的基数预估结果,我们可以得出与3表连接中类似的现象和结论。
-
-## 四、OceanBase和TiDB对于星型连接顺序选择质量的对比
-
-星型连接在数据仓库等OLAP场景中十分常见,主要包括一个事实表和多个维度表之间进行主键-外键连接,事实表一般比维度表大。数据库对于星型连接的处理能力反应了该数据库在OLAP领域的适用度。本实验控制维度表的大小范围在\[10,50\],事实表的大小分别为10000,50000,100000,500000,1000000,在不同事实表大小的情况下分别随机生成50个8表星型连接查询。基于贪心的思想,优先选择连接基数小的算子先进行连接(包括笛卡尔积),对多表星型连接进行连接顺序的重排。比如在A,B,C,D,E 5表连接中,首先两个连接基数最小的表做连接,中间结果为Join\_a;接着从剩下的表中选择与Join\_a连接基数最小的表进行连接,重复该过程直到所有的表都参与连接。本实验以重排后的连接顺序作为基准,对OceanBase和TiDB优化器选定的连接顺序进行平均执行时间的对比。为了避免执行计划缓存的影响,本实验在OceanBase和TiDB中均设置关闭执行计划缓存。
-
-图2展示了维度表大小不同的情况下,两种数据库经过连接顺序重排前后的执行时间对比,横坐标表示事实表大小,纵坐标表示执行时间。可以发现,两种数据库的优化器在经典的星型连接场景下,均无法选出最优的连接顺序,存在连接顺序选择策略的提升空间。同时我们还可以从本实验场景中看出,在事实表大小为100000及以下,OceanBase和TiDB在处理星型连接时的性能接近,在事实表大小为500000和1000000时,OceanBase和TiDB处理星型连接的执行时间差异略大。
-
-
-
-图2 OceanBase和TiDB优化器选择的连接顺序和本文基于连接基数最小原则重排后的连接顺序性能对比
-{:.center}
-
-为了评测两种数据库优化器对于星型连接的连接顺序选择策略的可提升空间,我们使用连接顺序重排后的执行计划作为基准计划,计算两种数据库重排前的连接顺序和重排后的连接顺序的执行时间的比值,当作执行效率提升的倍数。两种数据库的优化器对于星型连接的可提升空间如图3所示,横坐标表示事实表大小,纵坐标表示执行效率提升的倍数。由本实验可知,在事实表大小为100000及以下时,TiDB优化器对于星型连接的连接顺序选择策略的可提升空间大于OceanBase;在事实表大小为500000和1000000时,两种数据库的优化器选出的执行计划的性能和本实验的基准计划的执行性能相似。另一方面,OceanBase优化器所选的执行计划和我们重排连接顺序后的基准计划相比,其可提升空间随着事实表的增多呈现降低的趋势。
-
-由于OceanBase支持Bushy Tree,我们目前的连接顺序重排算法只能基于连接基数最小原则给出基数最优的左深树,后续可改进我们的连接顺序重排算法,使得其支持Bushy Tree,从而做出更深度的连接顺序选择质量的评测。
-
-
-
-图3 OceanBase和TiDB优化器对于星型连接的连接顺序选择策略的可提升空间
-{:.center}
-
-注:本实验的所有数据和负载可通过连接获取:https://drive.google.com/drive/folders/1P53_FWfusCa3xhSSZLDCBZm1VZy52hBi?usp=sharing,包括重排前的负载和重排后的负载。
-
-## 五、OceanBase和TiDB对于复杂连接形式处理能力的对比
-
-本节首先展示OceanBase和TiDB是否全部支持图1不同的连接形式(或连接图),随机生成有意义的7种不同连接形式的负载,查看两种数据库是否可执行,结果如下表所示。
-
-| | TiDB | OceanBase |
-| --- | --- | --- |
-| Chain Join | 支持 | 支持 |
-| Star Join | 支持 | 支持 |
-| Cycle Join | 支持 | 支持 |
-| Clique Join | 支持 | 支持 |
-| Cyclic Join | 支持 | 支持 |
-| Tree Join | 支持 | 支持 |
-| Grid Join | 支持 | 支持 |
-
-为了评测OceanBase和TiDB处理复杂连接形式的性能,本实验设定所有表大小均为100万,分别随机生成50个4表连接、5表连接、6表连接、7表连接、8表连接和9表连接负载,将这些负载在OceanBase和TiDB分别执行并对比整体执行时间。本实验保证负载完全能产生有意义的非空结果,负载中涉及到的复杂连接方式包括Cycle Join、Cyclic Join及Clique Join,所有连接均为主键-外键连接。
-
-图4、图5和图6展示了在本文的测试场景下,OceanBase和TiDB在Clique Join、Cycle Join及Cyclic Join情况下的执行时延(Latency),横坐标表示参与连接的表数目。
-
-
-
-图4 OceanBase和TiDB在不同连接数目的Clique Join中的执行时间
-{:.center}
-
-
-
-图5 OceanBase和TiDB在不同连接数目的Cycle Join中的执行时间
-{:.center}
-
-
-
-图6 OceanBase和TiDB在不同连接数目的Cyclic Join中的执行时间
-{:.center}
-
-从图4、图5和图6中可以看出,OceanBase处理复杂连接形式负载的整体时延高于TiDB,在我们随机生成的测试场景中,OceanBase处理复杂连接形式负载的时延大部分为千级别(ms),而TiDB的时延为稳定的百级别(ms)。此外,在环型连接(Cycle Join)中,OceanBase处理8表连接和9表连接的时延达到了万级别(ms)。
-
-## 六、总结
-
-基于本文的实验,我们总结如下:
-
-1.基数预估方面,在Analyze Table之前,OceanBase和TiDB都会默认数据为均匀分布,该种情况下的基数预估结果和真实基数无关,随着表大小成比例改变。在Analyze Table之后,TiDB的基数预估不固定,首次使用Explain获取预估结果和多次使用Explain获取结果可能不一致,而OceanBase经过Major Freeze后,其基数预估结果仍不会随真实基数的改变而改变。
-
-2.在星型连接场景中,OceanBase和TiDB的优化器均无法选出最佳的连接顺序,其中OceanBase的优化器选择的连接顺序的质量比TiDB更接近于本文基于连接基数最小原则进行重排后的连接顺序。
-
-3.在复杂连接形式的处理性能方面,在百万级别数据量的多表连接情况下,OceanBase的性能要低于TiDB,未来应在OLAP方面加强。
-
-## 二、参考材料
-
-\[1\] Explain, https://open.oceanbase.com/docs/observer-cn/V3.1.2/10000000000015437
-
-\[2\] Join Order, https://db.in.tum.de/teaching/ws1415/queryopt/chapter3.pdf?lang=de
-
-\[3\] Leis, Viktor, et al. "Query optimization through the looking glass, and what we found running the join order benchmark." *The VLDB Journal* 27.5 (2018): 643-668.
\ No newline at end of file
diff --git a/blog/index.md b/blog/index.md
index 5a3057d..31c5171 100644
--- a/blog/index.md
+++ b/blog/index.md
@@ -9,19 +9,10 @@ nav:
{% include section.html %}
-{% include search-info.html %}
-
-{% include blog-list.html data="posts" component="post-excerpt" %}
-
-{% include section.html %}
-
-
+{% include search-box.html %}
-
+{% include tags.html tags=site.tags %}
-
+{% include list.html data="posts" component="post-excerpt" %}
diff --git a/news/index.md b/news/index.md
index 4ab9c0a..9fb7b11 100644
--- a/news/index.md
+++ b/news/index.md
@@ -10,7 +10,11 @@ nav:
{%- for item in sorted_data -%}
diff --git a/research/index.md b/research/index.md
index 64ed833..033a5a0 100644
--- a/research/index.md
+++ b/research/index.md
@@ -9,10 +9,16 @@ nav:
+## Highlighted
+
+{% include citation.html lookup="Open collaborative writing with Manubot" style="rich" %}
+
{% include section.html %}
+## All
+
{% include search-box.html %}
{% include search-info.html %}
-{% include list.html data="citations" component="citation" style="norich" %}
+{% include list.html data="citations" component="citation" style="rich" %}
diff --git a/team/index.md b/team/index.md
index 280c501..044b5b0 100644
--- a/team/index.md
+++ b/team/index.md
@@ -12,7 +12,7 @@ nav:
## 教师
{%
- include member-list.html
+ include list.html
data="members"
component="portrait"
style="small"
@@ -22,7 +22,7 @@ nav:
## 博士研究生
{%
- include member-list.html
+ include list.html
data="members"
component="portrait"
style="small"
@@ -32,7 +32,7 @@ nav:
## 硕士研究生
{%
- include member-list.html
+ include list.html
data="members"
component="portrait"
style="small"
@@ -42,7 +42,7 @@ nav:
## 毕业博士生
{%
- include member-list.html
+ include list.html
data="members"
component="portrait"
style="small"
@@ -52,7 +52,7 @@ nav:
## 毕业硕士生
{%
- include member-list.html
+ include list.html
data="members"
component="portrait"
style="small"
@@ -68,39 +68,3 @@ nav:
{% include link.html type="email" link="rzhang@dase.ecnu.edu.cn" text="联系我们" icon="" style="button" %}
{:.center}
-
-
-
-
diff --git a/tools/index.md b/tools/index.md
index 7c7fb49..508d58b 100644
--- a/tools/index.md
+++ b/tools/index.md
@@ -24,22 +24,22 @@ DBHammer实验室研发了多款支持数据库系统评测的工具,包括:
## 面向数据库的功能评测
-{% include toollist.html component="toolcard" data="tools" filters="group: function-evaluation" %}
+{% include list.html component="toolcard" data="tools" filters="group: function-evaluation" %}
{% include section.html %}
## 面向应用的数据库性能评测
-{% include toollist.html component="toolcard" data="tools" filters="group: load-simulation" %}
+{% include list.html component="toolcard" data="tools" filters="group: load-simulation" %}
{% include section.html %}
## 面向新型数据库的Benchmark
-{% include toollist.html component="toolcard" data="tools" filters="group: benchmark" %}
+{% include list.html component="toolcard" data="tools" filters="group: benchmark" %}
{% include section.html %}
## 数据库测试平台
-{% include toollist.html component="toolcard" style="large" data="tools" filters="group: general" %}
\ No newline at end of file
+{% include list.html component="toolcard" style="large" data="tools" filters="group: general" %}
\ No newline at end of file
From ed93bffb0bf9c3ffb07109c242370f2ad45a425b Mon Sep 17 00:00:00 2001
From: Zirui Hu <55592511+Wind-Gone@users.noreply.github.com>
Date: Mon, 13 Jan 2025 11:50:17 +0800
Subject: [PATCH 2/2] [fix] upgrade error
---
contact/index.md | 63 +++----------------------------------
news/index.md | 39 ++++++++++++-----------
{tools => project}/index.md | 16 +++++++---
research/index.md | 6 ----
team/index.md | 41 ++++--------------------
5 files changed, 44 insertions(+), 121 deletions(-)
rename {tools => project}/index.md (81%)
diff --git a/contact/index.md b/contact/index.md
index d9b7e4b..1fd4455 100644
--- a/contact/index.md
+++ b/contact/index.md
@@ -1,5 +1,5 @@
---
-title: Contact
+title: 联系我们
nav:
order: 5
tooltip: Email, address, and location
@@ -7,71 +7,18 @@ nav:
# {% include icon.html icon="fa-regular fa-envelope" %}Contact
-Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor
-incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis
-nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
+欢迎各位同学加入 DBHammer 实验室!
{%
include button.html
type="email"
- text="jane@smith.com"
- link="jane@smith.com"
-%}
-{%
- include button.html
- type="phone"
- text="(555) 867-5309"
- link="+1-555-867-5309"
+ text="rzhang@dase.ecnu.edu.cn"
+ link="rzhang@dase.ecnu.edu.cn"
%}
{%
include button.html
type="address"
tooltip="Our location on Google Maps for easy navigation"
- link="https://www.google.com/maps"
-%}
-
-{% include section.html %}
-
-{% capture col1 %}
-
-{%
- include figure.html
- image="images/photo.jpg"
- caption="Lorem ipsum"
+ link="https://www.google.com/maps/place/%E5%8D%8E%E4%B8%9C%E5%B8%88%E8%8C%83%E5%A4%A7%E5%AD%A6/@31.1437572,121.1860237,12z/data=!4m10!1m2!2m1!1z5Y2O5Lic5biI6IyD5aSn5a2m!3m6!1s0x35b2657fc9a83b9f:0x75cd3a460e8eebd9!8m2!3d31.227667!4d121.406829!15sChLljY7kuJzluIjojIPlpKflraYiA4gBAZIBB2NvbGxlZ2XgAQA!16zL20vMDFoejA2?entry=ttu&g_ep=EgoyMDI1MDEwOC4wIKXMDSoASAFQAw%3D%3D"
%}
-{% endcapture %}
-
-{% capture col2 %}
-
-{%
- include figure.html
- image="images/photo.jpg"
- caption="Lorem ipsum"
-%}
-
-{% endcapture %}
-
-{% include cols.html col1=col1 col2=col2 %}
-
-{% include section.html dark=true %}
-
-{% capture col1 %}
-Lorem ipsum dolor sit amet
-consectetur adipiscing elit
-sed do eiusmod tempor
-{% endcapture %}
-
-{% capture col2 %}
-Lorem ipsum dolor sit amet
-consectetur adipiscing elit
-sed do eiusmod tempor
-{% endcapture %}
-
-{% capture col3 %}
-Lorem ipsum dolor sit amet
-consectetur adipiscing elit
-sed do eiusmod tempor
-{% endcapture %}
-
-{% include cols.html col1=col1 col2=col2 col3=col3 %}
diff --git a/news/index.md b/news/index.md
index 9fb7b11..ca8566a 100644
--- a/news/index.md
+++ b/news/index.md
@@ -12,25 +12,28 @@ nav:
{%- assign data = site.news -%}
{%- if data -%}
{%- assign sorted_data = data | sort: "date" | reverse -%}
+
+ {%- for item in sorted_data -%}
+
{%- else -%}
- {%- assign sorted_data = null -%}
+
-{%- for item in sorted_data -%}
-
-
-
-