6 พ.ค. เวลา 08:00 • การศึกษา

รู้จักกับ SQL และ NOSQL (Relational Database & Non-Relational Database)

ฐานข้อมูล (Database) หมายถึง กลุ่มข้อมูลที่ถูกรวบรวมและจัดเก็บไว้อย่างมีโครงสร้าง โดยมีรูปแบบการจัดเก็บที่ชัดเจน เป็นระเบียบและง่ายต่อการทำไปใช้ตามวัตถุประสงค์ที่ต้องการ
ฐานข้อมูลที่นิยมใช้ในปัจจุบันแบ่งออกเป็น 2 แบบ ได้แก่
  • ฐานข้อมูลเชิงสัมพันธ์ (Relational Database)
  • ฐานข้อมูลไม่ใช่เชิงสัมพันธ์ (Non-Relational Database)
ฐานข้อมูลเชิงสัมพันธ์ (Relational Databases)
https://stackoverflow.com/questions/51542341/relational-database-design-query
  • เป็นฐานข้อมูลที่ใช้ภาษา SQL (Structure Query Language) มาดำเนินการกับข้อมูล (เพิ่ม , ลบ , แก้ไข , ค้นหา)
  • จัดเก็บข้อมูลแบบตาราง (Table)
  • *กำหนดโครงสร้างการจัดเก็บข้อมูลที่ชัดเจน (Structure Data)
  • มีการเชื่อมโยงความสัมพันธ์กับข้อมูลตารางอื่นๆด้วย
Database Management System (DBMS)
ระบบจัดการฐานข้อมูล SQL ที่ได้รับความนิยมในปัจจุบัน
  • MySQL
  • Oracle
  • PostgreSQL
  • SQL Server
ฐานข้อมูลไม่ใช่เชิงสัมพันธ์ (Non-Relational Database)
https://commons.wikimedia.org/wiki/File:Nosql.gif
ฐานข้อมูลไม่ใช่เชิงสัมพันธ์ (Non-Relational Database)หรือเรียกอีกชื่อ คือ NoSQL (Not-Only SQL) ถูกคิดค้นขึ้นเพื่อจัดการข้อจำกัดของการใช้งาน Relational Database ในอดีต เพื่อปรับเปลี่ยนโครงสร้างการจัดเก็บข้อมูลให้มีความยืดหยุ่นที่มากขึ้นด้วย
NoSQL ถูกนำมาใช้งานการสำหรับประมวลผลข้อมูลจากการใช้งาน Internet อย่างแพร่หลายในยุคปัจจุบันไม่ว่าจะมาจาก Social Media ต่างๆ ที่มีข้อมูลขนาดใหญ่ (Big Data) เพื่อแปลข้อมูลที่มีความหลากหลายมากขึ้น เช่น ข้อมูลรูปภาพ วิดีโอ เสียง ตัวอักษร เป็นต้น ซึ่งจะตอบโจทย์ในเรื่องความเร็วและความยืดหยุ่นในการจัดเก็บข้อมูล
ฐานข้อมูลไม่ใช่เชิงสัมพันธ์ (Non-Relational Databases)
  • ไม่มีการจัดเก็บข้อมูลในแบบตารางที่มีความสัมพันธ์กัน
  • ไม่มีโครงสร้างการจัดเก็บข้อมูลที่แน่นอน (Unstructure Data)
  • ง่ายต่อการปรับขนาดและโครงสร้าง
รูปแบบการจัดเก็บข้อมูล (NoSQL Store)
NoSQL ไม่มีโครงสร้างการจัดเก็บข้อมูลที่แน่นอน เพื่อที่จะสามารถปรับเปลี่ยนโครงสร้างได้ในอนาคต โดยจะเก็บข้อมูลอยู่ 4 รูปแบบ (ตามลักษณะการใช้งาน)
  • Key — Value Store
  • Document Store
  • Graph Store
  • Wide Column Store
Key-Value Store เป็นระบบจัดเก็บข้อมูลในรูปแบบที่เรียกว่า ”Associative Arrays ” หรืออาร์เรย์ของชุดข้อมูลที่มีความสัมพันธ์กันในรูปแบบคู่คีย์ (key : value) หรือเรียกอีกชื่อว่า Dictionary
https://dv-website.s3.amazonaws.com/uploads/2018/09/kvd-pic1.png
โดยคีย์ (key) จะทำหน้าที่เป็นตัวเชื่อมโยงไปยังค่า (value) ในโครงสร้างของฐานข้อมูลซึ่งจะมีได้แค่คีย์เดียว และการดึงข้อมูลต้องระบุคีย์ที่เก็บค่าข้อมูลนั้นๆไว้
ตัวอย่างฐานข้อมูลแบบ Key — Value Store
  • Redis
  • Oracle NoSQL Database
  • Aerospike
Document Store เป็นฐานข้อมูลเชิงเอกสารที่ออกแบบมาเพื่อจัดเก็บข้อมูล ดึงข้อมูล และจัดการข้อมูล ที่เรียกว่า “Document-Oriented” คือ ใช้โครงสร้างภายในของเอกสารเพื่อระบุการจัดเก็บข้อมูล ซึ่งมีลักษณะแบบกึ่งโครงสร้าง (Semi Structure Data) โดยเอกสาร (Document) จะถูกเข้ารหัสข้อมูลและจัดให้อยู่ในรูปแบบของ XML , JSON
https://dataconomy.com/wp-content/uploads/2014/07/SQL-vs.-NoSQL.png
https://lennilobel.wordpress.com/2015/06/01/relational-databases-vs-nosql-document-databases/
ตัวอย่างฐานข้อมูลแบบ Document Store
  • MongoDB
  • CouchDB
Graph Store เป็นการจัดเก็บข้อมูลและความสัมพันธ์ของข้อมลในรูปแบบกราฟ ข้อมูลด้านในจะเรียกว่า โหนด (Node) ซึ่งจะเก็บ Entity ของข้อมูลและกำหนดความสัมพันธ์ที่เชื่อมโยงความสัมพันธ์ดังกล่าวผ่าน Edge การใช้งานกราฟจะถูกนำเสนอผ่านความสัมพันธ์ของข้อมูล เช่น Social Network , AI และ Machine Learning เป็นต้น
https://d1.awsstatic.com/diagrams/foaf-graph.e5e42865e0ee97a2972f9014d28f525ef68a981b.png
https://dz2cdn1.dzone.com/storage/temp/13696862-1593695775580.png
https://dist.neo4j.com/wp-content/uploads/20180711200201/twitter-users-graph-database-model-peter-emil-johan.png
Wide Column Storage เป็นการจัดเก็บข้อมูลเป็นเรคอร์ดหรือในรูปแบบ ตาราง แถว และคอลัมน์ ซึ่งจะแตกต่างจาก Relational Database คือจะมีความยืดหยุ่นมากกว่า ชื่อและรูปแบบของคอลัมน์สามารถเปลี่ยนจากแถวหนึ่งไปอีกแถวภายในตารางเดียวกันได้และขยายคอลัมน์ได้จำนวนมาก (Extensible Record Store : ขยายการจัดเก็บข้อมูลในแต่ละเรคอร์ด) อาจจะมองเป็นรูปแบบ key:value ในรูปแบบ 2 มิติก็ได้
https://database.guide/wp-content/uploads/2016/06/wide_column_store_database_example_column_family-1.png
ตัวอย่างฐานข้อมูลแบบ Wide Column Store
  • Cassandra
  • HBase
  • DynamoDB
  • Microsoft Azure Cosmos DB
➤ ติดตามข่าวสารเพิ่มเติมได้ที่ :
โฆษณา