ทำความรู้จัก Database as a service (Mongo DB)


Notice: Undefined variable: body in /var/www/wordpress/wp-content/plugins/seed-stat-pro/admin/class-seed-stat-admin.php on line 264

Notice: Undefined variable: body in /var/www/wordpress/wp-content/plugins/seed-stat-pro/admin/class-seed-stat-admin.php on line 264
Introduction to database as a service

เคยเจอปัญหาการเสียเวลาในการดูแลรักษาฐานข้อมูลที่ต้องใช้เวลา แถมค่าใช้จ่ายสูงกันอยู่ใช่มั้ยครับวันนี้แอดจะพามารู้จักกับ Database as a service (DBaaS) กันนะครับ โดยเราจะเน้นไปที่ MongoDB ซึ่งเป็น DBaaS ประเภท NoSQL ที่นิยมใช้กันมากที่สุด  ทั้งยืดหยุ่น และใช้งานง่าย แถมยังสเกลได้อีกด้วย แล้วเราจะเริ่มต้นใช้งานมันยังไง มาเรียนรู้ไปพร้อม ๆ กันเลยยย 🚀

Database as a service คืออะไร

Database as a Service หรือเรียกสั้น ๆ ว่า DBaaS มันก็คือฐานข้อมูลที่ถูกให้บริการอยู่บนระบบคลาวด์โดยผู้ให้บริการจะดูแลจัดการทุกอย่างที่เกี่ยวข้องกับฐานข้อมูลไว้ให้เราแล้ว ตั้งแต่ฮาร์ดแวร์ ซอฟต์แวร์ ไปจนถึงการเรื่องของการบำรุงรักษา ความปลอดภัย และอัปเดตเวอร์ชัน ส่วนเราเพียงแค่มีหน้าที่เชื่อมต่อและใช้งานได้เลย

DBaaS ทำงานอย่างไร

ใน DBaaS ฐานข้อมูลจะทำงานในแบบเดียวกับฐานข้อมูลแบบเดิม ๆ ที่เราใช้ในองค์กรเลย ยังคงใช้คอร์ประมวลผลและหน่วยความจำแบบเดียวกัน ซอฟต์แวร์ของฐานข้อมูลก็แบบเดียวกัน

แต่มีความแตกต่างที่สำคัญคือเรื่องของโครงสร้างที่เป็นชั้น Physical layer ที่ฐานข้อมูล DBaaS ทำงานอยู่ โดยฐานข้อมูล DBaaS ทำงานบนแพลตฟอร์มที่ใช้ฮาร์ดแวร์ร่วมกัน แปลว่าฐานข้อมูลหลายฐานจะทำงานบนฮาร์ดแวร์เครื่องเดียวกัน ช่วยให้ผู้ให้บริการ DBaaS สามารถเพิ่มพลังการประมวลผล อัดแรม อัดซีพียูแรง ๆ เข้าไปได้เลย ทำให้ฐานข้อมูลของเรารันอยู่บนเครื่องที่มีประสิทธิภาพสูง แถมมีวิศวกรหรือผู้ที่ดูแลระบบเก่ง ๆ คอยดูแลส่วนนี้ให้เราอยู่นั้นเอง

Database-as-a-service แตกต่างจาก Database Management ยังไง

สมมติว่าเรากำลังทำเว็บอีคอมเมิร์ซ เราจำเป็นต้องมีฐานข้อมูลเพื่อเก็บข้อมูลสินค้า ข้อมูลลูกค้า และข้อมูลการสั่งซื้อ เราก็ติดตั้งฐานข้อมูลแบบเดิมบนเซิร์ฟเวอร์ในองค์กร แต่การติดตั้งแบบเดิมอาจทำให้ต้นทุนสูงและยุ่งยาก แถมยังใช้เวลาในการคอนฟิกระบบค่อนข้างนานกว่าจะเริ่มใช้งานได้

หากมาใช้เป็น DBaaS ผู้ให้บริการ DBaaS จะดูแลจัดการฮาร์ดแวร์ ซอฟต์แวร์ไว้แล้ว เราเพียงแค่เชื่อมต่อและใช้งานทำให้ไม่จำเป็นต้องกังวลกับเรื่องการดูแลส่วนนี้ สามารถเอาเวลาและต้นทุนไปโฟกัสในส่วนของการพัฒนาเว็บไซต์อีคอมเมิร์ซของเราได้เลย

3 ข้อดีเจ๋งๆ ของการใช้ DBaaS

  1. ไม่ต้องซื้อฮาร์ดแวร์เอง: เนื่องจากข้อมูลสมัยนี้โตก็ค่อนข้างไว ปุ๊บปั๊บก็เต็มก็ดิสก์แล้ว ต้องคอยซื้อฮาร์ดแวร์เพิ่มบ่อยๆ แต่ถ้าใช้เป็น DBaaS หมดกังวลเรื่องนี้ไปเลย ข้อมูลจะโตแค่ไหนก็ผู้ให้บริการเค้าก็ได้เตรียมฮาร์ดแวร์ ซอฟต์แวร์ ระบบปฏิบัติการ ไปจนถึงโปรแกรมฐานข้อมูลหมดไว้สำหรับบริการผู้ใช้บริการทั่วโลก แถมยังมีมารตฐานอีกด้วย
  2. คล่องตัว : อยากเพิ่มฐานข้อมูล หรือเปลี่ยนค่าต่างๆ ใน DBaaS สามารถทำได้ง่ายนิดเดียว ไม่ต้องรบกวนทีม IT ผู้พัฒนาหรือเดฟอย่างเรา ๆ ก็สามารถสร้างฐานข้อมูลใหม่ได้ตามที่ต้องการ หรืออยากจะโคลนข้อมูลก็ทำได้ไว ช่วยให้ทำแอปเจ๋งๆ ตอบโจทย์ธุรกิจได้ไวขึ้น
  3. เตรียมพร้อมสู่อนาคต: ฐานข้อมูล NoSQL แบบ DBaaS อย่าง MongoDB Atlas เป็นอีกตัวที่น่าสนใจเนื่องจากเราสามารถจัดการข้อมูลขนาดใหญ่ได้อย่างมีประสิทธิภาพ โดยเอาข้อมูลที่มีมาใช้ประโยชน์ได้เต็มที่ สร้างแอปพลิเคชันได้อย่างรวดเร็ว สามารถทำงานได้แบบเรียลไทม์ เอามาทำให้ธุรกิจของเราโตไปอีกขั้น

