เพ็ชรชุมพวงคอมพิวเตอร์

วันศุกร์ที่ 27 กุมภาพันธ์ พ.ศ. 2558

ฐานข้อมูลกับโลกในยุคที่ข้อมูลมีค่ามากกว่าเงิน

ฐานข้อมูลกับโลกในยุคที่ข้อมูลมีค่ามากกว่าเงิน


สวัสดีครับ กลับมาพบกันอีกครั้งนะครับ วันนี้ผมจะมาอธิบายหัวข้อทางด้านวิทยาการคอมพิวเตอร์อันหนึ่งที่มีความ เกี่ยวข้องกับชีวิตประจำวันของทุกท่านเป็นอย่างมาก โดยที่ท่านก็อาจจะไม่ทราบว่ากำลังใช้งานมันอยู่ เจ้าสิ่งนี้เป็นหลักการพื้นฐานที่นักศึกษาด้านคอมพิวเตอร์จะต้องเรียนและ ฝึกฝนจนมีความเชี่ยวชาญ เนื่องจากมีความจำเป็นอย่างมากต่อการทำงานของพวกเขาที่จะเป็นนักพัฒนา ซอฟท์แวร์นั่นเอง เราเรียกสิ่งนี้ว่า “ฐานข้อมูล (Database)” ครับ
ทุกท่านอาจจะเคยได้ยินคำว่าฐานข้อมูลกันมาบ้างแล้ว แต่อ่านมาถึงตรงนี้แล้วสงสัยว่า มันมาเกี่ยวข้องกับชีวิตประจำวันของท่านได้อย่างไรหล่ะ ผมบอกได้เลยว่าเกี่ยวข้องอย่างมากเลยครับ ถ้ายกตัวอย่างง่ายๆ ที่ใกล้ตัวเราทุกคนมากก็คือ เฟซบุ๊ค (Facebook) นั่นเอง ผมเชื่อว่าทุกคนจะต้องมีบัญชีเฟซบุ๊คส่วนตัวกันใช่ไหมครับ เมื่อเรามีบัญชีส่วนตัวแล้วเฟซบุ๊คก็จะมีช่องทางหลากหลายที่ให้เรานำข้อมูล ของเราไปแบ่งปันให้เพื่อนๆ ได้เห็น เช่น การอัพเดตสถานะ การโพสต์รูปภาพ การอ่าน และการแสดงความเห็น (comment) กับสถานะหรือรูปภาพของเพื่อนๆ เรา สิ่งเหล่านี้เราใช้งานกันจนกลายเป็นเรื่องธรรมดาไปเสียแล้วในปัจจุบัน 
อย่าง ไรก็ดี ท่านเคยคิดไหมครับว่า เอ... ข้อมูลทั้งหลายที่เราส่งเข้าไปให้เฟซบุ๊คนั้น มันถูกเก็บไว้ที่ไหนอย่างไร ทำไมเฟซบุ๊คจึงสามารถเก็บข้อมูลเรา (รวมถึงเพื่อนๆ) ได้อย่างมากมายมหาศาล นอกจากนี้ ยังสามารถแสดงข้อมูลของเราได้อย่างรวดเร็วแม้ว่าจะเป็นข้อมูลที่ เก็บไว้นานแล้วก็ตาม เช่น ข้อมูลเมื่อ 2-3 ปีที่แล้ว เราก็ยังสามารถเรียกดูได้อยู่ แต่ละวันเฟซบุ๊คมีข้อมูลใหม่เป็นปริมาณมากมายมหาศาล ภาพด้านล่างเป็นภาพศูนย์ข้อมูลของเฟซบุ๊คที่ตั้งอยู่ในประเทศสวีเดน ลองจินตนาการดูนะครับว่าขนาดของข้อมูลที่เฟซบุ๊คจะต้องจัดการนั้นใหญ่โตขนาด ไหน หากมีวิธีการจัดการที่ไม่ดีก็จะต้องลำบากแน่ๆ เลยใช่ไหมครับ คำตอบของปัญหานี้ก็คือการจัดการข้อมูลด้วย “ฐานข้อมูล (Database) นั่นเองครับ
ฐานข้อมูล, Database, Facebook
ภาพศูนย์ข้อมูล (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

ไม่มีความคิดเห็น:

แสดงความคิดเห็น