ก่อนที่จะเลือกใช้ที่จัดเก็บข้อมูลชนิดใดควรต้องตอบคำถามเหล่านี้ให้ได้ก่อน
ชนิดของข้อมูลที่จะจัดเก็บเป็นอะไร ?
- 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
ต้องตอบให้ได้
แต่คงไม่ได้เลือกเพราะว่า เราใช้อยู่แล้ว นะ !!