จากหลักสูตรสอบรม MongoDB for DBA (Database Administrator) และหลักสูตรสร้างเว็บแอพด้วย MEAN Stack และ Node.js มีคนที่เคยใช้ MongoDB มาตั้งแต่รุ่นแรกๆ แล้วสงสัยว่า
การเปลี่ยน Storage engine ที่ใช้ในการเก็บข้อมูล จาก MMAPv1 มาเป็น wiredTiger ได้ประโยชน์มากกว่าเดิมยังไง
เลยขอเอามาเล่าไว้ในที่นี้ครับ
WiredTiger storage engine ดีกว่าในด้าน
- ประสิทธิภาพของ concurrency ดีกว่า
- บีบอัดโดยใช้ระบบ Native (Native compression)
- Higher throughput และทำนายประสิทธิภาพได้แม่นยำกว่า
ประสิทธิภาพของ Concurrency ดีกว่า
โดยปกติตอนอัพเดต document ตัว MongoDB จะใช้สิทธิ์ใน “จอง” การเขียนข้อมูลใหม่ในระดับ Collection ทำให้ในระหว่างขั้นตอนนี้อาจจะมีผลกับความเร็วในการอ่านข้อมูล
ซึ่งถ้าเกิดแอพพลิเคชั่นของเรามีการเขียนข้อมูลมากกว่าฝั่งการอ่านข้อมูล หรือในระดับที่เท่าๆ กัน WiredTiger จะให้ผลที่ดีกว่า เพราะว่า
WiredTiger มีกลไกในการ “จอง” ระดับ Document (แตกต่างจาก MMAPv1 ที่ “จอง” ได้ในระดับ Collection เท่านั้น)
ทำให้การทำงานแบบ Concurrency ให้ประสิทธิภาพดีกว่า
Native Compression
ค่าเริ่มต้นของ WiredTiger กำหนดใช้การบีบอัดแบบ Snappy algorithm ทำให้ได้ผลดีที่บีบอัดได้สูง และใช้ CPU ต่ำกว่า
การสั่งรัน MongoDB มาใช้ wiredTiger
ทั้งนี้ใน MongoDB 3.2 เป็นต้นมา ได้ตั้งให้ wiredTiger เป็นตัว Storage engine หลักแล้วนะครับ คำสั่งนี้สำหรับเวอร์ชั่นเก่า
--storageEngine wiredTiger
ดูข้อมูลเพิ่มเติมเกี่ยวกับความสามารถของ WiredTiger ได้ที่นี่
สนใจอบรมเรื่อง NoSQL และ MongoDB ให้ DBA ขององค์กร?
สามารถติดต่อ 083-071-3373 เพื่อติดต่อขอบริการจัดอบรมแบบ in-house ในองค์กรได้ครับ
เปิดอบรมสร้าง Cross Platform Mobile Application ด้วย Ionic Framework
เหมาะสำหรับคนทำเว็บ, เริ่มต้น JavaScript ES6 และ Angular เข้าใจง่าย, ใช้ได้จริง
สอบถาม หรือติดต่อจัดอบรมโทร 083-071-3373
โปรหน้าฝน! เรียนรอบสด รับคอร์สออนไลน์มูลค่ากว่า 5800 บาทฟรี!