Slide 1

Slide 1 text

新聞資料庫 + Meilisearch Meilisearch 在大量資料遇到的問題 2026-07-12 日落 (@zeroplex)

Slide 2

Slide 2 text

Agenda  新聞資訊資料庫  資料操作特性  發展  self hosting 建議 2

Slide 3

Slide 3 text

新聞資料庫  documents : 217 萬  data size : 8 GB  index size : 35 GB 3

Slide 4

Slide 4 text

4

Slide 5

Slide 5 text

~ 150 ms

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

Full Text Search  不須對語言類型做設定  支援 typo 12

Slide 13

Slide 13 text

Meilisearch 資料操作 新增 刪除 查詢

Slide 14

Slide 14 text

新增資料  document (no need to pre-define) 14

Slide 15

Slide 15 text

約 2000 字

Slide 16

Slide 16 text

耗時 85 秒

Slide 17

Slide 17 text

約 8000 字

Slide 18

Slide 18 text

耗時 112 秒

Slide 19

Slide 19 text

r/s 3090.50 rMB/s 309.5M rrqm/s 0.00 %rrqm r_await rareq-sz Device 0.0% 1.49 102.6k sda1 w/s 0.00 wMB/s 0.0k wrqm/s 0.00 %wrqm w_await wareq-sz Device 0.0% 0.00 0.0k sda1

Slide 20

Slide 20 text

新增資料  預處理時間長  disk I/O 大  換取查詢時間 20

Slide 21

Slide 21 text

刪除資料  重建索引  disk I/O 大  不影響查詢 21

Slide 22

Slide 22 text

查詢  typo tolerance  ranking score  stop words  exclude 22

Slide 23

Slide 23 text

Meilisearch 發展 功能 演進 授權

Slide 24

Slide 24 text

版本演進  1.1x   效能 1.2x   1.3x ~  AI  維運相關 資料類型、效能 24

Slide 25

Slide 25 text

特色  彈性 ./meilisearch \ --max-indexing-memory 64Mb \ --max-indexing-threads 2 25

Slide 26

Slide 26 text

授權  MIT  Enterprise Edition sharding  horizon scaling  26

Slide 27

Slide 27 text

Self Hosting 注意事項 建議

Slide 28

Slide 28 text

運算 by Zabbix 28

Slide 29

Slide 29 text

Disk I/O  資料預先處理 讀 寫 29

Slide 30

Slide 30 text

M USAGE / LIMIT 149GiB / 11.68GiB .86MiB / 11.68GiB 0.2MiB / 11.68GiB 603GiB / 11.68GiB 2.5MiB / 11.68GiB .49MiB / 11.68GiB 84MiB / 11.68GiB 3.2MiB / 11.68GiB 0.8MiB / 11.68GiB 434GiB / 11.68GiB 0.9MiB / 11.68GiB .09MiB / 11.68GiB .32MiB / 11.68GiB .53MiB / 11.68GiB .08MiB / 11.68GiB MEM % 9.84% 0.72% 4.27% 13.72% 5.46% 0.28% 0.06% 1.70% 1.85% 29.40% 1.43% 0.75% 0.28% 0.15% 0.41% NET I/O 10.2GB / 58.4GB 27.4MB / 30.6MB 18.9GB / 17.3GB 36.1MB / 36.2MB 1.77GB / 6.41GB 2.66GB / 2.43GB 5.17GB / 5.38GB 839MB / 5.38GB 287MB / 652MB 1.88GB / 4.39GB 9.6GB / 1.49GB 77.7kB / 126B 125kB / 439kB 2.51GB / 5.09GB 22.8GB / 1.58GB BLOCK I/O 64.2GB / 114MB 74.6GB / 0B 40.4GB / 10.9GB 81.1GB / 9.16GB 62.5GB / 10.2GB 18.8GB / 30.1GB 8.09GB / 4.1kB 64.7GB / 576MB 71.6GB / 176MB 81.3TB / 14.7TB 404GB / 35.9GB 4.48GB / 408MB 338GB / 6.39GB 77.1GB / 7.64GB 307GB / 142GB PIDS 37 11 22 120 22 6 7 4 17 29 19 9 9 231 28

Slide 31

Slide 31 text

Compact  1.23.0+  remove redundant data 31

Slide 32

Slide 32 text

建議  一次處理多個 documents [ { “id”: 900, “text”: “this ...” }, { “id”: 901, “text”: “and more ...” }, .... ] 32

Slide 33

Slide 33 text

建議  拆分 index  NVMe SSD  專用硬碟 33

Slide 34

Slide 34 text

同類型工具  MySQL / PostgreSQL  ElasticSearcch / OpenSearch  Manticore Search  Typesense 34