ก่อนที่จะเลือกใช้ที่จัดเก็บข้อมูลชนิดใดควรต้องตอบคำถามเหล่านี้ให้ได้ก่อน

ชนิดของข้อมูลที่จะจัดเก็บเป็นอะไร ?

  • log
  • user account
  • order transaction
  • JSON Document

ถ้าเรารู้และเข้าใจ
ก็จะทำให้เราเลือกที่จัดเก็บข้อมูลให้เหมาะสมต่อไป

ความซับซ้อนของข้อมูลเป็นอย่างไร ?

สามารถทำการ preprocessing เช่น clean data ได้ไหม
สามารถทำการ normalize data ได้ไหม
เช่นถ้า normalize ไม่ได้แล้ว
NoSQL อาจจะเป็นทางเลือกที่ดีกว่า SQL ก็เป็นได้

ระบบงานนั้นต้องการอ่านหรือเขียนข้อมูลมากกว่ากัน ?

เป็นอีกเรื่องที่สำคัญ ว่าระบบงานนั้นใช้งานข้อมูลอย่างไร
เช่นทำการอ่านเยอะ ๆ การ join กันหลาย ๆ  table ก็ไม่น่าเหมาะสมหรือไม่
ควรต้องทำการ preprocessing ข้อมูลให้ง่ายต่อการอ่านหรือไม่
จากนั้นดูว่าสิ่งใดที่เหมาะสมต่อไป
ทั้งเครื่องมือ และ architecture ในการจัดเก็บต่อไป

สิ่งที่ต้องคิดคือ จะใช้ Open source หรือ commercial

ตรงนี้เป็นการตัดสินใจทาง business ล้วน ๆ
แต่ต้องได้รับคำแนะนำจาก technical ด้วยเสมอ

อีกเรื่องที่สำคัญคือ operation ของที่จัดเก็บข้อมูลนั้น

ทั้งเรื่องของการ config
ทั้งเรื่องของการ tuning performance
ทั้งเรื่องของการ scaling
ทั้งเรื่องของการ backup and restore
ต้องตอบให้ได้

แต่คงไม่ได้เลือกเพราะว่า เราใช้อยู่แล้ว นะ !!