Non-relational database

Non-relational database

Non-relational database

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://docs.microsoft.com/en-us/learn/modules/explore-concepts-of-non-relational-data/2-explore-characteristics

https://aws.amazon.com/th/nosql/

Monster Connect
Monster Connect