Database คืออะไร ?
ก่อนที่จะพูดถึง DBMS นั้นต้องทำความรู้จักกับ Database เสียก่อน โดยการเก็บข้อมูลจะมีอยู่ 2 รูปเเบบหลัก ๆ คือเป็นไฟล์ กับ เป็นฐานข้อมูล ซึ่งฐานข้อมูลจะเก็บข้อมูลในรูปเเบบของตารางเเละเเต่ละตารางจะมีความสัมพันธ์ระหว่างกันผ่านค่าที่กำหนดเอาไว้ การจัดการกับสิ่งเหล่านี้ถูกเรียกว่า Database Management System (DBMS)
DBMS ทำอะไรบ้าง
ในระบบการจัดการฐานข้อมูลนี้มีหลักการ 2 อย่างหลัก ๆ คือ RDBMS เเละ ORDBMS
Relational Database Management System
- เซตของข้อมูลที่อยู่ในตารางที่แต่ละตารางมีความสัมพันธ์กันซึ่งสามารถเข้าถึงข้อมูลได้ โดยนำ SQL มาจัดการกับเรื่องนี้ ข้อมูลที่เก็บจะมีลักษณะเป็น Database ในรูปตาราง และมีตัวระบุคือ primary key บางครั้งเราอาจเรียก RDBMS ว่าเป็นส่วนขยายของ DBMS
Object Relational Database Management System
- เป็นการนำ DBMS, RDBMS, and Object Relation มาใช้งานร่วมกัน โดยที่ใช้หลักการของ Object oriented programming เข้ามาช่วย ข้อแตกต่างของ ORDBMS คือการมองข้อมูลในลักษณะของวัตถุ มีลักษณะและความสามารถเฉพาะ เหมาะกับ NoSQL
สิ่งที่กล่าวมาข้างต้นนี้คือหลักการจัดการกับข้อมูล
ขอบเขตของข้อมูล
เนื่องจากข้อมูลในโลกยุคดิจิตอลนั้นมีปริมาณที่มหาศาลมากจึงจำเป็นต้องจำกัดความเเละลักษณะการนำมาใช้งานเพื่อให้ง่ายต่อการทำงาน โดยมีขอบเขตต่าง ๆ ดังนี้
Data Lake
- คลังที่เก็บทุกสิ่งทุกอย่างที่เป็นข้อมูลเอาไว้ไม่ว่าจะเป็น structured data, semi structured data, and unstructured data ซึ่งช่วยให้นักวิทยาการข้อมูลเห็นรูปแบบที่ซ่อนอยู่ของข้อมูลได้ กับการเพิ่ม volume, quality, meta data ส่งผลให้ประสิทธิภาพในการวิเคราะห์ข้อมูลเพิ่มขึ้นเช่นกัน แต่ก็มีความเสี่ยงในเรื่องของความปลอดภัยและการเข้าถึงข้อมูล
Data Warehouse
- เป็นการผสมผสานระหว่างเทคโนโลยีและส่วนประกอบต่าง ๆ ที่เกี่ยวกับกลยุทธ์ของการใช้ข้อมูลเพื่อให้ข้อมูลเชิงลึกแก่ธุรกิจ โดยจะเก็บไฟล์ของข้อมูลต่าง ๆ เพื่อนำมาช่วยตัดสินใจเกี่ยวกับกลยุทธ์ของธุรกิจ สรุปสั้น ๆ คือการรวบรวมข้อมูลเชิงลึกที่ช่วยให้การตัดสินใจทางธุรกิจไม่ว่าจะเป็นกลยุทธ์หรือการทำงานต่าง ๆ เป็นไปได้ง่ายและมีประสิทธิภาพมากขึ้น
Data Mart
- เป็น subset ของข้อมูลใน Data warehouse ที่สนใจเฉพาะเจาะจงลงไปเป็นเรื่อง ๆ มีขนาดเล็ก ช่วยให้ผู้ใช้งานทำงานได้ง่ายขึ้นด้วยการลดปริมาณของข้อมูล (แบ่งออกตามประเภท) ง่ายต่อการเข้าถึงและง่ายต่อการดำเนินงานอีกด้วย เรียกได้ว่าเป็นการทำงานแบบ Agile (เน้นไปที่ความรวดเร็วในการไปสู่ผลลัพธ์) ประเภทของ Data Mart ได้แก่
- Dependent – เป็นการสร้าง data mart โดยใช้แหล่งข้อมูลจากการดำเนินงานจริง หรือจากภายนอก และอาจใช้ทั้งสองแหล่งเลยก็ได้ (รวบรวมข้อมูลมายัง warehouse แล้วจึงสกัดออกไปเป็น mart)
- Independent – เป็นการสร้าง data mart ที่สร้างขึ้นโดยไม่ต้องใช้ข้อมูลของส่วนกลางจาก Data warehouse (ข้อมูลจากแหล่งข้อมูลมยัง mart ทันที มักเป็นงานขนาดเล็กหรือจำพวกไอเดีย แนวคิด)
- Hybrid – เป็น Data mart แบบที่นำข้อมูลมาได้ทั้งจาก data warehouse และ การดำเนินงาน
SQL and NoSQL
สองสิ่งนี้คือภาษาสำหรับจัดการกับฐานข้อมูล โดย SQL จัดการกับข้อมูลที่มีโครงสร้าง (Structured Query Language) เเละ NoSQL ไว้จัดการกับข้อมูลที่มีความหลากหลายกว่า (Not only Structured Query Language )
SQL
- เป็นภาษาที่มี syntax ใกล้เคียงกับภาษาของมนุษย์มาก ใช้งานกับข้อมูลที่มีโครงสร้างที่ประกอบด้วย fields เเละ รายละเอียดต่าง ๆ โดยฐานข้อมูลที่มีจะถูกเตรียมให้เหมาะสมกับการนำไปใช้ รวมถึงยัง query ได้ง่ายอีกด้วย เช่น Web application จำพวก E-Commerce ที่ต้องมี Record เกี่ยวกับ Transaction ในการซื้อขาย รายการสินค้า ข้อมูลสมาชิก เป็นต้น สิ่งเหล่านี้จะถูกเก็บในฐานข้อมูลเเละจัดการด้วย SQL ทั้งนี้ยังมีการใช้นำไปใช้จัดการระบบต่าง ๆ อีกมากมาย ไม่ว่าจะในธุรกิจเอกชน องค์กร หน่วยงานรัฐ ฯลฯ
NoSQL
- เหมาะกับข้อมูลที่มีรูปแบบหลากหลาย มีความรวดเร็ว (Big Data) เพราะ NoSQL เหมาะกับ distributed system ข้อมูลไม่จำเป็นต้องมี schema ตายตัว เเละ ยังสามารถเป็น Non Relation ได้อีกด้วย ส่วนมากถูกนำมาใช้กับ social media ในการจัดการข้อมูลของ user เเละโพสต์ต่าง ๆ ที่มีจำนวนมาก อาทิเช่น Facebook, Twitter, Instagram เเละ Pinterest เป็นต้น
Conclusion
ข้อมูลที่ถูกเก็บใน Database นั้นมีวิธีการจัดการที่เรียกว่า DBMS ซึ่งเเยกออกได้เป็น RDBMS เเละ ORDBMS มีภาษาที่ไว้จัดการคือ SQL เเละ NoSQL โดยข้อมูลจะมีขอบเขตต่าง ๆ ที่เหมาะสมกับการใช้งานได้เเก่ Data Lake, Data Warehouse, Data Mart
อ่านบทความอื่นได้ที่ SBC-Blog เเละ Facebook page Subbrain