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

แสดงบทความที่มีป้ายกำกับ ฐานข้อมูล Database เฟซบุ๊ค facebook Structured Query Language SQL แสดงบทความทั้งหมด
แสดงบทความที่มีป้ายกำกับ ฐานข้อมูล Database เฟซบุ๊ค facebook Structured Query Language SQL แสดงบทความทั้งหมด

วันศุกร์ที่ 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