What is Elasticsearch?
REST HTTP JSON distributed search analytics real-time scalable open-source Lucene ---- Honza Král
Elasticsearch คืออะไร
Elasticsearch คือ Distributed Data Store ตัวหนึ่งที่พัฒนาต่อยอดมาจาก Apache Lucene มีจุดเด่นในเรื่องความสามารถของการ search แบบเป็น distributed search ที่ทุกๆ filed ของข้อมูลที่เก็บจะถูกทำ index ไว้ ทำให้ความเร็วในการ search กับข้อมูลขนาดมหาศาลแบบ Near Real-time สามารถสรุปข้อมูลขนาดใหญ่ได้อย่างรวดเร็ว และการติดต่อกับส่วน data store สามารถทำได้โดยผ่าน RESTful API ซึ่งทำให้การอ่านเขียนข้อมูลกับตัว Elasticsearch ทำได้ง่ายมาก
ทำไมเราถึงควรเลือกใช้ Elasticsearch?
1. ทำงานได้รวดเร็ว
Elasticsearch มีการทำ index ข้อมูลไว้ในทุกๆ field ข้อมูล ทำให้ค้นหาและสรุปข้อมูลข้อมูลขนาดใหญ่ได้อย่างรวดเร็วใกล้เคียงกับการเข้าถึงข้อมูลแบบ Near Real-time ซึ่งช่วยให้คุณใช้ ElasticSearch ได้ในกรณีใช้งานต่างๆ เช่น การติดตามแอปพลิเคชัน และการตรวจหาสิ่งผิดปกติ การมอนิเตอร์
2. เก็บข้อมูลแบบในรูปแบบ JSON Document
Elasticsearch เลือกใช้การเก็บข้อมูลในรูปแบบ JSON (JavaScript Object Notation) ซึ่งเป็นรูปแบบมาตรฐานข้อมูลที่ใช้งานได้ง่าย รับส่งข้อมูลได้หลากหลายแพลตฟอร์ม และไม่มี schema ช่วยให้เริ่มต้นใช้งานและสร้างแอปพลิเคชันในกรณีใช้งานต่างๆ ได้ง่ายและรวดเร็ว
Schema คือโครงสร้างข้อมูลหรือนิยามข้อมูล รวมถึงความสัมพันธ์ของข้อมูลในแต่ละ Entity ว่ามีความสัมพันธ์กันอย่างไร
ตัวอย่าง เช่น ถ้าเรามีตารางข้อมูลของดังนี้
ID | Name | Age |
1 | ilog | 26 |
โครงสร้างข้อมูล (Schema) ของนักศึกษา คือ
ID | Name | Age |
|
Schema เปรียบเสมือนหัวข้อของตาราง
3. พัฒนาแอปพลิเคชันได้หลากหลาย
ElasticSearch รองรับภาษาต่างๆ รวมถึง Java, Python, PHP, JavaScript, Node.js, Ruby และอื่นๆ
4. ใช้งานผ่าน HTTP API
ElasticSearch มี REST API ที่ไม่ซับซ้อน อินเทอร์เฟซ HTTP ที่ไม่ซับซ้อน
Last updated