รูปแบบข้อมูลที่มักจะนำ Elasticsearch ไปใช้งานมากๆ ก็คือ
- พวก logging ต่างๆ ของระบบ
- ข้อมูลจาก Social media ต่างๆ
- ข้อมูลพวก event ต่างๆ
ซึ่งข้อมูลรูปแบบนี้มักถูกนำมาใช้ในรูปแบบของช่วงเวลาเป็นหลัก
และวจึงนำข้อมูลในช่วงเวลาเหล่านั้น ไปประมวลผลหรือทำงานต่อไป
ดังนั้นมาดูว่าสามารถจัดการใน Elasticsearch ได้อย่างไร
รูปแบบการจัดการข้อมูลและ index ใน Elasticsearch มีดังนี้
1. แบบ index ที่เดียว
โดยข้อมูลจะกระจายไปยัง shard ต่างๆ และก็จะโตไปตามจำนวนข้อมูล
2. แบบ index ตามช่วงเวลาที่กำหนด
ตัวอย่างเช่น รายเดือน รายสัปดาห์ และ รายวันเป็นต้น
โดย index จะแยกกัน ทำให้สามารถดึงข้อมูลเฉพาะช่วงเวลาที่กำหนดขึ้นมา
ซึ่งจะทำงานเร็วกว่า ใช้งาน index ร่วมกันทั้งหมด
รวมทั้งถ้าต้องการลบข้อมูล สามารถระบุช่วงเวลาที่ต้องการได้เลย
ซึ่งรูปแบบนี้มันสะดวกมากๆ และสามารถรองรับข้อมูลจำนวนมากมายได้อย่างง่ายดาย
และไม่ต้องไปเสียเวลาหรือตัดสินใจทำการแบ่งหรือย้ายข้อมูลอะไรมากนัก
ดังนั้นในการนำไปใช้งานนั้นได้อย่างดี โดยสามารถเพิ่มข้อมูลเฉพาะของข้อมูลนั้นๆ เข้าไป
ตัวอย่างเช่น
- ข้อมูลเวลา
- ข้อมูล category
- ข้อมูลอื่นๆ ที่ต้องการตามระบบงาน เช่น ที่อยู่ จังหวัด ชนิดของ device เป็นต้น
จะทำให้สามารถค้นหาและกรองข้อมูลตามความต้องการได้
ดังนั้น ก่อนจะนำไปใช้งานต้องทำความเข้าใจกับการใช้งานข้อมูลด้วยนะครับ
เพื่อที่จะได้แก้ไขปัญหาตามที่ต้องการ
เนื่องจาก Elasticseach มันจะทำให้เราตีลังกาคิดจาก RDBMS คือ
เราต้องคิดเพื่อแก้ไขปัญหาหนึ่งๆ ไม่ใช่ storage เพื่อเก็บข้อมูลแล้วนำไปแสดงผลนะครับ