กรณีศึกษา MongoDB

แนวคิด NoSQL

Miriam Antona

Software engineer

MongoDB - ภาพรวม

MongoDB logo

  • ฐานข้อมูลเอกสารยอดนิยม
  • รูปแบบ BSON (Binary JSON)
แนวคิด NoSQL

MongoDB - ฟีเจอร์

  • MongoDB Query Language (MQL)
db.users.find({ "address.zipcode" : "10245" })
  • ไดรเวอร์ดั้งเดิมสำหรับ ภาษาโปรแกรม: C#, Java, Python, Scala และอื่นๆ
  • Indexes บนทุกฟิลด์
  • ธุรกรรม ACID (Atomicity, Consistency, Isolation และ Durability)
  • Joins ในคิวรี
แนวคิด NoSQL

MongoDB - ฟีเจอร์

  • ขยายขนาดแนวนอน
    • sharding แบบดั้งเดิม
    • เพิ่ม/ย้าย shard
  • การจำลองข้อมูล (Replication)
    • สำเนาข้อมูลได้ถึง 50 ชุด
แนวคิด NoSQL

MongoDB - ผลิตภัณฑ์

  • MongoDB Compass:
    • GUI ฟรี
    • สำรวจ schema และสร้างคิวรีแบบภาพ...
  • MongoDB Atlas:
    • บริการ Cloud
    • AWS, Azure, Google Cloud
  • MongoDB Enterprise Advanced:
    • รัน MongoDB บนโครงสร้างพื้นฐานของเราเอง
แนวคิด NoSQL

MongoDB - ผลิตภัณฑ์

  • MongoDB Atlas Lake:
    • คิวรีและวิเคราะห์ข้อมูล
    • AWS S3 และ MongoDB Atlas
    • MQL
  • MongoDB Charts:
    • แสดงผลข้อมูลเป็นภาพ
  • Realm Mobile Database:
    • จัดเก็บข้อมูลในเครื่องบน iOS หรือ Android
แนวคิด NoSQL

MongoDB - การใช้งานยอดนิยม

  • แอปพลิเคชัน Single View: บริการการเงิน, ราชการ, เทคโนโลยี, ค้าปลีก...
  • การเล่นเกม: โปรไฟล์ผู้เล่น, ลีดเดอร์บอร์ด...
  • แคตตาล็อก: บริการการเงิน, ราชการ, เทคโนโลยี, ค้าปลีก...
  • การวิเคราะห์แบบ Real-time
  • การจัดการเนื้อหา
  • Internet of Things
แนวคิด NoSQL

MongoDB - ลูกค้า

โลโก้ลูกค้า MongoDB บางส่วน

แนวคิด NoSQL

กรณีศึกษา Shutterfly - ภาพรวม

  • บริการถ่ายภาพออนไลน์
    • แชร์อัลบั้มภาพส่วนตัว
    • ผลิตภัณฑ์พิมพ์ภาพถ่าย
  • ลูกค้าหลายล้านราย
  • รูปภาพมากกว่าหกพันล้านภาพ

Shutterfly logo

แนวคิด NoSQL

กรณีศึกษา Shutterfly - ปัญหาและแนวทางแก้ไข

  • ข้อมูลเติบโตอย่างรวดเร็ว
  • ข้อจำกัดด้านประสิทธิภาพของ Oracle
  • ใช้เวลานานในการพัฒนาแอปพลิเคชัน
  • แอปพลิเคชันทำงานไม่เร็วพอ
  • Oracle มีต้นทุนสูงเกินไป
  • เลือกใช้ MongoDB
แนวคิด NoSQL

กรณีศึกษา Shutterfly - ผลลัพธ์

  • ประสิทธิภาพดีขึ้น
    • Insert 400 ms. -> 2 ms.
  • การขยายขนาดแนวนอน
  • Schema ยืดหยุ่น -> พัฒนาได้รวดเร็วขึ้น
    • Tags, comments ฯลฯ ติดตั้งได้ง่าย
  • รูปแบบคิวรีใหม่
  • ลดต้นทุน
แนวคิด NoSQL

กรณีศึกษา Shutterfly - ผลลัพธ์

  • ประสิทธิภาพดีขึ้น
    • Insert 400 ms. -> 2 ms.
  • การขยายขนาดแนวนอน
  • Schema ยืดหยุ่น -> พัฒนาได้รวดเร็วขึ้น
    • Tags, comments ฯลฯ ติดตั้งได้ง่าย
  • รูปแบบคิวรีใหม่
  • ลดต้นทุน
1 https://www.mongodb.com/who-uses-mongodb
แนวคิด NoSQL

มาฝึกกันเถอะ!

แนวคิด NoSQL

Preparing Video For Download...