ฐานข้อมูลกับโลกในยุคที่ข้อมูลมีค่ามากกว่าเงิน
สวัสดีครับ กลับมาพบกันอีกครั้งนะครับ วันนี้ผมจะมาอธิบายหัวข้อทางด้านวิทยาการคอมพิวเตอร์อันหนึ่งที่มีความ เกี่ยวข้องกับชีวิตประจำวันของทุกท่านเป็นอย่างมาก โดยที่ท่านก็อาจจะไม่ทราบว่ากำลังใช้งานมันอยู่ เจ้าสิ่งนี้เป็นหลักการพื้นฐานที่นักศึกษาด้านคอมพิวเตอร์จะต้องเรียนและ ฝึกฝนจนมีความเชี่ยวชาญ เนื่องจากมีความจำเป็นอย่างมากต่อการทำงานของพวกเขาที่จะเป็นนักพัฒนา ซอฟท์แวร์นั่นเอง เราเรียกสิ่งนี้ว่า “ฐานข้อมูล (Database)” ครับ
ทุกท่านอาจจะเคยได้ยินคำว่าฐานข้อมูลกันมาบ้างแล้ว แต่อ่านมาถึงตรงนี้แล้วสงสัยว่า มันมาเกี่ยวข้องกับชีวิตประจำวันของท่านได้อย่างไรหล่ะ ผมบอกได้เลยว่าเกี่ยวข้องอย่างมากเลยครับ ถ้ายกตัวอย่างง่ายๆ ที่ใกล้ตัวเราทุกคนมากก็คือ เฟซบุ๊ค (Facebook) นั่นเอง ผมเชื่อว่าทุกคนจะต้องมีบัญชีเฟซบุ๊คส่วนตัวกันใช่ไหมครับ เมื่อเรามีบัญชีส่วนตัวแล้วเฟซบุ๊คก็จะมีช่องทางหลากหลายที่ให้เรานำข้อมูล ของเราไปแบ่งปันให้เพื่อนๆ ได้เห็น เช่น การอัพเดตสถานะ การโพสต์รูปภาพ การอ่าน และการแสดงความเห็น (comment) กับสถานะหรือรูปภาพของเพื่อนๆ เรา สิ่งเหล่านี้เราใช้งานกันจนกลายเป็นเรื่องธรรมดาไปเสียแล้วในปัจจุบัน
อย่าง ไรก็ดี ท่านเคยคิดไหมครับว่า เอ... ข้อมูลทั้งหลายที่เราส่งเข้าไปให้เฟซบุ๊คนั้น มันถูกเก็บไว้ที่ไหนอย่างไร ทำไมเฟซบุ๊คจึงสามารถเก็บข้อมูลเรา (รวมถึงเพื่อนๆ) ได้อย่างมากมายมหาศาล นอกจากนี้ ยังสามารถแสดงข้อมูลของเราได้อย่างรวดเร็วแม้ว่าจะเป็นข้อมูลที่ เก็บไว้นานแล้วก็ตาม เช่น ข้อมูลเมื่อ 2-3 ปีที่แล้ว เราก็ยังสามารถเรียกดูได้อยู่ แต่ละวันเฟซบุ๊คมีข้อมูลใหม่เป็นปริมาณมากมายมหาศาล ภาพด้านล่างเป็นภาพศูนย์ข้อมูลของเฟซบุ๊คที่ตั้งอยู่ในประเทศสวีเดน ลองจินตนาการดูนะครับว่าขนาดของข้อมูลที่เฟซบุ๊คจะต้องจัดการนั้นใหญ่โตขนาด ไหน หากมีวิธีการจัดการที่ไม่ดีก็จะต้องลำบากแน่ๆ เลยใช่ไหมครับ คำตอบของปัญหานี้ก็คือการจัดการข้อมูลด้วย “ฐานข้อมูล (Database)” นั่นเองครับ
ภาพศูนย์ข้อมูล (Data center) ของ เฟซบุ๊คที่ประเทศสวีเดน โดย Tortap (Own work) [CC BY-SA 3.0 (http://creativecommons.org/licenses/by-sa/3.0)], via Wikimedia Commons
การทำงานของฐานข้อมูล
ฐานข้อมูล นั้นจะทำงานได้จะต้องมีโปรแกรมที่ช่วยในการบริหารจัดการที่เรียกว่า ระบบจัดการฐานข้อมูล (Database Management Systems: DBMS) ซึ่งเจ้าระบบจัดการฐานข้อมูลนี้จะเก็บข้อมูลทั้งหมดไว้ในฐานข้อมูลในรูปแบบ ดิจิตอล ไม่ว่าจะเป็นข้อความที่เป็นตัวหนังสือ หรือแม้แต่รูปภาพก็ตามจุด เด่นที่ทำให้ระบบจัดการฐานข้อมูลสามารถเก็บและเรียกใช้ข้อมูลได้อย่างมี ประสิทธิภาพก็คือการเก็บข้อมูลอย่างเป็นระบบระเบียบมีโครงสร้างนั่นเอง โดยเก็บข้อมูลในรูปแบบตารางซึ่งประกอบด้วยแถว (row) และสดมภ์ (column) หากท่านนึกไม่ออกให้ลองนึกถึงการเก็บข้อมูลในโปรแกรมไมโครซอฟท์เอ๊กเซล (Microsoft Excel) เป็นตัวอย่างก็ได้ครับ ซึ่งการเก็บข้อมูลในรูปแบบตารางนี้ทำให้สะดวกต่อการเรียกใช้งาน เนื่องจากเราได้แบ่งข้อมูลออกเป็นส่วนย่อยๆ หลายๆ ส่วน ที่สามารถบันทึกและเรียกดูแยกกันได้ ทำให้มีความรวดเร็วในการเข้าถึงข้อมูลมากกว่าการเก็บอย่างไม่มีโครงสร้าง หรือการเก็บในโครงสร้างอื่นๆ
ID | Name | Province |
1 | สมปอง | กรุงเทพมหานครฯ |
2 | สมหมาย | นครสวรรค์ |
3 | สมใจ | กรุงเทพมหานคร |
4 | สมหญิง | นนทบุรี |
ตัวอย่างโครงสร้างการเก็บข้อมูลในระบบจัดการฐานข้อมูล
จุด
เด่นอีกอย่างหนึ่งที่สำคัญของระบบจัดการฐานข้อมูลก็คือ
วิธีการบันทึกและเรียกดูข้อมูลนั่นเอง
ระบบจัดการฐานข้อมูลมีวิธีการจัดการกับสิ่งเหล่านี้อย่างชาญฉลาด
ลองนึกดูว่าถ้าเราเก็บชื่อเพื่อนๆ ของเราในไฟล์ Microsoft Word
แล้วเราต้องการหารายชื่อของเพื่อนที่อยู่ในจังหวัดกรุงเทพมหานครฯ ทุกคน
เราก็จะต้องไล่ดูไปทีละคนใช่ไหมครับ นั่นทำให้เสียเวลามาก
ยิ่งเรามีเพื่อนเยอะเท่าไหร่ รายชื่อของเราก็จะยิ่งยาว
แล้วเราก็จะยิ่งเสียเวลาในการไล่ดูจนครบทุกคน แต่ ว่าระบบจัดการฐานข้อมูลมีการเก็บข้อมูลอย่างมีโครงสร้างอยู่แล้ว ทำให้สามารถเรียกดูข้อมูลโดยการระบุไปได้อย่างเฉพาะเจาะจงว่า “ต้องการชื่อของเพื่อนทุกคน ที่อยู่ในจังหวัดกรุงเทพมหานครฯ” ซึ่งวิธีการระบุข้อมูลที่เราต้องการแบบนี้จะกระทำผ่านภาษาเฉพาะอันหนึ่งที่ ระบบจัดการฐานข้อมูลเข้าใจได้ ที่เรียกว่า Structured Query Language (SQL) นั่น เองครับ แล้วระบบจัดการฐานข้อมูลก็จะคืนข้อมูลเฉพาะส่วนที่เราอยากได้มาให้ภายในเวลา อันรวดเร็วเพียงเสี้ยววินาทีเท่านั้น จากตัวอย่างข้อมูลในตารางด้านบน เราจะได้ผลลัพธ์แบบนี้ครับ
สมปอง |
สมใจ |
ผลลัพธ์จากการเรียกดูข้อมูลจากระบบจัดการฐานข้อมูลอย่างเฉพาะเจาะจง
(“ต้องการชื่อของเพื่อนทุกคน ที่อยู่ในจังหวัดกรุงเทพมหานคร”)
ที่เล่ามาทั้งหมดเป็นเพียงหลักการพื้นฐาน
ของฐานข้อมูลและระบบจัดการฐานข้อมูลครับ
เห็นไหมครับว่าการจัดการข้อมูลอย่างมีโครงสร้างที่เป็นระบบนั้นสำคัญอย่าง
มาก ในการทำให้เราเก็บบันทึกและเรียกดูข้อมูลได้อย่างมีประสิทธิภาพ
โดยเฉพาะในโลกยุคที่เราเก็บข้อมูลทั้งหมดไว้ในรูปแบบดิจิตอลบนเครื่อง
คอมพิวเตอร์
ข้อมูลเหล่านี้มีค่าและมีความสำคัญอย่างยิ่งยวด เนื่องจากเป็นตัวขับเคลื่อน
ธุรกิจ การเงิน การใช้ชีวิต แม้แต่เงินในบัญชีธนาคารของเราทุกคนก็อยู่ในฐานข้อมูลเช่นกัน เพราะฉะนั้นเรารู้หลักการทำงานของมันเอาไว้ก็คงไม่เสียหลายจริงไหมครับ หากมีโอกาส ในครั้งต่อๆ ไปผมจะมาเล่าเกี่ยวกับฐานข้อมูลเพิ่มเติมในรายละเอียดต่อไปนะครับ(“ต้องการชื่อของเพื่อนทุกคน ที่อยู่ในจังหวัดกรุงเทพมหานคร”)
สุดท้ายนี้ ขออำนาจคุณพระศรีรัตนตรัยจงดลบันดาลให้ทุกท่านมีความสุข สุขภาพแข็งแรงในวันขึ้นปีใหม่ 2558 ที่จะถึงในเร็วๆ นี้ครับ แล้วพบกันใหม่ครับ
อ้างอิง:
Carlos Coronel, Steven Morris, and Peter Rob, Database Systems: Design, Implementation, and Management, Ninth Edition, Course Technology, 9th Edition (2009)
http://upload.wikimedia.org/wikipedia/commons/2/20/Facebook_Serverhall_2.jpg
http://en.wikipedia.org/wiki/SQL
ไม่มีความคิดเห็น:
แสดงความคิดเห็น