ภาพรวมของฐานข้อมูล NoSQL

ตัวย่อ NoSQL ถูกประกาศเกียรติคุณในปี พ.ศ. 2541 หลายคนคิดว่า NoSQL เป็นคำที่สร้างความเสียหายให้กับ SQL ในความเป็นจริงคำว่า Not Only SQL แนวคิดคือเทคโนโลยีทั้งสองสามารถอยู่ร่วมกันและแต่ละคนมีสถานที่ การเคลื่อนไหวของ NoSQL เกิดขึ้นในช่วงไม่กี่ปีที่ผ่านมาเนื่องจากผู้นำเว็บ 2.0 หลายรายได้ใช้เทคโนโลยี NoSQL บริษัท ต่างๆเช่น Facebook, Twitter, Digg, Amazon, LinkedIn และ Google ทั้งหมดใช้ NoSQL แบบนี้หรืออีกทางหนึ่ง

ลองแบ่ง NoSQL เพื่อให้คุณสามารถอธิบายให้ CIO หรือแม้แต่เพื่อนร่วมงานของคุณ

NoSQL โผล่ออกมาจากความต้องการ

การจัดเก็บข้อมูล: ข้อมูลดิจิทัลที่เก็บไว้ในโลกของโลกจะถูกวัดด้วย exabyte ที่ทำการหนึ่งพันไบต์เท่ากับหนึ่งพันล้านกิกะไบต์ (GB) ของข้อมูล ตาม Internet.com จำนวนข้อมูลที่เก็บไว้ที่เพิ่มขึ้นในปีพ. ศ. 2549 คือ 161 exabyte เพียงแค่ 4 ปีต่อมาในปี 2553 ปริมาณข้อมูลที่เก็บจะเพิ่มขึ้นเกือบ 1,000 ExaBytes ซึ่งเพิ่มขึ้นกว่า 500% กล่าวอีกนัยหนึ่งมีข้อมูลจำนวนมากถูกเก็บไว้ในโลกและจะมีการเติบโตอย่างต่อเนื่อง

ข้อมูลที่เชื่อมต่อกัน: ข้อมูลยังคงเชื่อมต่อกันต่อไป การสร้างเว็บในการเชื่อมโยงหลายมิติบล็อกมี pingbacks และทุกระบบเครือข่ายทางสังคมที่สำคัญมีแท็กที่ผูกสิ่งต่างๆไว้ด้วยกัน ระบบหลักถูกสร้างขึ้นเพื่อเชื่อมต่อกัน

โครงสร้างข้อมูลที่ซับซ้อน: NoSQL สามารถจัดการโครงสร้างข้อมูลที่ซ้อนกันตามลำดับชั้นได้อย่างง่ายดาย เพื่อให้บรรลุสิ่งเดียวกันใน SQL คุณจะต้องมีตารางความสัมพันธ์หลายอันที่มีคีย์ทุกชนิด

นอกจากนี้ยังมีความสัมพันธ์ระหว่างประสิทธิภาพและความซับซ้อนของข้อมูล ประสิทธิภาพสามารถลดลงใน RDBMS แบบเดิมเนื่องจากเราเก็บข้อมูลจำนวนมหาศาลที่จำเป็นในแอ็พพลิเคชันเครือข่ายสังคมและเว็บแบบ semantic

NoSQL คืออะไร?

ฉันเดาวิธีหนึ่งในการกำหนด NoSQL คือการพิจารณาสิ่งที่ไม่.

ไม่ใช่ SQL และไม่เกี่ยวข้อง เช่นเดียวกับชื่อที่แนะนำไม่ใช่การเปลี่ยน RDBMS แต่เป็นการชมเชย NoSQL ได้รับการออกแบบมาเพื่อจัดเก็บข้อมูลแบบกระจายสำหรับข้อมูลขนาดใหญ่ที่ต้องการ คิดเกี่ยวกับ Facebook กับผู้ใช้ 500 รายหรือ Twitter ที่รวบรวม Terabits ข้อมูลทุกวัน

ในฐานข้อมูล NoSQL ไม่มีสคีมาแบบคงที่และไม่มีการรวมเข้าด้วยกัน RDBMS "ยกระดับ" ขึ้นโดยการเพิ่มฮาร์ดแวร์และเพิ่มหน่วยความจำได้เร็วขึ้น ในทางกลับกัน NoSQL สามารถใช้ประโยชน์จาก "ปรับขนาดได้" การปรับขนาดออกหมายถึงการกระจายภาระมากกว่าระบบสินค้าโภคภัณฑ์จำนวนมาก นี่คือส่วนประกอบของ NoSQL ที่ทำให้เป็นโซลูชันที่ไม่แพงสำหรับชุดข้อมูลขนาดใหญ่

หมวดหมู่ NoSQL

