ใช้ NoSQL จัดการกับ Big Data

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

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

ทางเลือกมีไม่มาก ผมเลยเริ่มหันมามอง NoSQL อย่างจริงจัง ซึ่งถึงมันเพิ่งจะเริ่มตั้งไข่ได้ไม่กี่ปี แต่ผมก็คิดว่าในอนาคตผมต้องได้ใช้มันแน่ ๆ

ปัญหาที่ตอนนี้ผมเจอเกี่ยวกับ NoSQL ก็คือแนวความคิดที่่ว่า มันจะไม่มีการ JOIN ระหว่างตารางข้อมูล มันขัดกับหลักพื้นฐานที่ร่ำเรียนมามาก ๆ และการประยุกต์ใช้ในทางปฏิบัติมันก็หลีกเลี่ยงการ JOIN ไม่ได้ด้วยอ่ะดิ เพราะข้อมูลในทางธุรกิจมันพัวพันยึดโยงกันอยู่ มันควรจะแยกอิสระออกจากกันแล้ว JOIN กันตามแบบเดิม ๆ ที่เคยเป็น

ถ้า DBMS แบบ NoSQL ไม่ยอมทำเรื่อง JOIN ข้อมูล งั้นก็คงมีทางเลือกสองทาง คือออกแบบเป็นแบบ Denormalized หรือไม่ก็ต้องเขียนโปรแกรมเพื่อ JOIN เอง!!!

ผมคิดว่าคนอื่นก็คิดคล้าย ๆ กัน และผมก็ได้ข่าวว่าตอนนี้มีการซุ่มพัฒนาภาษาคอมพิวเตอร์ ที่เหมือนกับภาษา SQL เพื่อใช้สำหรับฐานข้อมูลแบบ NoSQL โดยเฉพาะ ผมก็เลยคิดว่าภายในปี สองปี สามปี ที่จะถึงนี้ เราอาจจะพบว่า DBMS แบบ NoSQL กับภาษาคอมพิวเตอร์เพื่อสืบค้นฐานข้อมูลแบบใหม่ อาจจะใส่กลไกการ JOIN แบบใหม่เข้าไปก็ได้ เมื่อถึงตอนนั้น เราคงจะได้ใช้ฐานข้อมูลแบบใหม่ บนพื้นฐานความรู้แบบเก่า โดยไม่กระทบกระเทือนกับของเดิมที่พัฒนาเอาไว้แล้ว

ของใหม่มันก็ดีอยู่หรอกนะ แต่ยังไงเราก็ต้องใส่ใจกับของเก่าด้วย เพราะต้นทุนในการยกระดับให้ทันสมัย มันแพงเอาเรื่องอยู่เหมือนกันนะเออ

Related Posts

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *