Data science

มีฐานข้อมูล NoSQL สำหรับสิ่งนั้น

ในขณะที่ฐานข้อมูลเชิงสัมพันธ์ยังคงครอบงำงบประมาณด้านไอที แต่โครงการพัฒนาใหม่ๆ จำนวนมากกำลังเปลี่ยนไปใช้ฐานข้อมูล NoSQL ซึ่งได้เกิดขึ้นในช่วงไม่กี่ปีที่ผ่านมาเพื่อรองรับกรณีการใช้งานที่น่าสนใจทุกประเภท ฐานข้อมูลเชิงสัมพันธ์จะใช้งานได้หลายปี แต่ฐานข้อมูล NoSQL ในปัจจุบันให้ญาติเชิงสัมพันธ์ใช้เงินซึ่งเป็นประโยชน์อย่างมากต่อผู้ใช้ ฐานข้อมูลในรูปแบบใดรูปแบบหนึ่งมีมานานหลายปีแล้ว 60 ใน 1970 EF “Ted” Codd ได้เสนอแบบจำลองเชิงสัมพันธ์ของข้อมูล ซึ่งเน้นที่แนวคิดในการจัดกลุ่มข้อมูลตามเนื้อหาเป็นหลัก สี่ปีต่อมา Donald Chamberlin และ Raymond Boyce ได้เสนอ Structured Query Language (SQL) เป็นวิธีการสืบค้นข้อมูลในฐานข้อมูลเชิงสัมพันธ์ องค์ประกอบหลักเหล่านี้ ได้แก่ ระบบการจัดการฐานข้อมูลเชิงสัมพันธ์ (RDBMS) และ SQL ได้รับการพิสูจน์แล้วว่ามีประสิทธิภาพมาก และเป็นรากฐานของแอปพลิเคชันและระบบคอมพิวเตอร์จำนวนมาก ด้วยพีชคณิตเชิงสัมพันธ์ที่ได้รับการพิสูจน์แล้วว่าเป็นรากฐานที่มั่นคง ไม่ใช่เรื่องยากที่จะบอกว่าเงินหลายล้านล้านดอลลาร์ได้ลงทุนในเทคโนโลยีเชิงสัมพันธ์ มันคือกระดูกสันหลังของไอทีอย่างที่เรารู้ๆ กัน ก็อย่างที่เราเคยรู้กันอยู่ดี ในช่วงต้น 2000 ข้อจำกัดของโมเดลเชิงสัมพันธ์ เช่น สคีมาที่เข้มงวด และความสอดคล้องที่แข็งแกร่ง ควบคู่ไปกับการระเบิดของข้อมูลและประเภทข้อมูล ทำให้สถาปนิกเริ่มสำรวจโมเดลข้อมูลทางเลือก นี่เป็นจุดเริ่มต้นของการเคลื่อนไหวของ NoSQL ซึ่งหลีกเลี่ยงข้อกำหนดที่เข้มงวดของสาย RDBMS/SQL เพื่อให้นักพัฒนาและสถาปนิกมีอิสระมากขึ้นในการจัดเก็บและเรียกคืนข้อมูลในรูปแบบใหม่และสร้างสรรค์ ฐานข้อมูล NoSQL มีสี่ประเภทหลัก ซึ่งรวมถึง: ที่เก็บคีย์-ค่า ฐานข้อมูล NoSQL พื้นฐานที่สุดคือที่เก็บคีย์-ค่า ซึ่งประกอบด้วยคีย์และค่าข้อมูลที่เกี่ยวข้อง (ซึ่งอาจเป็นตัวเลข สตริง หรือแม้แต่ชุดคีย์-ค่าอื่นๆ คู่) แม้ว่าที่เก็บคีย์-ค่าจะขาดความซับซ้อนอย่างมากของ RDMBS (เช่น พอยน์เตอร์) แต่ความเรียบง่ายก็ช่วยให้ความเร็วและประสิทธิภาพเพิ่มขึ้นเหนือ RDBMS ที่เก็บคีย์-ค่าเป็นฐานข้อมูลที่ง่ายที่สุด (เอื้อเฟื้อภาพ Clescop) ที่เก็บคีย์-ค่าจำนวนมากได้รับการออกแบบมาให้ทำงานในหน่วยความจำทั้งหมด ในขณะที่ร้านอื่นๆ สามารถทำงานบนโซลิดสเตตไดรฟ์หรือฮาร์ดไดรฟ์แบบเดิมได้ ด้วยโครงสร้างพื้นฐาน ที่เก็บคีย์-ค่าจึงคล้อยตามการปรับขนาดในแนวนอน การจัดเก็บคีย์-ค่าจะใช้เป็นหลักเมื่อลูกค้าต้องการประสิทธิภาพสูงในการแสดงข้อความค้นหาในข้อมูลแบบอ่านอย่างเดียว เช่น สำหรับเว็บไซต์ขนาดใหญ่ที่มีการดูแลการแสดงโฆษณาอย่างหนัก ไม่มีภาษาคิวรีสำหรับที่เก็บคีย์-ค่า แทนที่จะใช้คำสั่ง CRUD พื้นฐาน (สร้าง เรียกข้อมูล อัปเดต และลบ) ร้านค้าคีย์-ค่ายอดนิยม ได้แก่ Memcached, Redis, RocksDB และ Riak ที่เก็บคีย์-ค่ายังเป็นรากฐานสำหรับฐานข้อมูล NoSQL อื่น ๆ ที่สามารถเสนอรูปแบบฐานข้อมูลได้หลายแบบ เรียกว่าฐานข้อมูลหลายรุ่น ร้านค้าแบบคอลัมน์กว้าง หนึ่งขั้นบันไดความซับซ้อนจากที่เก็บคีย์-ค่าคือการจัดเก็บคอลัมน์กว้าง เช่นเดียวกับ RDBMS ร้านค้าแบบคอลัมน์กว้างใช้แถว คอลัมน์ และตารางในการจัดเก็บข้อมูล แต่แตกต่างจากระบบเชิงสัมพันธ์ คอลัมน์อาจแตกต่างกันไปตามแถวในตารางเดียวกันในที่เก็บคอลัมน์แบบกว้าง ชื่อคอลัมน์ยังสามารถเปลี่ยนแปลงได้ตามต้องการ ซึ่งให้ระดับความยืดหยุ่นของสคีมาที่ไม่มีอยู่ใน RDBM วิธีหนึ่งในการนึกถึงร้านค้าแบบคอลัมน์กว้างคือการจัดเก็บคีย์-ค่าแบบสองมิติ ร้านค้าแบบคอลัมน์กว้างคล้ายกับที่เก็บคีย์-ค่าสองมิติ (เอื้อเฟื้อภาพ Michael-Joseph-Mior) คุณลักษณะสำคัญอย่างหนึ่งของที่เก็บคอลัมน์แบบกว้างคือความสามารถในการจัดเก็บข้อมูลจำนวนมากในคอลัมน์เดียว ซึ่งสามารถเร่งความเร็วได้อย่างมาก เวลาในการเข้าถึงข้อมูลและลดการใช้ทรัพยากรเพื่อส่งคืนการสืบค้นฐานข้อมูล สิ่งนี้ทำให้ร้านค้าแบบคอลัมน์กว้างเป็นที่นิยมสำหรับกรณีการใช้งานที่เน้นการเขียนมาก เช่น การจัดเก็บข้อมูลบันทึก ข้อมูล IoT ข้อมูลอนุกรมเวลา และข้อมูลที่อธิบายคุณลักษณะ (เช่น อุณหภูมิ หรือการซื้อขายทางการเงิน) ร้านค้าแบบคอลัมน์กว้างมักมีภาษาที่ใช้ค้นหาที่เกี่ยวข้อง ตระกูลฐานข้อมูลนี้ยังคล้อยตามสถาปัตยกรรมแบบกระจาย ซึ่งข้อมูลจะถูกแบ่งย่อยในโหนดต่างๆ ในคลัสเตอร์ ทำให้เหมาะสำหรับชุดข้อมูลขนาดเพตะไบต์และอื่นๆ Bigtable ของ Google เป็นปู่ของตระกูลร้านค้าคอลัมน์กว้าง ฐานข้อมูลอื่นๆ ในประเภทนี้ ได้แก่ Apache Cassandra, Accumulo, HBase, CosmosDB และ Scylla DataStax ซึ่งสนับสนุนโครงการ Apache Cassandra ขายฐานข้อมูลเวอร์ชันเชิงพาณิชย์ที่เรียกว่า Datastax Enterprise ฐานข้อมูลเอกสาร ที่จัดเก็บเอกสารจะเก็บข้อมูลในโครงสร้างข้อมูลที่เหมือน JSON ( MongoDB เอื้อต่อรูปภาพ) ฐานข้อมูลเอกสารเป็นหนึ่งในฐานข้อมูล NoSQL ที่เติบโตเร็วที่สุดในปัจจุบัน เป็นที่มาของที่เก็บคีย์-ค่า แต่แทนที่จะจัดเก็บข้อมูลในแถวและคอลัมน์ คู่ค่าคีย์จะถูกฝังลงในเอกสารหรือชุดของเอกสาร ซึ่งส่วนใหญ่มักจะเข้ารหัสโดยใช้รูปแบบข้อมูล JSON หรือการสืบทอดอย่างใกล้ชิด (เช่น BSON) เช่นเดียวกับที่เก็บแบบคอลัมน์กว้าง ความยืดหยุ่นของสคีมาเป็นข้อได้เปรียบทางสถาปัตยกรรมที่สำคัญของฐานข้อมูลเอกสาร เนื่องจากช่วยให้นักพัฒนาสามารถเพิ่มฟิลด์ข้อมูลใหม่ให้กับแอปพลิเคชันของตนได้ตามต้องการ โดยไม่ต้องผ่านการฝึกพัฒนาขนาดใหญ่ที่จำเป็นเมื่อเปลี่ยนสคีมา RDBMS คุณลักษณะนี้ทำให้การจัดเก็บเอกสารเป็นที่นิยมสำหรับการจัดเก็บข้อมูลที่เปลี่ยนแปลงบ่อย เช่น สำหรับการจัดการโปรไฟล์ผู้ใช้ ฐานข้อมูลเอกสารมักมีภาษาคิวรีของตัวเอง ซึ่งบางภาษาก็คล้ายกับ SQL มาก MongoDB เป็นที่เก็บเอกสารที่ใช้กันอย่างแพร่หลายมากที่สุดในตลาดปัจจุบัน ต้องขอบคุณความนิยมอย่างมากในหมู่นักพัฒนาเว็บและแอพพลิเคชั่นมือถือ ที่เก็บเอกสารยอดนิยมอื่น ๆ ได้แก่ Couchbase Server จาก Couchbase (ซึ่ง IPO ของวันนี้), CouchbaseDB และ CosmosDB ของ Microsoft ฐานข้อมูลกราฟ ที่ระดับไฮเอนด์ของสเปกตรัมความซับซ้อนสำหรับฐานข้อมูล NoSQL อยู่ที่ฐานข้อมูลกราฟ ซึ่งเป็นที่เก็บข้อมูลเฉพาะทางสูงที่ใช้สำหรับการจัดเก็บข้อมูลที่เชื่อมโยง แทนที่จะจัดเก็บข้อมูลในแถว/คอลัมน์หรือเอกสาร ฐานข้อมูลแบบกราฟจะใช้แนวคิดของโหนด (สำหรับแต่ละเอนทิตี เช่น บุคคลหรือสิ่งของ) และขอบที่เชื่อมต่อโหนดนั้นกับโหนดอื่น ฐานข้อมูลกราฟมีสองประเภทหลัก: กราฟคุณสมบัติ เช่น Neo4j และ TigerGraph; และกราฟเอนทิตี เช่น AllegroGraph ของ Franz และ Apache Jena กราฟเอนทิตีบางครั้งเรียกว่า Triple stores กราฟความรู้ หรือ RDF stores (สำหรับ Resource Description Framework) ภาษาที่ใช้ค้นหาเฉพาะจะต้องโต้ตอบกับระบบเหล่านี้ เช่น Cypher สำหรับ Neo4j หรือ SPARQL ซึ่งเป็นที่นิยมในหมู่กราฟเอนทิตี ฐานข้อมูลกราฟจัดเก็บข้อมูลเป็นโหนดและขอบ (ที่มา: Neo4j) กราฟคุณสมบัติมีสคีมาที่เข้มงวด ซึ่งทำให้ค่อนข้างผิดปกติในโลกที่ลอยได้อย่างอิสระของตระกูลข้อมูล NoSQL บางครั้งพวกเขาทำงานในลักษณะแจกจ่าย แต่ไม่เสมอไป เนื่องจากความเชื่อมโยงของข้อมูลถูกรวมเข้ากับสคีมา ฐานข้อมูลกราฟคุณสมบัติจึงดีมากในการสืบค้นที่ซับซ้อนซึ่งจะต้องมีการดำเนินการของการรวมที่ซับซ้อนและมีราคาแพงใน RDMBS แม้ว่าฐานข้อมูลแบบกราฟจะมีลักษณะเป็นการวิเคราะห์ แต่มักใช้ในระบบธุรกรรม เช่น เพื่อให้คำแนะนำในการตั้งค่าอีคอมเมิร์ซ หรือการตรวจจับการฉ้อโกงในระบบการชำระเงิน กราฟเอนทิตีมีความยืดหยุ่นของสคีมามากกว่าญาติของกราฟคุณสมบัติ และสามารถทำงานกับข้อมูลที่มีโครงสร้างน้อยกว่า กราฟเอนทิตีมักใช้เพื่อจัดเก็บคำอธิบายที่เชื่อมโยงกันของเอนทิตี รวมถึงแนวคิดที่เป็นนามธรรม และรวมเข้ากับความหมายที่มีรูปแบบอิสระ มักใช้ควบคู่ไปกับระบบ NLP เช่น สำหรับการวิเคราะห์ข้อมูลกึ่งโครงสร้างที่รวบรวมในเวทีการดูแลสุขภาพ ฐานข้อมูลหลายรุ่น แม้ว่าจะไม่ใช่ประเภทฐานข้อมูลสำหรับตัวมันเอง แต่หลายแบบจำลองฐานข้อมูลจำนวนมากในปัจจุบันกลายเป็นหลายรูปแบบ ซึ่งหมายความว่าพวกเขาสามารถเปิดเผยประเภทแอตทริบิวต์ฐานข้อมูลที่แตกต่างกัน ขึ้นอยู่กับปริมาณงาน ฐานข้อมูลแบบหลายโมดอลจำนวนมากเป็นที่เก็บคีย์-ค่าที่ระดับพื้นฐานที่สุด แต่สามารถเปลี่ยนรูปร่างให้คล้ายกับฐานข้อมูลเอกสาร หรือแม้แต่ฐานข้อมูลอนุกรมเวลาได้ตามต้องการ Redis เป็นตัวอย่างของฐานข้อมูลหลายรุ่น โดยอิงจากที่เก็บคีย์-ค่า แต่สามารถทำงานเป็นเอกสารหรือฐานข้อมูลแบบกราฟได้ Aerospike เป็นที่เก็บคีย์-ค่าอื่นที่สามารถทำหน้าที่เป็นฐานข้อมูลเอกสาร อย่างไรก็ตาม ไม่ใช่ฐานข้อมูลแบบหลายรุ่นทั้งหมดที่เป็นฐานข้อมูล NoSQL RDBMS ที่ใหญ่ที่สุดหลายตัว เช่น Oracle, Db2 และ SQL Server สามารถเปิดเผยตัวเองแตกต่างกัน เช่น โดยเสนอความสามารถในการจัดเก็บข้อมูล JSON ซึ่งทำให้เป็นฐานข้อมูลแบบหลายโมดอล โลกของฐานข้อมูลเคลื่อนไหวอย่างรวดเร็ว ในช่วงไม่กี่ปีที่ผ่านมา การพัฒนาส่วนใหญ่มุ่งเน้นไปที่ฐานข้อมูล NoSQL ซึ่งมอบความสามารถและความสามารถในการจัดการกับกรณีการใช้งานใหม่ๆ ที่สร้างขึ้นโดยการปฏิวัติข้อมูลขนาดใหญ่ รายการที่เกี่ยวข้อง: ใครเป็นผู้ชนะในสงครามฐานข้อมูลบนคลาวด์ การเปลี่ยนฐานข้อมูลไปยัง Edge เร่งการโยกย้ายฐานข้อมูลไปสู่เกียร์สูง

  • บ้าน
  • Business
  • Data science
  • Marketing
  • Leave a Reply

    Your email address will not be published. Required fields are marked *

    Back to top button