กลับไปหน้าบทความ

อ่าน 3 นาที

ไม่มีชื่อบทความ

ฐาน ข้อมูลแบบคีย์-ค่า หรือ ที่เก็บข้อมูลแบบคีย์-ค่า เป็นรูปแบบการจัดเก็บข้อมูลที่ออกแบบมาเพื่อจัดเก็บ เรียกค้น และจัดการ อาร์เรย์แบบเชื่อมโยง ซึ่งเป็น โครงสร้างข้อมูล...

ฐานข้อมูลคีย์-ค่า

ตารางข้อมูลที่เสนอสำหรับเครื่องวิเคราะห์ ของแบ็บเบจ (Babbage's Analytical Engine) แสดงคู่คีย์-ค่า ในกรณีนี้คือตัวเลขและลอการิทึมฐานสิบของตัวเลขนั้น

ฐานข้อมูลแบบคีย์-ค่าหรือที่เก็บข้อมูลแบบคีย์-ค่าเป็นรูปแบบการจัดเก็บข้อมูลที่ออกแบบมาเพื่อจัดเก็บ เรียกค้น และจัดการอาร์เรย์แบบเชื่อมโยงซึ่งเป็นโครงสร้างข้อมูลที่รู้จักกันทั่วไปในปัจจุบันในชื่อพจนานุกรมพจนานุกรมประกอบด้วยชุดของวัตถุหรือเรคอร์ดซึ่งแต่ละเรคอร์ดมีฟิลด์ ที่แตกต่างกันมากมาย เรคอร์ดเหล่านี้จะถูกจัดเก็บและเรียกค้นโดยใช้คีย์ที่ระบุเรคอร์ดได้อย่างเฉพาะเจาะจง และใช้ในการค้นหาข้อมูลภายในฐานข้อมูล[ 1 ] [ 2 ]

ตารางแสดงค่าข้อมูลที่จัดรูปแบบแตกต่างกันซึ่งเชื่อมโยงกับคีย์ต่างๆ

การขาดมาตรฐาน การสนับสนุนธุรกรรมที่จำกัด และอินเทอร์เฟซการสืบค้นที่ค่อนข้างเรียบง่าย ทำให้ระบบคีย์-ค่าจำนวนมากถูกจำกัดไว้สำหรับการใช้งานเฉพาะทาง แต่การเปลี่ยนแปลงอย่างรวดเร็วไปสู่การประมวลผลบนคลาวด์หลังปี 2010 ช่วยกระตุ้นความสนใจในระบบเหล่านี้อีกครั้งในฐานะส่วนหนึ่งของการเคลื่อนไหว NoSQL ที่กว้างขึ้นฐานข้อมูลกราฟบางประเภท เช่น ArangoDB [ 3 ]ก็เป็นฐานข้อมูลคีย์-ค่าภายในเช่นกัน โดยเพิ่มแนวคิดของความสัมพันธ์ ( ตัวชี้ ) ระหว่างเรคอร์ดเป็นประเภทข้อมูลชั้นหนึ่ง[ 4 ] [ 5 ]

คำนิยาม

ฐานข้อมูลแบบคีย์-ค่าแตกต่างจากฐานข้อมูลเชิงสัมพันธ์ (RDB) ที่เป็นที่รู้จักกันดีกว่า RDB กำหนดโครงสร้างข้อมูลในฐานข้อมูลไว้ล่วงหน้าเป็นชุดของตารางที่มีฟิลด์ที่มีประเภทข้อมูล ที่กำหนดไว้อย่างดี การเปิดเผยประเภทข้อมูลให้กับโปรแกรมฐานข้อมูลทำให้สามารถใช้การเพิ่มประสิทธิภาพต่างๆ ได้ ในทางตรงกันข้าม ระบบคีย์-ค่าถือว่าค่าเป็นสิ่งที่ไม่โปร่งใสสำหรับตัวฐานข้อมูลเอง และโดยทั่วไปจะรองรับเฉพาะการดำเนินการง่ายๆ เช่น การจัดเก็บ การดึงข้อมูล การอัปเดต และการลบค่าโดยใช้คีย์ ซึ่งให้ความยืดหยุ่นอย่างมากและทำให้ระบบดังกล่าวเหมาะสำหรับเวิร์กโหลดที่มีความหน่วงต่ำและปริมาณงานสูงซึ่งส่วนใหญ่เป็นการค้นหาคีย์โดยตรง แต่ไม่เหมาะสำหรับแอปพลิเคชันที่ต้องการการสืบค้นที่ซับซ้อนหรือความสัมพันธ์ที่ชัดเจนระหว่างระเบียน[ 5 ] [ 4 ]การเป็นสิ่งที่ไม่โปร่งใสหมายความว่าคีย์ไม่ขึ้นอยู่กับเกณฑ์การค้นหา ความสัมพันธ์ หรือข้อจำกัดความสมบูรณ์ของการอ้างอิง[ 6 ]ความทึบแสงเป็นสิ่งที่ทำให้ DBMS แบบคีย์-ค่าแตกต่างจากฐานข้อมูลเอกสาร ระบบจัดการฐานข้อมูลแบบเอกสารสามารถตีความโครงสร้างของเรคอร์ดได้ ในขณะที่ระบบจัดการฐานข้อมูลแบบคีย์-ค่าจะถือว่าแต่ละค่าเป็นวัตถุทึบแสงที่สามารถเรียกได้ทั้งหมดโดยใช้คีย์ที่เกี่ยวข้องเท่านั้น ไม่ใช่โดยการสอบถามฟิลด์แต่ละฟิลด์ ความแตกต่างนี้ยังคงอยู่แม้ว่าระบบจัดการฐานข้อมูลแบบเอกสารจะมีฟิลด์ตัวระบุที่อนุญาตให้เรียกเอกสารในลักษณะเดียวกับระบบจัดการฐานข้อมูลแบบคีย์-ค่าก็ตาม ระบบจัดการฐานข้อมูลแบบคีย์-ค่าบางระบบรองรับประเภทค่าที่ซับซ้อน ตัวอย่างเช่นRedisรองรับรายการ[ 7 ]

ประเภทและตัวอย่าง

ระบบคีย์-ค่าครอบคลุมสเปกตรัมความสอดคล้อง ที่กว้าง ตั้งแต่การออกแบบที่สอดคล้องกันในที่สุดไป จนถึงแบบที่สอดคล้องกันอย่างมากหรือ แบบเรียงลำดับได้และบางระบบอนุญาตให้กำหนดค่าระดับความสอดคล้องเป็นส่วนหนึ่งของการแลกเปลี่ยนระหว่างความหน่วงและความพร้อมใช้งาน[ 5 ] [ 4 ]ความสนใจในระบบคีย์-ค่าและระบบ NoSQL อื่นๆ กลับมาอีกครั้ง โดยส่วนหนึ่งเกิดจากความต้องการของข้อมูลขนาดใหญ่ แอปพลิ เคชันแบบกระจาย และแอปพลิเคชันบน คลาวด์ ความสามารถในการปรับขนาดและความพร้อมใช้งานทำให้ระบบเหล่านี้น่าสนใจสำหรับการจัดการข้อมูลบนคลาวด์ แม้ว่าการสนับสนุนธุรกรรมที่จำกัด อินเทอร์เฟซการสืบค้นระดับต่ำ และการขาดมาตรฐานยังคงเป็นอุปสรรคต่อการนำไปใช้ในวงกว้าง[ 4 ]บางระบบเก็บข้อมูลไว้ในหน่วยความจำ (RAM)ในขณะที่บางระบบใช้ไดรฟ์โซลิดสเตตหรือดิสก์หมุน[ 1 ]

ระบบคีย์-ค่าบางระบบเพิ่มโครงสร้างเพิ่มเติมให้กับคีย์ ตัวอย่างเช่น Oracle NoSQL Database จัดระเบียบเรคอร์ดโดยใช้คีย์ผสมที่มีส่วนประกอบ "หลัก" และ "รอง" ซึ่ง Oracle เปรียบเทียบกับโครงสร้างเส้นทางไดเร็กทอรีในระบบไฟล์ อย่างไรก็ตาม โดยทั่วไปแล้ว ที่เก็บคีย์-ค่าจะถูกกำหนดโดยการใช้คีย์ที่ไม่ซ้ำกันซึ่งเชื่อมโยงกับค่าที่ไม่โปร่งใส และโดยการเน้นการดำเนินการตามคีย์แบบง่าย[ 8 ]

Unix มีdbm (database manager) ซึ่งเป็นไลบรารีฐานข้อมูลขนาดเล็กที่เขียนโดยKen Thompsonสำหรับจัดการอาร์เรย์แบบเชื่อมโยงที่มีคีย์เดียวและ การเข้าถึงแบบ แฮชการใช้งานในภายหลังและไลบรารีที่เกี่ยวข้อง ได้แก่ sdbm, GNU dbm (gdbm) และBerkeley DB [ 9 ]

ตัวอย่างล่าสุดคือRocksDBซึ่งเป็นเครื่องมือจัดเก็บข้อมูลแบบคีย์-ค่าถาวรที่พัฒนาโดย Facebook และออกแบบมาสำหรับแอปพลิเคชันขนาดใหญ่[ 10 ] ตัวอย่างอื่นๆ ได้แก่ ระบบในหน่วยความจำ เช่นMemcachedและRedisและระบบถาวร เช่น Berkeley DB, RiakและVoldemort [ 4 ]

ดูเพิ่มเติม

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ ไม่มีชื่อบทความ

ฐาน ข้อมูลแบบคีย์-ค่า หรือ ที่เก็บข้อมูลแบบคีย์-ค่า เป็นรูปแบบการจัดเก็บข้อมูลที่ออกแบบมาเพื่อจัดเก็บ เรียกค้น และจัดการ อาร์เรย์แบบเชื่อมโยง ซึ่งเป็น โครงสร้างข้อมูล...

คำนิยาม

ฐานข้อมูลแบบคีย์-ค่าแตกต่างจาก ฐานข้อมูลเชิงสัมพันธ์ (RDB) ที่เป็นที่รู้จักกันดีกว่า RDB กำหนดโครงสร้างข้อมูลในฐานข้อมูลไว้ล่วงหน้าเป็นชุดของตารางที่มีฟิลด์ที่มี ประเภทข้อมูล ที่กำหนดไว้อย่างดี...

ประเภทและตัวอย่าง

ระบบคีย์-ค่าครอบคลุม สเปกตรัมความสอดคล้อง ที่กว้าง ตั้งแต่การออกแบบ ที่สอดคล้องกันในที่สุดไป จนถึงแบบที่สอดคล้องกันอย่างมากหรือ แบบเรียงลำดับได้ และบางระบบอนุญาตให้กำหนดค่าระดับความสอดคล้องเป็นส่วนหนึ่งของการแลกเปลี่ยนระหว่างความหน่วงและความพร้อมใช้งาน [ 5 ]...

ดูเพิ่มเติม

การวิเคราะห์ข้อมูล ฐานข้อมูลแบบเอกสาร ฐานข้อมูลหลายโมเดล พื้นที่ทูเพิล จัดเก็บคีย์-ค่าแบบเรียงลำดับ คู่ชื่อ-ค่า