MongoDB คืออะไร

MongoDB คือฐานข้อมูล NoSQL แบบ Document-oriented database ที่ได้รับความนิยมอย่างมากในปัจจุบัน MongoDB มีความโดดเด่นเรื่องของความยืดหยุ่น สเกลได้ และรองรับข้อมูลได้หลายรูปแบบ จึงทำให้เหมาะกับงานหลากหลายประเภท เช่น

  • ระบบอีคอมเมิร์ซ เก็บข้อมูลสินค้า ข้อมูลลูกค้า ข้อมูลการสั่งซื้อ
  • ระบบ CRM เก็บข้อมูลลูกค้า ข้อมูลการขาย ข้อมูลการตลาด
  • ระบบ ERP เก็บข้อมูลการเงิน ข้อมูลการผลิต ข้อมูลทรัพยากรบุคคล
  • ระบบ BI เก็บข้อมูลเพื่อการวิเคราะห์และรายงาน


โดย MongoDB เก็บข้อมูลในรูปแบบของ Document ซึ่งแต่ละ Document ประกอบด้วยข้อมูลต่าง ๆ ในรูปแบบของ Key-value ตัวอย่างเช่น

ข้อดีของ MongoDB

MongoDB มีข้อดีหลายอย่างมากที่ทำให้ได้รับความนิยม เช่น

  • ยืดหยุ่น : เนื่องจากรองรับข้อมูลหลากหลายรูปแบบ ทำให้เหมาะกับงานหลากหลายประเภท
  • สเกลได้ : สามารถปรับขนาดฐานข้อมูลได้ตามความต้องการ
  • มีประสิทธิภาพ:  MongoDB มีประสิทธิภาพสูงในการประมวลผลข้อมูลขนาดใหญ่
  • ใช้งานง่าย : มี API ที่ใช้งานง่ายและ Document ที่ครอบคลุม

เปิดใช้งาน MongoDB DBaaS 

สำหรับ MongoDB DBaaS ที่ผมจะพามาใช้งานในวันนี้ชื่อว่า “MongoDB Atlas” เป็นบริการ MongoDB DBaaS ที่ให้บริการโดย MongoDB Inc โดย MongoDB Atlas ให้บริการบนคลาวด์ของผู้ให้บริการต่างๆ เช่น Amazon Web Services (AWS), Microsoft Azure, และ Google Cloud Platform (GCP)

ขั้นตอนในการเปิดใช้งาน MongoDB Atlas

  1. ไปที่เว็บไซต์ MongoDB Atlas : https://www.mongodb.com/atlas/database


  2. สร้างบัญชี (สามารถ login ผ่าน Google ได้)

  1. มาหน้าแรก MongoDB Atlas แล้วกด Build a Database

4.เลือกแผนบริการที่เหมาะสม 

5. ตั้งค่าชื่อฐานข้อมูล

6. เลือกภูมิภาค

เพียงเท่านี้เราก็ได้ Database พร้อมใช้งาน

ตัวอย่างการเชื่อมต่อกับ MongoDB DBaaS 

ในการเชื่อมต่อกับฐานข้อมูล MongoDB Atlas สามารถเชื่อมต่อได้หลายวิธี เช่น

  • Mongo Shell
  • MongoDB Compass
  • MongoDB Driver

โดยเราจะมาดูตัวอย่างโดยการใช้ MongoDB Driver เพื่อเอามาเชื่อมต่อกับโค้ดของเรา

  1. เรียกใช้งาน MongoDB Driver โดยใช้ตัวจัดการ package เช่น 
  1. สร้างการเชื่อมต่อกับฐานข้อมูล MongoDB Atlas โดยการไปเอา Connection String ที่หน้าเว็บไปใส่ในโค้ด
  1. ทำการนำ Connection String มาใส่ในโค้ดแล้วลองทำการรัน เพียงเท่านี้ก็จะสามารถทำให้แอปของเราต่อกับ MongoDB Atlas ได้แล้ววว 

สรุปแล้ว DBaaS ก็เป็นทางเลือกที่ดูตอบโจทย์ความต้องการขององค์กรยุคใหม่ที่ต้องการความยืดหยุ่น Scalability ความปลอดภัย ขึ้นงานได้ไว แถมยังใช้ง่าย ช่วยให้องค์กรสามารถโฟกัสไปที่การพัฒนาธุรกิจได้อย่างเต็มที่โดยไม่ต้องกังวลเรื่องการจัดการฐานข้อมูลนั่นเองงง !!!