ประโยชน์ของการใช้ฐานข้อมูล NoSQL: ดูประสบการณ์ของ Facebook
เผยแพร่แล้ว: 2022-11-17Facebook เป็นหนึ่งในบริษัทแรกๆ ที่ใช้ฐานข้อมูล NoSQL เมื่อเปลี่ยนจาก ฐานข้อมูลเชิงสัมพันธ์ แบบดั้งเดิมเป็น Cassandra ในปี 2551 ฐานข้อมูล NoSQL เหมาะอย่างยิ่งสำหรับการจัดเก็บข้อมูลจำนวนมากที่เปลี่ยนแปลงตลอดเวลา และ Cassandra ได้รับการออกแบบมาเพื่อรองรับขนาดของ Facebook และ จัดการกับเวิร์กโหลดที่มีการเขียนมาก ตั้งแต่เปลี่ยนมา Facebook ก็ยังคงใช้ Cassandra ต่อไปสำหรับงานต่างๆ รวมถึงการส่งข้อความ การค้นหา และฟีดข่าว นอกจากนี้ บริษัทยังได้เปิดฐานข้อมูล NoSQL ของตัวเองที่เรียกว่า Haystack ซึ่งวิศวกรของ Facebook ใช้เพื่อจัดเก็บข้อมูลสำหรับผลิตภัณฑ์ต่างๆ เช่น Instagram และ Messenger โดยรวมแล้ว Facebook พอใจกับการตัดสินใจใช้ฐานข้อมูล Cassandra และ NoSQL และยังคงลงทุนในเทคโนโลยีเหล่านี้อย่างต่อเนื่องตลอดหลายปีที่ผ่านมา
ฐานข้อมูล MySQL ของเรารองรับฟังก์ชั่นที่หลากหลายสำหรับ Facebook เฟรมเวิร์ก MySQL พร้อมสำหรับการทำงานอัตโนมัติ ทำให้ง่ายสำหรับทีมขนาดเล็กในการจัดการเซิร์ฟเวอร์ MySQL หลายพันรายการในขณะที่ยังคงรักษาระดับการบริการระดับสูง
ข้อดีหลักอย่างหนึ่งของฐานข้อมูล NoSQL คือช่วยให้ผู้ใช้สามารถปรับขนาดและการแลกเปลี่ยนคุณภาพข้อมูลได้แบบไดนามิก SNS ใช้ทั้ง NoSQL และ ฐานข้อมูลเชิงสัมพันธ์ เพื่อตอบสนองความต้องการของผู้ใช้ที่หลากหลาย ตามการวิเคราะห์ SNS ล่าสุดเกี่ยวกับการใช้ฐานข้อมูลของพวกเขา
Facebook เก็บข้อมูลหลักไว้ในฐานข้อมูลเชิงสัมพันธ์เพื่อให้เข้าถึงได้ MySql 5.6 เป็นส่วนแยกของ กราฟโซเชีย ล และข้อมูลจาก Facebook messenger (ผู้ใช้มากกว่า 1 พันล้านคน) จะถูกเก็บไว้
ต่อไปนี้เป็นรายชื่อบริษัทที่ใช้ NoSQL ที่ประสบความสำเร็จมากที่สุด โครงการนี้ได้รับการสนับสนุนจากเว็บไซต์ระดมทุน Kickstarter
Facebook ใช้ฐานข้อมูลใด
ฐานข้อมูลหลักที่ Facebook ใช้คือ MySQL ซึ่งใช้เพื่อเก็บข้อมูลโซเชียลมีเดียทั้งหมด พวกเขาสร้างเอ็นจินฐานข้อมูลตัวแรก เอ็นจิ้นฐานข้อมูล InnoDB MySQL และต่อมาคือ MyRocksDB ซึ่งกลายเป็นเอ็นจิ้นฐานข้อมูล MySQL ในที่สุด MySQL อยู่หน้า Memcache ในแง่ของแคช
เรากำลังดำเนินการปรับปรุง MySQL เป็นฐานข้อมูลอย่างต่อเนื่องเพื่อตอบสนองความต้องการของเรา MySQL ยังคงมีเสถียรภาพและเชื่อถือได้ เนื่องจากเรามุ่งเน้นที่นวัตกรรมและคำติชมของลูกค้า ซึ่งทำให้มันอยู่ในอันดับต้น ๆ ของรายการ ฐานข้อมูลยอดนิยม ของเรา
Mysql: ฐานข้อมูลที่ขับเคลื่อนแอปพลิเคชัน Web-Scale ที่ใหญ่ที่สุดในโลกบางส่วน
กราฟทางสังคมนี้ใช้ SQL และ MySQL เริ่มแรกสร้างเป็นแอปพลิเคชัน PHP ซึ่งขับเคลื่อนโดย MySQL เป็นฐานข้อมูลถาวร และ memcache เป็นแคช "lookaside" เนื่องจากความยืดหยุ่นในการสร้างแบบจำลองข้อมูลและ MySQL แพร่หลาย MySQL ซึ่งเป็นฐานข้อมูล SQL ที่รู้จักกันดีและใช้กันอย่างแพร่หลายเป็นหนึ่งในฐานข้อมูลที่ได้รับความนิยมมากที่สุด MySQL ถูกใช้โดยแอปพลิเคชันขนาดเว็บที่ใหญ่ที่สุดในโลกจำนวนหนึ่ง (เช่น Facebook, Uber) รวมถึงเว็บไซต์โซเชียลเน็ตเวิร์กยอดนิยมบางแห่ง คำว่า "ฐานข้อมูล" หมายถึง Facebook ตัวอย่างเช่น Facebook สร้างขึ้นบน MySQL ทำให้เป็นหนึ่งใน แอปพลิเคชันฐานข้อมูล ที่ใช้กันอย่างแพร่หลายมากที่สุด แม้ว่า Facebook จะละทิ้ง Cassandra ไปมากแล้ว แต่ก็ยังมีการใช้งานในบริษัทต่างๆ เช่น Twitter, Netflix และ Apple DataStax ได้สร้างเวอร์ชันของเครื่องมือสำหรับธุรกิจอื่นๆ ด้วย
Google ใช้ Nosql หรือไม่
Google Cloud ให้บริการ ฐานข้อมูล NoSQL รวมถึง Cloud Firestore ซึ่งจัดเก็บคู่คีย์-ค่าในรูปแบบเชิงเอกสาร แอพนี้ออกแบบมาสำหรับเอกสารขนาดเล็กและสามารถใช้กับอุปกรณ์มือถือในลักษณะที่เรียบง่าย มีที่เก็บข้อมูลบนคลาวด์ซึ่งทำหน้าที่เป็นฐานข้อมูลเอกสารที่มีการปรับขนาดอัตโนมัติ ประสิทธิภาพสูง และใช้งานง่าย
Apple FoundationDB เป็นฐานข้อมูล NoSQL แบบโอเพ่นซอร์สฟรี ซึ่งกลายเป็นทางเลือกที่สำคัญอย่างรวดเร็วแทน ฐานข้อมูลแบบดั้งเดิม สำหรับแอปพลิเคชันแบบกระจายขนาดใหญ่ FoundationDB เป็นตัวเลือกที่ยอดเยี่ยมสำหรับแอปพลิเคชันที่ต้องประมวลผลข้อมูลจำนวนมากอย่างรวดเร็ว เนื่องจากประสิทธิภาพสูงและสถาปัตยกรรมแบบไม่ใช้ส่วนร่วม
Cloud Datastore เทียบกับ Cloud Spanne
Google Cloud Datastore ซึ่งเป็นฐานข้อมูล NoSQL ที่ปรับขนาดได้สูง พร้อมใช้งานในรูปแบบบริการบนคลาวด์และสร้างขึ้นบน Bigtable และ Google Megastore เป็นฐานข้อมูล NoSQL ที่มีทั้งความสามารถในการปรับขนาดและความน่าเชื่อถือ โดยมีทั้งการรับประกันความสม่ำเสมอและความพร้อมใช้งานสูง เหมาะอย่างยิ่งสำหรับฐานข้อมูล SQL ที่มีแอปพลิเคชันที่ใช้งานทั่วไป ตลอดจนการปรับใช้ Cloud Spanner ในสเกลใหญ่ที่สอดคล้องกันทั่วโลก
ใครใช้ Nosql บ้าง
ปัจจุบัน ฐานข้อมูล NoSQL ถูกใช้โดยองค์กรที่มีข้อมูลจำนวนมากซึ่งจำเป็นต้องจัดเก็บและเข้าถึงอย่างรวดเร็ว ฐานข้อมูล NoSQL ยังใช้โดยองค์กรที่ต้องการปรับขนาดฐานข้อมูลได้อย่างรวดเร็วและง่ายดาย
พวกเขามีแนวทางที่ยืดหยุ่นและปรับขนาดได้มากขึ้นในการจัดเก็บและดึงข้อมูล ซึ่งทำให้เหมาะอย่างยิ่งสำหรับแอปพลิเคชันที่ต้องการความยืดหยุ่นและความสามารถในการปรับขนาดได้อย่างมาก SQL ซึ่งเป็นระบบจัดการฐานข้อมูลแบบดั้งเดิม จัดการข้อมูลที่จัดเก็บไว้ในฐานข้อมูลเชิงสัมพันธ์ ตรงกันข้ามกับ NoSQL ซึ่งเป็นส่วนย่อยของ SQL โดยจะจัดการฐานข้อมูลที่ไม่ใช่เชิงสัมพันธ์ เนื่องจากความแตกต่างในจุดแข็งและจุดอ่อนของระบบ แอปพลิเคชันสมัยใหม่จึงมักจับคู่กัน ฐานข้อมูล NoSQL ใช้ประโยชน์จากเว็บ มือถือ และแอปพลิเคชันเกมได้อย่างยอดเยี่ยม ซึ่งต้องการฐานข้อมูลที่ปรับเปลี่ยนได้ ปรับขนาดได้ ประสิทธิภาพสูง และใช้งานได้สูง SQL เป็นภาษาคิวรีที่มีจุดประสงค์เพื่อจัดการกับข้อมูลที่จัดเก็บไว้ในระบบจัดการฐานข้อมูลเชิงสัมพันธ์ (RDBMS) ซึ่งเป็นระบบแบบดั้งเดิมและเข้มงวดมากกว่า ซึ่งเหมาะสำหรับการจัดการข้อมูลที่จัดเก็บในรูปแบบตารางมากกว่า ฐานข้อมูล NoSQL เช่น MongoDB ทำให้การจัดเก็บและการดึงข้อมูลทำได้ง่ายและยืดหยุ่นมากขึ้น MongoDB เป็นฐานข้อมูล NoSQL ยอดนิยมที่สามารถใช้เพื่อจัดเก็บข้อมูลในรูปแบบเอกสารและจัดการได้ เป็นรูปแบบที่ยืดหยุ่นและปรับขนาดได้สำหรับการจัดเก็บและดึงข้อมูล ซึ่งเหมาะอย่างยิ่งสำหรับแอปพลิเคชันที่มีความต้องการสูงในปัจจุบันซึ่งต้องการความยืดหยุ่นและความสามารถในการปรับขนาดที่มากขึ้น SQL และ NoSQL เป็นระบบเสริมที่มักจะรวมกันในแอปพลิเคชันสมัยใหม่ แม้จะมีข้อเท็จจริงที่ว่าพวกเขามีจุดแข็งและจุดอ่อนที่หลากหลาย แต่ก็สามารถทำงานร่วมกันเพื่อสร้างโซลูชันการจัดเก็บและเรียกคืนที่ปรับเปลี่ยนและปรับขนาดได้มากขึ้นซึ่งเหมาะสำหรับการใช้งานสมัยใหม่
Netflix ใช้ Nosql หรือไม่
Netflix มีผู้ติดตามถึง 33 ล้านรายทั่วโลก โดยมีสมาชิกมากกว่า 40 ประเทศ Node ของ Netflix ใช้เครื่องมือ NoSQL สามตัวนอกเหนือจากเครื่องมือ NoSQL SimpleDB, HBase และ Cassandra เป็นฐานข้อมูล NoSQL สามฐานข้อมูล
ฐานข้อมูล Nosql ใดที่ใช้กันอย่างแพร่หลาย?
MongoDB เป็นฐานข้อมูลโอเพ่นซอร์สเชิงเอกสารซึ่งเป็นฐานข้อมูล NoSQL ที่ได้รับความนิยม