การใช้ฐานข้อมูล NoSQL ของ Facebook
เผยแพร่แล้ว: 2022-11-22Facebook ได้ใช้ฐานข้อมูล NoSQL จำนวนหนึ่งเพื่อช่วยปรับขนาดกราฟโซเชียลขนาดใหญ่ ฐานข้อมูลเหล่านี้ ได้แก่ Apache HBase, Apache Cassandra และ Apache Thrift ด้วยการใช้ฐานข้อมูล NoSQL เหล่านี้ Facebook สามารถมอบประสบการณ์ที่รวดเร็วและตอบสนองแก่ผู้ใช้ในขณะที่ยังคงรักษาข้อมูลจำนวนมากไว้ได้
โปรไฟล์ของผู้คนมากกว่าสองพันล้านคนถูกจัดเก็บไว้ในฐานข้อมูลของ Facebook ทุกวันนี้ แอพระดับองค์กรที่มีความสำคัญต่อธุรกิจจำนวนมาก เช่น SaaS แบบหลายผู้เช่า อาศัยสถาปัตยกรรมแบบกระจายทั่วโลกในระดับอินเทอร์เน็ตของ Facebook และมีบทเรียนที่ต้องเรียนรู้จากการทำความเข้าใจวิวัฒนาการของฐานข้อมูลของ Facebook Mystria ซึ่งเป็น ฐานข้อมูลโอเพ่นซอร์สยอดนิยม เป็นพื้นฐานสำหรับ NoSQL Graph API ของ FB, TAO เป็นผลให้ TAO เปลี่ยน FB ที่มีอยู่ 1,000 ทาสมาสเตอร์ MySQL ที่แข็งด้วยตนเองให้กลายเป็นทาสที่แยกส่วน เป็นผลให้แอปพลิเคชันไม่ใช้ฐานข้อมูลเพื่อทำธุรกรรมข้ามชาร์ดและการดำเนินการร่วมกันอีกต่อไป นอกจากนี้ หากมีการดำเนินการโอเวอร์รันที่ล้มเหลว ข้อมูลที่คอมมิตเมื่อเร็วๆ นี้จะหายไป อ็อบเจ็กต์และการเชื่อมโยงถูกจัดเก็บไว้ในเซิร์ฟเวอร์คลัสเตอร์เดียวกัน โดยไม่มีการเปลี่ยนแปลงใดๆ กับชาร์ด
ระดับของการจัดระเบียบข้อมูลถูกกำหนดให้เป็นเทคนิคการเพิ่มประสิทธิภาพที่สำคัญสำหรับการอำนวยความสะดวกในการเข้าถึงข้อมูลที่มีเวลาแฝงต่ำ เมื่อ FB ตัดสินใจละทิ้ง SQL เป็น API คิวรี และใช้ NoSQL API แบบกำหนดเองของ TAO นักพัฒนาก็ละทิ้ง SQL โดยสิ้นเชิง Google ตรงกันข้ามกับ Facebook กำลังสร้างฐานข้อมูลใหม่ที่เรียกว่า Spanner ซึ่งสอดคล้องกันทั่วโลก โมเดลข้อมูลของ Spanner อิงตาม OLTP แบบเข้าถึงโดยสุ่มแบบดั้งเดิม แทนที่จะเป็นกราฟสังคม ความสามารถในการขยายขนาดใหญ่และการกระจายข้อมูลทั่วโลกถูกสร้างขึ้นในชั้นฐานข้อมูลของฐานข้อมูลแบบกระจายรุ่นที่สอง Spanner ใช้ฉันทามติแบบกระจายต่อชาร์ดเพื่อให้แน่ใจว่าแต่ละชาร์ด (ไม่ใช่เพียงอินสแตนซ์เดียว) พร้อมใช้งานสูงในกรณีที่เกิดความล้มเหลว การเปลี่ยนแปลงการกำหนดค่านี้เกิดขึ้นในบริบทของแอปพลิเคชันและยังคงทำงานตามปกติ
ข้อมูลที่เกี่ยวข้องกับภูมิภาคท้องถิ่นยังคงสามารถอยู่ในพื้นที่เดียวกันได้ หากเปิดใช้งานคุณลักษณะเชิงพื้นที่ เช่น การแบ่งพาร์ติชันทางภูมิศาสตร์ระดับตารางและระดับแถว Commit แบบสองเฟสใช้ในธุรกรรมหลายส่วน และตัวจัดการธุรกรรมแบบกระจายจะติดตามการเอียงของนาฬิกาตลอดทั้งโหนด เราสร้าง TAO ที่ FB เพื่อรักษาการลงทุนที่มีอยู่ของเราใน MySQL ที่แยกส่วนไว้ Google ตัดสินใจที่จะทำลายประเพณีด้วยการสร้าง Spanner ซึ่งเป็นฐานข้อมูลใหม่ทั้งหมดที่สามารถปรับขนาดในแนวนอน จำลองตำแหน่งทางภูมิศาสตร์ และจัดการกับความล้มเหลวของโครงสร้างพื้นฐานราวกับว่าเกิดขึ้นจริง
เราใช้ MySQL ใน Facebook ด้วยเหตุผลหลายประการ ด้วย MySQL ทีมขนาดเล็กสามารถจัดการเซิร์ฟเวอร์หลายพันเครื่องในขณะที่ให้บริการคุณภาพสูงด้วยต้นทุนที่ต่ำที่สุด
TAO ซึ่งเป็น API กราฟ NoSQL ที่สร้างโดย FB เมื่อต้นปี 2552 ตั้งใจให้ทำงานบน Apache Cassandra ที่ใช้ MySQL เป้าหมายหลักของส่วนนี้คือการกำจัดปัญหาที่เน้นในส่วนก่อนหน้า TAO ย่อมาจาก Associations and Objects หมายถึงสมาคมและวัตถุ
การจัดเก็บข้อมูลในช่วงแรกของ Facebook อาศัยฐานข้อมูล MySQL เชิงสัมพันธ์เป็นอย่างมาก แม้ว่าวิศวกรของ Facebook จะได้รับแรงบันดาลใจจากเอกสารของ Google เกี่ยวกับฐานข้อมูล Google BigTable NoSQL แต่พวกเขาก็สร้าง Cassandra ซึ่งเป็นที่เก็บคอลัมน์ของครอบครัวตาม ฐานข้อมูล NoSQL ของ Facebook
Facebook มี ระบบฐานข้อมูลเชิงสัมพันธ์ เพื่อเก็บข้อมูลหลักไว้ มันเก็บกราฟโซเชียลและข้อมูล Messenger ของ Facebook (ผู้ใช้มากกว่าหนึ่งพันล้านคน) สำหรับผู้ใช้มากกว่าหนึ่งพันล้านคนโดยใช้ MySql 5.6
Facebook ใช้ Nosql หรือไม่
ไม่มีคำตอบเดียวสำหรับคำถามนี้ เนื่องจากการใช้ฐานข้อมูล NoSQL จะแตกต่างกันไปขึ้นอยู่กับความต้องการเฉพาะของแต่ละแอปพลิเคชัน อย่างไรก็ตาม เป็นที่ยอมรับกันโดยทั่วไปว่า Facebook ใช้ฐานข้อมูล SQL และ NoSQL ผสมกันเพื่อจัดเก็บและจัดการข้อมูลจำนวนมาก
ทั้ง Cloud Datastore และ Cloud Firestore เป็นตัวเลือกที่ยอดเยี่ยมสำหรับธุรกิจที่กำลังมองหาฐานข้อมูลเชิงเอกสารที่สามารถใช้สำหรับการวิเคราะห์ข้อมูลแบบเรียลไทม์ Cloud Firestore เป็นตัวเลือกที่ยอดเยี่ยมสำหรับเอกสารขนาดเล็กเนื่องจากสถาปัตยกรรมที่ปรับให้เหมาะสมและใช้งานง่ายบนอุปกรณ์พกพา Cloud Datastore ออกแบบมาเพื่อรองรับปริมาณงานที่สูงมากและปรับขนาดโดยอัตโนมัติ นอกจากนี้ยังมีประโยชน์มากมายสำหรับมัน
Facebook เก็บข้อมูลในฐานข้อมูลอย่างไร
Facebook จัดเก็บข้อมูล ในฐานข้อมูลเชิงสัมพันธ์ที่จัดอยู่ในตาราง ข้อมูลจะถูกเก็บไว้ในคอลัมน์และแถวภายในตาราง ข้อมูลถูกจัดเก็บในรูปแบบของข้อความ ตัวเลข และวันที่
สถานที่เก็บข้อมูลของ Facebook ใน Prineville รัฐ Oregon ติดตามทุกสิ่งตั้งแต่กิจกรรมที่คุณเข้าร่วมไปจนถึงสเตตัสของคุณ (หรือความรัก ฮ่า ฮ่า ว้าว เศร้า หรือหน้าโกรธ) ไปจนถึงไทม์ไลน์ของคุณ สิ่งอำนวยความสะดวกใน Oregon ของ Facebook อาจมีความจุมากถึง 300 เพตะไบต์ตามการประมาณการ ด้วยข้อมูลจำนวนนี้ เราสามารถจัดเก็บภาพถ่ายขนาดเฉลี่ยได้ประมาณ 1 แสนล้านภาพ หาก Facebook ไม่มีวิธีการเก็บโพสต์ รูปภาพ วิดีโอ การอัปเดตสถานะ และอื่นๆ ทั้งหมดของคุณให้ปลอดภัย หากคุณเลือกที่จะไม่ทำเช่นนั้น Facebook จะไม่สามารถจดจำได้ว่าคุณเป็นใคร มีพื้นที่จำนวนเล็กน้อย (หรือไม่กี่ล้าน) ที่สงวนไว้เพื่อให้คุณแสดงออกในแบบที่คุณต้องการอย่างแท้จริง
ใช้เพื่อปรับแต่งโฆษณาและเพิ่มความถี่ในการโต้ตอบกับ Facebook มีบางเว็บไซต์ที่ Facebook รู้จักคุณ เช่นเดียวกับโฆษณาที่คุณเห็น และโพสต์ที่คุณชอบ
Facebook ยังขายข้อมูลนี้ให้กับธุรกิจบุคคลที่สาม Cambridge Analytica บริษัทข้อมูลที่ทำงานเกี่ยวกับการหาเสียงชิงตำแหน่งประธานาธิบดีของ Donald Trump ได้รับข้อมูลส่วนบุคคลจากผู้ใช้ Facebook 87 ล้านคน
เพื่อความปลอดภัย คุณต้องตระหนักว่า Facebook รวบรวมและใช้ข้อมูลของคุณอย่างไร รวมถึงปฏิบัติตามขั้นตอนต่างๆ เพื่อปกป้องความเป็นส่วนตัวของคุณ คุณสามารถลบบัญชี Facebook ของคุณโดยใช้เครื่องมือความเป็นส่วนตัวของ Facebook หรือคุณสามารถปิดใช้งาน Facebook Pixel และปุ่ม Facebook Like เหนือสิ่งอื่นใด
ความกังวลเกี่ยวกับ Facebook และ บริษัท บุคคลที่สามได้รับการหยิบยกขึ้นมาจากเรื่องอื้อฉาวด้านข้อมูลล่าสุด
ในช่วงที่เกิดเรื่องอื้อฉาว Cambridge Analytica Facebook ถูกวิพากษ์วิจารณ์ว่าไม่โปร่งใสและดำเนินการไม่เร็วพอ Mark Zuckerberg CEO ของ Facebook ประกาศเมื่อวันอังคารว่าเขาจะลางานเพื่อจัดการกับเรื่องอื้อฉาว
นับตั้งแต่การเปิดเผยการละเมิดข้อมูลจำนวนมหาศาลใน Facebook และ WhatsApp ทำให้ Mark Zuckerberg ถูกตรวจสอบข้อเท็จจริงเนื่องจากเขาขาดความรับผิดชอบและความล้มเหลวในการแก้ไขปัญหาความเป็นส่วนตัว
ตามข้อกล่าวหา Facebook ได้บิดเบือนความคิดเห็นทางการเมืองผ่านการใช้ข้อมูลผู้ใช้
จากปัญหาความเป็นส่วนตัวที่เกิดขึ้น Facebook จึงตกเป็นเป้าเนื่องจากขาดความโปร่งใสและไม่สามารถแก้ไขปัญหาได้
มีการอ้างว่า Facebook บิดเบือนความคิดเห็นทางการเมืองของผู้ใช้โดยการรวบรวมข้อมูลผู้ใช้
ผู้ใช้จะได้รับตัวเลือกในการทำตามขั้นตอนต่างๆ
Facebook ใช้ Cassandra อย่างไร
Cassandra ใช้เทคนิคที่รู้จักกันดีในการปรับขนาดและความพร้อมใช้งาน เป้าหมายของ Cassandra คือการจัดการกับความต้องการพื้นที่เก็บข้อมูลของปัญหา Inbox Search In-box Search เป็นคุณสมบัติใหม่ที่ช่วยให้ผู้ใช้ Facebook ค้นหาข้อความจากกล่องจดหมาย
Facebook ใช้ Cassandra เป็นเครื่องมือค้นหาสำหรับอีเมล ด้วยขนาด 25TB และกล่องจดหมายมากกว่า 100 ล้านกล่อง Facebook เปิดตัว Cassandra เป็นโอเพ่นซอร์สภายใต้ลิขสิทธิ์ของ Apache เมื่อวันที่ 1 กรกฎาคม 2017 ในวิดีโอนี้ เราจะเจาะลึกเกี่ยวกับสถาปัตยกรรมและการออกแบบของ Cassandra เดิมที Cassandra มีวัตถุประสงค์เพื่อแก้ปัญหาการค้นหาที่อยู่อีเมลในกล่องจดหมาย เมื่อเขียนไปยัง memtable คุณจะต้องเขียนไปยังบันทึกการกระทำ (ตามลำดับ) เสมอ ซึ่งจะเรียงตามลำดับไปยังแต่ละโหนดในคลัสเตอร์ ระหว่างการตั้งค่า ให้อ่านขั้นตอนต่อไปนี้เพื่อล้างตารางออกจากดิสก์: * ไม่มีที่ว่าง * แป้นเว้นวรรค (ค่าเริ่มต้น 128 ปุ่ม) * ระยะเวลา (ไคลเอ็นต์ให้มาโดยไม่มีนาฬิกา) สอดคล้องกับ Staged Event-Driven Architecture (SEDA) และการตรวจจับความล้มเหลวผ่านโปรโตคอลซุบซิบ มีผู้ใช้ 100 ล้านคน เธรด 4B และข้อมูล 25TB และสามารถเรียกใช้ Hadoop ได้ที่ 1.5TB ต่อชั่วโมง
The Sheen ปิดอยู่: Facebook ทิ้ง Cassandra สำหรับ Mysql
แทนที่จะใช้ Cassandra Facebook เลือก Hbase เพื่อสร้างระบบการส่งข้อความ เนื่องจากสถาปัตยกรรมแบบกระจาย จึงเป็นเรื่องปกติที่ Netflix จะใช้ Cassandra และในปี 2013 ข้อมูลส่วนใหญ่จะถูกเก็บไว้ที่นั่น และยังคงใช้มาจนถึงทุกวันนี้ Facebook ใช้ MySQL แทน Cassandra เมื่อพูดถึงการจัดเก็บข้อมูล ฐานข้อมูลหลักที่ Facebook ใช้ในการจัดเก็บข้อมูลโซเชียลมีเดียทั้งหมดคือ MySQL พวกเขาสร้าง เครื่องมือฐานข้อมูลตัวแรก MyRocksDB จากนั้นจึงสร้างเครื่องมือฐานข้อมูล MySQL InnoDB MySQL และ Memcache ถูกรวมเข้าด้วยกันเพื่อสร้างแคช
ฐานข้อมูล Nosql ที่ใช้โดย Facebook
Facebook เก็บข้อมูลโซเชียลมีเดียทั้งหมดไว้ใน MySQL ซึ่งเป็นฐานข้อมูลหลักที่ใช้
กระบวนการรวบรวมข้อมูลจากฐานข้อมูลเรียกว่าการรวบรวม สามารถใช้ในการจัดเก็บและวิเคราะห์ข้อมูลได้หลายวิธี DBMS คือระบบจัดการฐานข้อมูลที่ทำงานในฐานข้อมูลเฉพาะ เพื่อติดตามข้อมูลประเภทต่างๆ ที่ผู้คนทั่วโลกแชร์ให้กันและกัน Facebook ใช้ฐานข้อมูลจำนวนหนึ่ง ระบบจัดเก็บข้อมูลของ Cassandra มีวัตถุประสงค์เพื่อจัดการโครงสร้างข้อมูลจำนวนมาก แอปนี้สร้างขึ้นเพื่อแก้ปัญหาการค้นหาผลการค้นหา Inbox ที่ดีที่สุด ซึ่งเกิดจากการไม่มีพื้นที่จัดเก็บ วิธีการแคชนี้ใช้โซลูชันในหน่วยความจำเท่านั้น ในกรณีนี้ การเข้าถึงพูลที่ใช้ร่วมกันของที่เก็บข้อมูลมีให้ในราคาที่เหมาะสม
คาสซานดรา vs. คลาวด์ Bigtable เทียบกับ Amazon Dynamodb
Cassandra เป็นหนึ่งในตัวเลือกพื้นที่เก็บข้อมูลแบ็กเอนด์ยอดนิยมสำหรับ Facebook รองจาก Google และ Amazon ด้วย Cloud Bigtable คุณสามารถเรียกใช้ปริมาณงานการวิเคราะห์และการดำเนินงานบนบริการฐานข้อมูล NoSQL ที่มีประสิทธิภาพสูง Amazon DynamoDB คือฐานข้อมูล NoSQL แบบไม่มีคีย์-ค่าแบบไร้เซิร์ฟเวอร์ ซึ่งปรับใช้ได้ทุกขนาดและเหมาะสำหรับแอปพลิเคชันประสิทธิภาพสูง
ฐานข้อมูลที่ใช้โดย Facebook
Facebook ใช้ระบบจัดการฐานข้อมูลเชิงสัมพันธ์ (RDBMS) เพื่อจัดเก็บและจัดระเบียบข้อมูล RDBMS เป็นฐานข้อมูลประเภทหนึ่งที่เก็บข้อมูลในตาราง และแต่ละตารางจะเชื่อมโยงกับตารางอื่นตามความสัมพันธ์ Facebook ใช้ RDBMS ที่สร้างขึ้นเองซึ่งออกแบบมาเพื่อจัดการข้อมูลจำนวนมหาศาลที่ผู้ใช้ Facebook สร้างขึ้น
มีผู้ใช้ Facebook มากกว่าพันล้านคน ผู้ใช้แสดงออกและโต้ตอบกับเพื่อนและเพื่อนผ่านการใช้โพสต์บนผนัง แม้จะจัดการกับผู้ใช้หลายร้อยล้านคน แต่วิศวกรของ Facebook ก็ยังถูกบังคับให้ต้องดูแลเว็บไซต์ให้ทำงานได้อย่างราบรื่น บทความนี้จะแนะนำผู้อ่านเกี่ยวกับเครื่องมือและวิธีการบางอย่างที่พวกเขาใช้เพื่อให้บรรลุเป้าหมาย Facebook ใช้ระบบที่หลากหลายเพื่อให้เว็บไซต์มีไดนามิกมากที่สุดเท่าที่จะเป็นไปได้ โดยมีผู้ใช้มากกว่า 500 ล้านคน หากคุณต้องการความสามารถในการปรับขนาดและความพร้อมใช้งานสูงในขณะเดียวกันก็รักษาประสิทธิภาพของคุณให้อยู่ในระดับสูงด้วย Apache Cassandra เป็นตัวเลือกที่ยอดเยี่ยม ระบบบันทึก Scribe อนุญาตให้ Facebook เข้าสู่ระบบด้วยเหตุผลหลายประการเป็นการภายใน สามารถใช้วานิชเป็นตัวเร่งความเร็ว HTTP เพื่อให้บริการโหลดบาลานซ์ที่รวดเร็วและเนื้อหาแคช
เฟสบุ๊คคืออะไร?
การเปิดเผยโครงสร้างพื้นฐานศูนย์ข้อมูลของ Facebook นี้มีนัยยะสำคัญด้วยเหตุผลหลายประการ ประการแรก เป็นการแสดงให้เห็นถึงความมุ่งมั่นของ Facebook ในการให้บริการที่มีคุณภาพอย่างต่อเนื่อง นอกจากนี้ ศูนย์ข้อมูลยังสามารถเข้าถึงการดำเนินงานของ Facebook ในระดับที่ไม่เคยมีมาก่อน ประการสุดท้าย เป็นการเน้นย้ำถึงความสำคัญของ Autoscale ซึ่ง Facebook ใช้ในการจัดการทราฟฟิกและเพิ่มประสิทธิภาพการทำงาน
ทำไม Facebook ถึงใช้ Mysql
เมื่อ Facebook เติบโตขึ้นและ SQL และ MySQL ก็แพร่หลาย กลายเป็นแอปพลิเคชัน PHP ที่ใช้ MySQL เป็นฐานข้อมูลถาวรและ memcache เป็นแคช "lookaside" Facebook ใช้เซิร์ฟเวอร์ MySql มากกว่า 1,000 เครื่องในปัจจุบันเพื่อจัดเก็บข้อมูล ซึ่งเรียกว่าฐานข้อมูลสากล (หลายผู้เช่า) ฐานข้อมูลถูกแบ่งพาร์ติชันและจำลองแบบอย่างหนัก หากต้องการลดจำนวนชาร์ดที่จำเป็นในการค้นหาข้อมูล ข้อมูลที่เกี่ยวข้องทั้งหมดจะถูกเก็บไว้ในชาร์ด Netflix ใช้ฐานข้อมูลอะไร Oracle คือระบบการคงอยู่ของข้อมูลที่ใช้กันมากที่สุดในศูนย์ข้อมูลของ Netflix MySQL ใช้ในโครงสร้างพื้นฐานการแนะนำภาพยนตร์ในบางพื้นที่ ฐานข้อมูลในทั้งสองเป็น ฐานข้อมูลเชิงสัมพันธ์
ฐานข้อมูลเฟสบุ๊ค
ฐานข้อมูล Facebook คือชุดของข้อมูลที่จัดระเบียบและจัดเก็บโดยเว็บไซต์โซเชียลเน็ตเวิร์ก Facebook ข้อมูลนี้อาจรวมถึงข้อมูลเกี่ยวกับผู้ใช้ เพื่อน และกิจกรรมของพวกเขาบนไซต์ ฐานข้อมูล Facebook ใช้เพื่อขับเคลื่อนคุณลักษณะและฟังก์ชันของไซต์
Cassandra กลายเป็น Data Store สำหรับ Facebook ได้อย่างไร
เนื่องจากความยืดหยุ่นในการสร้างโมเดลข้อมูลของ SQL และการใช้ MySQL อย่างแพร่หลายเมื่อ FB เปิดตัวครั้งแรก MySQL จึงถูกใช้เป็นฐานข้อมูลถาวร และ memcache ถูกใช้เป็นแคช "lookaside" สำหรับกราฟสังคม
ข้อมูลหนึ่งเพตะไบต์มีน้ำหนักประมาณหนึ่งล้านกิกะไบต์บน Facebook ในแต่ละวัน เพตะไบต์มีค่าเท่ากับข้อมูลประมาณ 300 เพตะไบต์ และทั้งหมดอยู่ภายในสิ่งอำนวยความสะดวกของไฮฟ์
แม้ว่า Facebook จะละทิ้ง Cassandra โดยสิ้นเชิง แต่บริษัทยักษ์ใหญ่เช่น Twitter, Netflix และ Apple ก็ยังคงใช้งาน Facebook อยู่ ในทางกลับกัน DataStax มีเครื่องมือเวอร์ชันหนึ่งสำหรับธุรกิจอื่นๆ ที่หลากหลาย
ด้วยเหตุนี้ แม้ว่า Facebook จะไม่เก็บข้อมูลของตัวเองใน Cassandra อีกต่อไป แต่ธุรกิจอื่นๆ ก็ทำเช่นนั้น
ใหม่ ฐานข้อมูล Nosql
ฐานข้อมูล NoSQL ซึ่งไม่ใช่ฐานข้อมูล SQL ถูกกำหนดให้เป็นฐานข้อมูลที่รวบรวมข้อมูลในลักษณะที่แตกต่างจากฐานข้อมูลเชิงสัมพันธ์ ฐานข้อมูลตาราง ไม่ต้องการชุดคอลัมน์ตายตัวในตาราง เข้ากันได้กับมาตราส่วนแนวนอน และไม่ต้องการ JOIN เช่นฐานข้อมูลเชิงสัมพันธ์ ประเภทของฐานข้อมูล NoSQL จะแตกต่างกันไปตามโมเดลข้อมูลที่ใช้
เป็นหนึ่งในประเภทของฐานข้อมูลที่ใช้บ่อยที่สุดในอุตสาหกรรมเพื่อวัตถุประสงค์ที่หลากหลาย การใช้คลาวด์คอมพิวติ้งกับ ฐานข้อมูลแบบเดิม มีข้อดีหลายประการ เช่น การใช้งานง่าย ความจุพื้นที่เก็บข้อมูลบนคลาวด์ที่เพิ่มขึ้น และการรักษาความปลอดภัยข้อมูลที่ดีขึ้น มีการใช้ฐานข้อมูล NoSQL เพื่อวัตถุประสงค์ที่หลากหลาย รวมถึงบันทึกการรักษาพยาบาล บันทึกทางการเงิน และฐานข้อมูลอื่นๆ ฐานข้อมูลเอกสาร RavenDB NoSQL รองรับธุรกรรม ACID (Atomicity, Consistency, Isolation และ Durability) และเป็นฐานข้อมูล NoSQL ที่มั่นคงพร้อมความสามารถประเภทเอกสารที่มั่นคง ด้วย Couchbase คุณสามารถสร้างแอปพลิเคชันบนมือถือและ Internet-of- Things (IoT) คุณยังสามารถใช้ ArangoDB เพื่อค้นหาและแสดงกราฟ เอกสาร และข้อมูลอื่นๆ OrientDB เป็นหนึ่งในฐานข้อมูล NoSQL แรกๆ ที่รวมการรองรับหลายโมเดลสำหรับกราฟและเอกสาร
คุณอาจพบว่า Neo4j เป็นตัวเลือกที่ใช้งานได้หากคุณต้องการบริบทเพิ่มเติมในฐานข้อมูลของคุณเพื่อรับข้อมูลเชิงลึกเกี่ยวกับข้อมูลของคุณ MongoDB มีแพลตฟอร์มอื่นที่เรียกว่า Realm ซึ่งช่วยให้คุณสร้าง ทดสอบ และเผยแพร่แอปพลิเคชันมือถือได้อย่างรวดเร็ว MarkLogic Database สร้างขึ้นเพื่อจัดการฐานข้อมูลหลายรุ่น เช่นเดียวกับปริมาณงานที่ต้องใช้ความสามารถของ NoSQL MarkLogic Database เป็น แพลตฟอร์มฐานข้อมูล NoSQL ที่ดีสำหรับการจัดเก็บข้อมูลความสัมพันธ์และเรียกใช้งานการวิเคราะห์ หากคุณไม่ต้องการประนีประนอม โซลูชันที่มีการจัดการเต็มรูปแบบคือตัวเลือกที่ดีที่สุด
สถาปัตยกรรมฐานข้อมูล Fb
สถาปัตยกรรมฐานข้อมูล fb เป็นเครื่องมืออันทรงพลังที่สามารถช่วยคุณจัดระเบียบและจัดการข้อมูลของคุณได้ เป็นระบบที่ยืดหยุ่นที่สามารถปรับแต่งให้เหมาะกับความต้องการของคุณ ด้วย fb คุณสามารถจัดเก็บและดึงข้อมูลจากแหล่งต่างๆ ได้อย่างง่ายดาย
Facebook ใช้สถาปัตยกรรมสแต็กที่มีกราฟแคชสำหรับทุกสิ่งที่อยู่เหนือระดับล่างสุดของ MySQL กล่าวอีกนัยหนึ่ง หมายความว่าฐานข้อมูลเชิงสัมพันธ์มีประสิทธิภาพไม่ดีไปกว่า ฐานข้อมูลกราฟ นอกจากเพื่อนของเพื่อนแล้ว การค้นหาที่ซับซ้อนยังทำได้ยากกว่าการค้นหาง่ายๆ เช่น "ตำแหน่งทั้งหมดรอบๆ พิกัดที่กำหนด" กราฟคือทางออกที่ดีที่สุดในกรณีนี้ สำหรับผู้ใช้มากกว่า 1 ล้านคนจะใช้เวลา 1.8 วินาที ในขณะที่ผู้ใช้มากกว่า 100,000 คนจะใช้เวลา 18 วินาที หากคุณมีผู้ใช้มากกว่าหนึ่งรายเรียกใช้ข้อความค้นหาเดียวกัน โปรดทราบว่านี่ไม่ใช่เพียงข้อความค้นหาเดียวที่คุณกำลังพยายาม คำตอบสำหรับคำถามเกี่ยวกับวิธีที่ Facebook ออกแบบความสัมพันธ์แบบเพื่อนคือการออกแบบมาเป็นอย่างดี ฉันขอโทษด้วยใจจริงที่ไม่สามารถช่วยเหลือคุณในการดำเนินการได้