如何在 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 進行操作,你有以下幾種方式,準備好這個環境:

  1. (新手推薦)https://cloud.elastic.co 申請一個新帳號,不用填入信用卡資訊,就可以免費試用 7 天,蠻適合這次工作坊中短期的使用。

  2. 手動下載 Elasticsearch 8.10.2Kibana 8.10.2 壓縮檔,在本機執行。

    1. 解壓縮並啟動 Elasticsearch:執行 Elasticsearch 目錄中的 ./bin/elasticsearch -E xpack.security.enabled=false (透過參數強制關閉 Security,避免額外的 Security 設定流程。)

    2. 解壓縮並啟動 Kibana:執行 Kibana 目錄中的 ./bin/kibana 執行檔

    3. 請先確保 Elasticsearch 啟動後,再啟動 Kibana。

    4. 透過 http://localhost:5601 可以成功存取 Kibana 的網站。

  3. 如果你習慣使用 Docker Container 的容器化方式來建構環境,可以使用 https://github.com/onedoggo/devopsdays-taipei-2023-es-workshop 準備好的環境。

    1. 先執行 docker-compose up setup 初始化 ES 的帳號密碼。

    2. 再執行 docker-compose up -d 啟動環境,

    3. 即可以 帳號 elastic 密碼 changeme 透過 http://localhost:5601 存取 kibana。

  4. 使用你自己架設好的 Elasticsearch 與 Kibana 環境,可以存取 Kibana Dev Tools 即可。

(請不要使用 AWS OpenSearch 來操作哦! 這次工作坊是以 Elasticsearch 的功能與操作為主。)

投影片

Last updated