ใน Elasticsearch 7.10 ที่เพิ่งปล่อยออกมานั้น
เท่าที่ดูแล้ว พบว่ามีความสามารถต่าง ๆ ที่น่าสนใจออกมาเยอะใช้ได้เลย
จึงทำการสรุปไว้นิดหน่อย
เริ่มจากเรื่องของประสิทธิภาพในการ indexing data ที่เร็วขึ้น 20%
สิ่งที่น่าสนใจต่อมาคือ การจัดการที่จัดเก็บข้อมูลของแต่ละ index
เริ่มจากการบีบอัดข้อมูลที่ดีขึ้นจาก Apache Lucene 8.7
ส่งผลให้ใช้งานพื้นที่จัดเก็บน้อยลงไปกว่า 0-10%
จะส่งผลดีอย่างมากกับข้อมูลที่ซ้ำกันมาก
ยกตัวอย่างข้อมูลพวก log และ metric ต่าง ๆ นั่นเอง
เรื่องใหม่อีกตัวคือ Data tier
โดยจะแบ่ง hardware ต่าง ๆ ของแต่ละ Node ตามชนิดของ data tier นั้น ๆ
ช่วยทำให้เราสามารถลงทุนและจัดการค่าใช้จ่าย
ของที่จัดเก็บได้ตรงกับชนิดของข้อมูลมากที่สุด
แบ่งเป็นดังนี้
- Content tier คือ node ที่ใช้ indexing และ query ข้อมูล
- Hot tier คือ node ที่ใช้ indexing ข้อมูลที่เป็น stream หรือ time-series เช่น log และ metric รวมทั้งข้อมูลใหม่และเข้าถึงล่าสุด
- Warm tier คือ node ที่เก็บข้อมูล time-series เช่นกัน แต่เป็นข้อมูลที่ถูกใช้ไม่บ่อย หรือทำการแก้ไขไม่บ่อย
- Cold tier คือ node ที่เก็บข้อมูล time-series เช่นกัน แต่นานจะถูกใช้งาน หรือไม่มีการแก้ไขเลย
แน่นอนว่า สามารถ config การทำงานร่วมกับ Index Lifecycle Management(ILM) ได้แน่นอน
สำหรับการค้นหาข้อมูล เพิ่มเรื่อง Point in Time (PiT) เข้ามา
ที่น่าสนใจมาก ๆ จะนำมาอธิบายในบทความต่อไป
ส่วน Breaking change ที่ควรต้องรู้ไว้บ้าง เช่น
- การเข้าถึงข้อมูล index ของ system ถูก deprecated แล้ว ซึ่งตอนนี้จะแสดง warning message ออกมา โดยจะถูกนำออกไปใน version ต่อ ๆ ไป
- การ boost ใน mapping ของแต่ละ field/property ถูก deprecated แล้ว จะถูกนำออกไปใน version 8 โดยให้ไปใช้ boost ใน query แทนได้
ลอง Download มาใช้งานกันดูครับ