Elasticsearch คืออะไร?

เนื่องจากที่บริษัทกำลังจะก้าวเข้าสู่โลก Big Data (จริงๆ เข้ามานานแล้วแหละ แต่เริ่มจะมีโอกาสได้ใช้ประโยชน์จากมัน) ช่วง 3-4 วันที่ผ่านมานี้ก็เลยมีโอกาสได้ลองแตะๆ Elasticsearch อยู่บ้าง จริงๆ มีอีกตัวหนึ่งที่คิดไว้คือ Solr แต่ส่วนตัวแล้วชอบชื่อ Elasticsearch มากกว่า ดูหล่อกว่า เลยเริ่มศึกษาจาก Elasticsearch ก่อน

Continue reading "Elasticsearch คืออะไร?"

หลักการทำงานของ MapReduce และตัวอย่างการใช้

มีโอกาสได้เริ่มอ่านหนังสือ Hadoop: The Definitive Guide เขียนโดย Tom White แบบจริงๆ จังๆ เพราะในอนาคตจะได้ใช้แน่ๆ กะว่าอ่านไปแล้วก็มาเขียนบล็อกแปลไปจะได้เข้าใจได้มากขึ้น โพสต์นี้จะกล่าวถึงหลัการทำงาน และตัวอย่างการใช้ MapReduce เพื่อประมวลผลข้อมูลจำนวนมหาศาล

MapReduce คือ programming model ที่จะแบ่งส่วนการทำงานเป็น 2 ขั้นตอน คือ ขั้นตอน map และ ขั้นตอน reduce โดยแต่ละขั้นตอนจะมีคู่ key-value เป็น input และ output ซึ่งเราจะเป็นคนกำหนดเอง ส่วนนี้อาจจะต้องอาศัยประสบการณ์เล็กน้อย และความเข้าใจในข้อมูลนั้นๆ ถึงจะออกแบบคู่ key-value ในแต่ละขั้นออกมาได้ สำหรับคนที่ยังมองไม่ออกก็ไม่เป็นไร ค่อยๆ ศึกษาไปเรื่อยๆ เดี๋ยวจะรู้เองครับว่าเราควรจะออกแบบออกมาแบบไหนถึงจะดี นอกเหนือจากการออกแบบแล้ว เรายังจะต้องกำหนดฟังก์ชั่น map และฟังก์ชั่น reduce อีกด้วย ว่าจะให้ทำงานอย่างไร

Continue reading "หลักการทำงานของ MapReduce และตัวอย่างการใช้"