如何在 Elasticsearch 實現敏捷的資料建模與管理 @ DevOpsDays 2023
如何在 Elasticsearch 實現敏捷的資料建模與管理
在面對不斷變化的商業需求,敏捷快速交付價值以及选代的精神已廣泛落實在 DevOps 的實踐之中,但是在使用 Elasticsearch 處理巨量日誌或資料時,一但需求改變或是有新的資料使用需求提出時,我們的應對及管理的策略為何? 如何在 Elasticsearch 來做到最佳的實踐?
工作坊將包含以下的內容:
敏捷的資料建模與管理的概念簡介
Elasticsearch Data Modeling 簡介
深入 Elasticsearch Data Modeling 的實作
Schema on read 與 Schema on write 的差異與實現方式
事先定義好的 Data Modeling
動態產生的 Data Modeling
Data Model 的选代
適合已經使用過 Elasticsearch,或至少稍微了解 Elasticsearch 的聽眾。
課程目標
掌握有彈性的敏捷資料建模與管理的方法,並且透過設計好的實作案例,一步一步的學習如何在 Elasticsearch 進行實踐,掌握 Dynamic Field Mapping, Dynamic Template, Runtime Fields, Async Search 以及在 schema on read 至 schema on write 的轉換調整的方式。
行前準備
電腦需求
建議 16GB 以上的 RAM
MacOS, Linux, Windows 皆可,但請不要用太舊的作業系統
操作環境需求
Elasticsearch 8.0 以上版本
Kibana 8.0 以上版本
這次工作坊主要會使用 Kibana 的 Dev Tools 進行操作,你有以下幾種方式,準備好這個環境:
(新手推薦) 在 https://cloud.elastic.co 申請一個新帳號,不用填入信用卡資訊,就可以免費試用 7 天,蠻適合這次工作坊中短期的使用。
手動下載 Elasticsearch 8.10.2 與 Kibana 8.10.2 壓縮檔,在本機執行。
解壓縮並啟動 Elasticsearch:執行 Elasticsearch 目錄中的
./bin/elasticsearch -E xpack.security.enabled=false (透過參數強制關閉 Security,避免額外的 Security 設定流程。)
解壓縮並啟動 Kibana:執行 Kibana 目錄中的
./bin/kibana
執行檔請先確保 Elasticsearch 啟動後,再啟動 Kibana。
透過 http://localhost:5601 可以成功存取 Kibana 的網站。
如果你習慣使用 Docker Container 的容器化方式來建構環境,可以使用 https://github.com/onedoggo/devopsdays-taipei-2023-es-workshop 準備好的環境。
先執行
docker-compose up setup
初始化 ES 的帳號密碼。再執行
docker-compose up -d
啟動環境,即可以 帳號
elastic
密碼changeme
透過 http://localhost:5601 存取 kibana。
使用你自己架設好的 Elasticsearch 與 Kibana 環境,可以存取 Kibana Dev Tools 即可。
(請不要使用 AWS OpenSearch 來操作哦! 這次工作坊是以 Elasticsearch 的功能與操作為主。)
投影片
Last updated