17
Jun
Non-relational database
.
Non-relational database คือ
.
Non-relational database ถูกคิดค้นขึ้นในช่วงกลางทศวรรษ 1990 เนื่องจากในยุคนั้นมีการใช้งานอินเตอร์เน็ตที่หลากหลายขึ้นทำให้ การใช้งาน Relational database เริ่มไม่ตอบโจทย์ ทำให้มีการเริ่มคิดค้นตัว Non-relational หรือที่เรียกว่า NoSQL ขึ้นมา เพื่อให้สามารถแปลข้อมูลที่มีความหลากหลายมากขึ้น รวมไปถึงการหลีกเลี่ยงความยุ่งยากของการใช้งาน Relational ซึ่งก็ยังมีการเพิ่มความยืดหยุ่นที่มากขึ้นด้วย
.
ตัวย่อ NoSQL ถูกใช้งานครั้งแรกในปี 1998 โดย Carlo Strozzi โดย NoSQL แพร่หลายมากขึ้นในปี 2015 เนื่องจากในปีเดียวกันมีการทำ Big Data มากขึ้น องค์กรต่างๆชั้นนำในขณะนั้น เช่น Facebook, Twitter, LinkedIn, และ Google เริ่มมีการปรับใช้ NoSQL เพราะว่า ตอบโจทย์ในเรื่องความเร็ว ความยืดหยุ่นและเหมาะกับองค์กรขนาดใหญ่ที่ต้องการประมวลผลข้อมูลพวกรูปภาพ วีดีโอ เสียงจำนวนมาก
.
Non-relational database คือ ฐานข้อมูลที่ไม่ใช่ Relational Database เป็น Unstrcuture ของ Database แบบ SQL ไว้ใช้สำหรับข้อมูลที่ไม่ได้อยู่เป็นรูปแบบของตาราง หรือมีความเชื่อมโยงสัมพันธ์กันโดยตรง เช่น ข้อมูลที่เป็นภาพ เป็นวีดีโอ เป็นเสียง หรืออาจจะเป็นข้อมูลที่เป็นตัวอักษรก็ได้
.
Non-relational database มีทั้งหมด 4 ประเภท
แบ่งตามลักษณะการใช้งาน
.
– Key-Value storage
เรียกอีกอย่างว่า Key-Value Database เป็นระบบจัดเก็บข้อมูลที่ออกแบบมาสำหรับการจัดเก็บ การดึงข้อมูล และการจัดการ ” associative arrays ” ซึ่งมันทำงานแตกต่างจาก Relational database อย่างมาก เจ้าตัวนี้เลือกจะการเลือกตัวเลือกที่มีความหลากหลายให้เหมาะสมที่สุดเมื่อจัดประเภทข้อมูล
.
ฐานข้อมูลคีย์-ค่าสามารถแบ่งพาร์ติชันได้ดีและสามารถปรับขนาดแนวนอนได้ตามขนาดที่ต้องการซึ่งฐานข้อมูลประเภทอื่นไม่สามารถทำได้ กรณีใช้งาน เช่น สำหรับเล่นเกม เทคโนโลยีโฆษณา และ IoT ทำให้ฐานข้อมูลประเภทนี้เหมาะสำหรับโมเดลข้อมูลแบบคีย์-ค่ามากอย่างยิ่ง
.
– Document storage
คือ ระบบจัดเก็บข้อมูลที่ออกแบบมาสำหรับการจัดเก็บ การดึงข้อมูล และการจัดการข้อมูลแบบ “document-oriented” โดยรวมอาจคล้ายคลึงกับ Key-Value storage แต่วิธีการประมวลผลข้อมูลแตกต่างกัน ระบบนี้จะใช้โครงสร้างภายในของเอกสารเพื่อระบุตัวตนและจัดเก็บ
.
Document Stores จะบันทึกข้อมูลทั้งหมดสำหรับรายการที่กำหนดเป็น instance เดียวในฐานข้อมูล (แทนที่จะกระจายไปทั่วตาราง แบบระบบเชิงสัมพันธ์) ทำให้ง่ายต่อการMapรายการลงในฐานข้อมูล
.
เนื่องจากเป็นโมเดลข้อมูลที่มีประสิทธิภาพและใช้งานง่ายสำหรับ Developer ฐานข้อมูลแบบเอกสารช่วยให้ Developer จัดเก็บและสืบค้นข้อมูลในฐานข้อมูลได้ง่ายขึ้น โดยใช้รูปแบบโมเดลเอกสารเดียวกันที่ใช้ในโค้ดแอปพลิเคชัน ลักษณะที่ยืดหยุ่น เป็นกึ่งโครงสร้าง และเป็นลำดับขั้นของเอกสารและฐานข้อมูลเอกสาร
.
– Wide Column storage
เป็นระบบใช้ตาราง แถว และคอลัมน์ แต่แตกต่างจาก Relational database จะมีความยืดหยุ่นมากกว่า ชื่อและรูปแบบของคอลัมน์สามารถเปลี่ยนจากแถวหนึ่งไปอีกแถวภายในตารางเดียวกันได้ พูดง่ายๆคือสามารถปรับเปลี่ยนภายในตารางได้มากกว่า ซึ่งบางตัว สามารถรองรับการทำ column families เลยจะถูกเรียกว่า column family databases
.
– Graph database
เป็นการการรวมกลุ่มความสัมพันธ์ของข้อมูล ในแต่ละ memory (a node) จะมีสัญลักษณ์ของentity ซึ่งมันก็พวกข้อมูลแบบธุรกิจ บุคคล หรือวัตถุ โดยแต่ละ memory (a node) จะเชื่อมต่อกับอีกอัน ซึ่งการเชื่อมต่อนี้ จะเรียกว่า edge และเป็นตัวแทนความสัมพันธ์ของทั้งสอง node
.
วัตถุประสงค์ของฐานข้อมูลแบบกราฟคือเพื่อให้การสร้างและการเรียกใช้แอปพลิเคชันที่ทำงานกับชุดข้อมูลที่เชื่อมต่ออย่างดีเยี่ยมเกิดขึ้นได้อย่างง่ายดาย กรณีใช้งานโดยทั่วไปสำหรับฐานข้อมูลแบบกราฟรวมถึงเครือข่ายทางสังคม กลไกข้อเสนอแนะ การตรวจจับการปลอมแปลง
.
ตัวอย่างการใช้งาน
– การใช้งานกับอุปกรณ์ IoT และ อุปกรณ์ telematics
ต้องเริ่มก่อนว่าอุปกรณ์ telematics เป็นอุปกรณ์ที่ใช้เก็บข้อมูลบนรถยนต์ มีการติด GPS มักใช้คู่กับประกันรถยนต์ชั้น 1 ระบบทั้งสอง มักจะมีการเก็บการทำกิจกรรมต่างๆ รับข้อมูลจำนวนมากๆ และบ่อยครั้ง การใช้งาน NoSQL ก็ตอบโจทย์ในเรื่องนี้ ทำให้สามารถจัดเก็บข้อมูลได้อย่างรวดร็ว และมีความยืดหยุ่นสูง
.
– ธุรกิจค้าปลีกและการตลาด Retail and marketing
ตัวอย่างของกรณีนี้คือ Microsoft ใช้ CosmosDB ใน ecommerce platforms ของตัวเองในการทำงานของ Windows Store และ Xbox Live นอกจากนี้ยังถูกใช้งานในอุตสาหกรรมค้าปลีก เพื่อการจัดเรียงข้อมูลการซื้อสินค้าและข้อมูลคำสั่งซื้อต่างๆ
.
– เกมส์ Gaming
Database มีความสำคัญต่อระบบเกมมากๆ เกมสมัยใหม่ดำเนินการประมวลผลแบบกราฟิกบนมือถือ/คอนโซลของลูกค้า แต่พึ่งพาระบบคลาวด์เพื่อนำเสนอเนื้อหาที่ customized และ personalized ของลูกค้าแต่ละคน เช่น สถิติในเกม การใช้งานร่วมโซเชียลมีเดียอื่นๆ และ scoreboards เกมต้องการการประมวลผลที่รวดเร็วในระดับที่เป็น single-millisecond latencies เพื่อมอบประสบการณ์ที่ดีที่สุด ดังนั้น NoSQL จึงตอบโจทย์ด้านนี้
.
– เว็บไซต์ และ แอปพลิเคชั่นบนมือถือ
ยกตัวอย่างในกรณี การใช้ Azure Cosmos DB ในเว็บและแอปพลิเคชันมือถือ และเหมาะอย่างยิ่งสำหรับการสร้างแบบจำลองการโต้ตอบทางสังคม การผสานรวมกับ third-party services และสำหรับการสร้างประสบการณ์ personalized Cosmos DB SDK (ชุดพัฒนาซอฟต์แวร์) สามารถใช้สร้างแอปพลิเคชัน iOS และ Android ที่สมบูรณ์ได้โดยใช้เฟรมเวิร์กยอดนิยม อย่าง Xamarin
.
ถ้าคุณอยากใช้งาน Database แต่ไม่รู้จะใช้งานยังไง เริ่มต้นยังไง เรายินดีให้คำปรึกษาเพื่อเลือก Database ที่ดีที่สุดสำหรับองค์กรของคุณ
.
.
สอบถามข้อมูล พร้อมให้คำปรึกษาในการทำ Database หรือ Bigdata
ติดต่อบริษัท มอนสเตอร์ คอนเนค
โทร 02-026-6665
หรือ Line: @MonsterConnect
.
Written by Witsawa Chanton
.
.
.
Ref.
https://www.dataversity.net/a-brief-history-of-non-relational-databases/#
https://aws.amazon.com/th/nosql/