โลก NoSQL ปัจจุบันสอดคล้องกับ 4 ประเภทพื้นฐาน

  1. คีย์ - ค่าร้านค้า อยู่บนพื้นฐาน ของ Amazon 's Dynamo Paper ซึ่งเขียนในปี 2007 ความคิดหลักคือการดำรงอยู่ของตารางแฮชที่มีคีย์ที่ไม่ซ้ำกันและตัวชี้ไปยังรายการเฉพาะของข้อมูล การแม็ปเหล่านี้มักมาพร้อมกับกลไกแคชเพื่อเพิ่มประสิทธิภาพสูงสุด
    ร้านค้าของคอลัมน์ในคอลัมน์ ถูกสร้างขึ้นเพื่อจัดเก็บและประมวลผลข้อมูลจำนวนมากกระจายอยู่ทั่วหลายเครื่อง ยังมีคีย์อยู่ แต่ชี้ไปที่หลายคอลัมน์ ในกรณีของ BigTable (แบบจำลอง NoSQL ของกลุ่ม Google) แถวจะถูกระบุด้วยคีย์แถวที่มีข้อมูลจัดเรียงและจัดเก็บโดยคีย์นี้ คอลัมน์จัดเรียงตามกลุ่มคอลัมน์
  1. ฐานข้อมูลเอกสาร ได้รับแรงบันดาลใจจาก Lotus Notes และคล้ายกับร้านค้าคีย์ - ค่า โมเดลเป็นเอกสารที่จัดทำเป็นชุดที่เก็บรวบรวมคอลเล็กชันคีย์ - ค่าอื่น ๆ ไว้ เอกสารกึ่งโครงสร้างจะจัดเก็บในรูปแบบเช่น JSON
  2. ฐานข้อมูลกราฟ ถูกสร้างขึ้นด้วยโหนดความสัมพันธ์ระหว่างโน้ตและคุณสมบัติของโหนด แทนที่จะเป็นตารางแถวและคอลัมน์และโครงสร้างที่เข้มงวดของ SQL รูปแบบกราฟที่มีความยืดหยุ่นถูกนำมาใช้ซึ่งสามารถปรับขนาดได้ในหลายเครื่อง

ผู้เล่น NoSQL รายใหญ่

ผู้เล่นหลักใน NoSQL ได้เกิดขึ้นเนื่องจากองค์กรต่างๆที่ได้รับการรับรอง บางส่วนของเทคโนโลยีที่ใหญ่ที่สุด NoSQL รวมถึง:

กำลังสอบถาม NoSQL

คำถามเกี่ยวกับวิธีการสืบค้นฐานข้อมูล NoSQL คือสิ่งที่นักพัฒนาซอฟต์แวร์ส่วนใหญ่มีความสนใจหลังจากที่ข้อมูลที่เก็บไว้ในฐานข้อมูลขนาดใหญ่ไม่ได้ทำอะไรให้ดีถ้าคุณไม่สามารถดึงข้อมูลและแสดงให้ผู้ใช้หรือผู้ให้บริการเว็บ ฐานข้อมูล NoSQL ไม่ได้มีภาษาแบบสอบถามแบบ declarative ระดับสูงเช่น SQL แต่การสอบถามฐานข้อมูลเหล่านี้เป็นข้อมูลเฉพาะของแบบจำลอง

แพลตฟอร์ม NoSQL จำนวนมากอนุญาตให้ใช้อินเทอร์เฟซ RESTful กับข้อมูล API แบบสอบถามข้อเสนออื่น ๆ มีเครื่องมือแบบสอบถามที่พัฒนาขึ้นซึ่งพยายามค้นหาฐานข้อมูล NoSQL หลายชุด เครื่องมือเหล่านี้มักทำงานในหมวด NoSQL แบบเดียว ตัวอย่างหนึ่งคือ SPARQL SPARQL เป็นข้อกำหนดแบบสอบถามที่เปิดเผยซึ่งออกแบบมาสำหรับฐานข้อมูลกราฟ ต่อไปนี้คือตัวอย่างของข้อความค้นหา SPARQL ที่ดึงข้อมูล URL ของบล็อกเกอร์ (โดยได้รับความอนุเคราะห์จาก IBM):

PREFIX foaf:
SELECT? url
FROM
WHERE {
ผู้สนับสนุน Foaf: ชื่อ "Jon Foobar"
ผู้สนับสนุน foaf: weblog? url
}

อนาคตของ NoSQL

องค์กรที่มีความต้องการจัดเก็บข้อมูลขนาดใหญ่กำลังมองหาอย่างจริงจังที่ NoSQL เห็นได้ชัดว่าแนวคิดนี้ไม่ได้รับผลกระทบมากนักในองค์กรขนาดเล็ก ในการสำรวจโดยสัปดาห์ข้อมูล 44% ของผู้เชี่ยวชาญด้านไอทีด้านธุรกิจไม่เคยได้ยิน NoSQL นอกจากนี้เพียง 1% ของผู้ตอบแบบสอบถามรายงานว่า NoSQL เป็นส่วนหนึ่งของยุทธศาสตร์ของพวกเขา เห็นได้ชัดว่า NoSQL มีสถานที่ในโลกที่เชื่อมต่อกันของเรา แต่จะต้องมีการพัฒนาต่อไปเพื่อให้เกิดการอุทธรณ์มวลซึ่งหลายคนคิดว่าน่าจะมี