บริษัททั้งหมดจัดเก็บข้อมูลจากสมุดบันทึกง่ายๆ ของธุรกิจขนาดเล็ก แม้กระทั่งในวารสารหรือแผ่นกระดาษ
สำหรับบริษัทขนาดใหญ่อย่าง Amazon ที่ต้องการคอมพิวเตอร์เพื่อจัดเก็บข้อมูลระดับเพตะไบต์
ในการจัดเก็บข้อมูลนี้ แทบทุกบริษัทและบางครั้งเป็นรายบุคคลก็ต้องการสิ่งที่เรียกว่าฐานข้อมูล
เราเห็นในส่วนที่แล้วว่ามันยากแค่ไหนที่จะให้เซิร์ฟเวอร์ของเราจดจำผู้ใช้ใหม่
ทุกครั้งที่เซิร์ฟเวอร์ขัดข้อง ตัวแปรจะถูกรีเซ็ตและเริ่มต้นใหม่ทั้งหมด
หรือถ้าเราต้องการทำการเข้าสู่ระบบหรือตรวจสอบการลงชื่อเข้าใช้และทำซ้ำผ่านอีเมลและรหัสผ่านที่ทำวนซ้ำผ่าน
JavaScript นั่นไม่มีประสิทธิภาพ
นั่นคือสิ่งที่ฐานข้อมูลมาช่วย
ลองถามตัวเองว่าฐานข้อมูลคืออะไร?
ฐานข้อมูลคือชุดของข้อมูล
และสิ่งที่เราหมายถึงข้อมูล
มีหลายรูปแบบใช่มั้ย?
อาจมีตัวเลข มีวันที่ อาจมีการแฮชรหัสผ่าน
อาจมีข้อมูลผู้ใช้
ฐานข้อมูลช่วยให้เราสามารถจัดระเบียบข้อมูลนี้ในลักษณะที่เป็นประโยชน์กับเรา และทำให้การจัดการข้อมูลเป็นเรื่องง่าย
และมีบางอย่างเกิดขึ้น เรียกว่าระบบจัดการฐานข้อมูล หรือเรียกสั้นๆ ว่า DB MBS
มันคือชุดของโปรแกรมที่ช่วยให้เราเข้าถึงฐานข้อมูลและทำงานกับข้อมูล และยังอนุญาตให้ควบคุมการเข้าถึงผู้ใช้ฐานข้อมูล
ดังนั้น db mbs จึงเป็นสิ่งที่อยู่ในกล่องนี้
บางอย่างที่ช่วยให้เรามีเครื่องมือ ซอฟต์แวร์ที่ช่วยให้เราสามารถสื่อสารได้
ด้วยฐานข้อมูลที่เก็บข้อมูลที่เป็นประโยชน์สำหรับเราและยังช่วยให้เราสามารถอัปเดต แทรก ลบ ค้นหา
อะไรก็ได้ที่อยู่ในฐานข้อมูล
และแนวคิดเรื่อง DB PBM นี้เริ่มเป็นรูปเป็นร่างขึ้นในปี 1960 และตอนนี้ก็อยู่ในแนวหน้าของสิ่งที่น่าตื่นเต้นมากมาย
มีวิศวกรทั้งอุตสาหกรรมที่ทำงานกับฐานข้อมูลเพราะมันสำคัญมาก
ขณะนี้มี DMS สองประเภทที่กำลังได้รับความนิยมอย่างมากในขณะนี้ และเราจะพูดถึงในหลักสูตรนี้
Post Gress และ MongoDB นำเสนอทั้งสองประเภทนี้ได้ดีมาก
มาพูดถึงอันแรกกัน ซึ่งก็คือฐานข้อมูลเชิงสัมพันธ์
และนี่น่าจะเป็นที่นิยมมากที่สุด อย่างที่คุณเห็นทางด้านขวามือ คุณเห็นว่าทั้งหมดนี้เป็นฐานข้อมูลเชิงสัมพันธ์,
โพสต์หญ้า, Oracle, SQL Server
คุณอาจเคยได้ยินเกี่ยวกับ MySQL SQL Light
นี่คือฐานข้อมูลทุกประเภทที่มีแท็กฐานข้อมูลเชิงสัมพันธ์นี้
และความสวยงามของพวกมันก็คือพวกมันทั้งหมดค่อนข้างคล้ายกัน
ทั้งหมดเป็นไปตามรูปแบบมาตรฐานเดียวกัน
ฐานข้อมูลเชิงสัมพันธ์ประกอบด้วยตารางตั้งแต่สองตารางขึ้นไปที่มีคอลัมน์และแถว
ดังนั้นในกรณีนี้ ผู้ใช้คือตารางและข้อความชื่อผู้ใช้ชื่อเต็มที่สร้างขึ้นที่คอลัมน์ของเรา และค่าใดก็ตามที่พวกเขามีในที่นี้คือแถว
แต่ละแถวแสดงถึงรายการ และแต่ละคอลัมน์จะจัดเรียงข้อมูลประเภทที่เฉพาะเจาะจง เช่น ชื่อ ที่อยู่ หรือหมายเลขโทรศัพท์
แล้วความสัมพันธ์ระหว่างตารางกับเขตข้อมูล
เรียกว่าสคีมาในฐานข้อมูลเชิงสัมพันธ์
ต้องกำหนดสคีมาอย่างชัดเจนก่อนจึงจะสามารถเพิ่มข้อมูลใดๆ ได้
และถ้าตอนนี้ยังสับสนอยู่ ไม่ต้องกังวล เรากำลังจะสร้างฐานข้อมูลเหล่านี้
ดังนั้นมันจึงสมเหตุสมผลสำหรับคุณ
ตัวอย่างเช่น ถ้าเรามี Twitter คุณสามารถดูประเภทตารางที่เราควรมีได้ที่นี่ และเราจะจัดระเบียบตารางอย่างไร
เราจะมีผู้ใช้ที่มีความเสถียร ตารางทวีต ตารางต่อไปนี้
และเราสามารถเชื่อมโยงข้อมูลทั้งหมดเหล่านี้ได้ ตัวอย่างเช่น โดยการเชื่อมต่อส่วนต่างๆ ของตาราง
ตัวอย่างเช่น ชื่อผู้ใช้ในตารางของผู้ใช้จะเหมือนกันกับในทวีต
มั่นคง.
ด้วยวิธีนี้เราสามารถพูดได้ว่าชื่อผู้ใช้ในตารางทวีตเป็นคีย์นอกของชื่อผู้ใช้ในตารางของผู้ใช้และจากผู้ใช้
จะเป็นคีย์นอกของชื่อผู้ใช้ในตารางต่อไปนี้
ตอนนี้สิ่งต่างๆ เช่น ชื่อเต็มหรือ ID บางอย่างที่ระบุแต่ละแถวในตาราง
เรียกว่าคีย์หลัก และเราจะพูดถึงในส่วนนี้ต่อไป
ไม่เป็นไร.
ดังนั้น ฐานข้อมูลทั้งหมดเหล่านี้ เราจะเรียนรู้เกี่ยวกับ PostgreSQL แต่ก็ค่อนข้างจะเหมือนกันหมด
ดังนั้นเมื่อคุณรู้จักอันหนึ่งแล้ว การเลือกอันอื่นก็ค่อนข้างง่าย
พวกเขาสื่อสารกับเซิร์ฟเวอร์กับแบ็กเอนด์ได้อย่างไร?
ฐานข้อมูลเชิงสัมพันธ์ทั้งหมดใช้สิ่งที่เรียกว่า SQL
และ SQL ช่วยให้เราสามารถสื่อสารได้เช่นเดียวกับ HTTP ระหว่างส่วนหน้าและส่วนหลังด้วย SQL
เราสามารถสื่อสารกับฐานข้อมูลและแก้ไขหรือรับหรืออัปเดตตามที่เราต้องการ
และเราจะมีวิดีโอเกี่ยวกับหัวข้อนี้ด้วย
ไม่เป็นไร.
นั่นคือฐานข้อมูลเชิงสัมพันธ์
แล้วประเภทที่สองล่ะ?
ประเภทที่สองเรียกว่าฐานข้อมูลที่ไม่ใช่เชิงสัมพันธ์หรือฐานข้อมูล NoSQL
และเป็นอีกครั้งที่มีฐานข้อมูลหลายประเภทที่มีชื่อเจ๋งๆ เช่น Couch
DB และ Hyper Table
ตอนนี้ MongoDB หรือฐานข้อมูลที่ไม่ใช่เชิงสัมพันธ์ช่วยให้คุณสร้างแอปพลิเคชันโดยไม่ต้องกำหนดสคีมาก่อน
ไม่เหมือนกับฐานข้อมูลเชิงสัมพันธ์
ถ้าเรากลับไปที่ฐานข้อมูลเชิงสัมพันธ์ สคีมานี้หรือตารางเหล่านี้จะต้องกำหนดไว้ล่วงหน้าใช่ไหม
เราจำเป็นต้องรู้ว่าแอปของเราจะมีหน้าตาเป็นอย่างไร จัดทำตารางเหล่านี้เพื่อที่เมื่อแอปดังกล่าวเป็นสาธารณะ
เราสามารถเริ่มป้อนข้อมูลผู้ใช้ ทวีต และผู้ติดตามได้
หากไม่มีฐานข้อมูลเชิงสัมพันธ์หรือ SQL เราสามารถกำหนดได้ในขณะที่ดำเนินการและพวกเขาทั้งหมดมีวิธีจัดเก็บข้อมูลนี้ต่างกัน
แต่ละคนจึงแตกต่างกันมาก
และนี่คือเหตุผลอันทรงพลังอีกประการหนึ่งในการใช้ฐานข้อมูลที่ไม่ใช่เชิงสัมพันธ์ก็คือ ถ้าความต้องการข้อมูลของคุณไม่ชัดเจนในตอนเริ่มต้นของโครงการ
และบางทีคุณอาจมีข้อมูลที่ไม่มีโครงสร้างจำนวนมาก คุณอาจไม่มีความหรูหราในการพัฒนาฐานข้อมูลเชิงสัมพันธ์
ด้วยสคีมาที่กำหนดไว้อย่างชัดเจน
พวกเขาให้ความยืดหยุ่นมากกว่าในการที่ฐานข้อมูลที่ไม่ใช่เชิงสัมพันธ์เป็นเหมือนโฟลเดอร์ที่รวบรวมข้อมูลที่เกี่ยวข้องทุกประเภท
ตอนนี้ MongoDB เป็นสิ่งที่เรียกว่าเชิงเอกสาร
มันเก็บข้อมูลเป็นเอกสาร
ให้ฉันอธิบายประเด็นนี้ให้คุณฟัง
ฉันมีเดสก์ท็อปของฉันที่นี่ซึ่งมีสองโฟลเดอร์
หนึ่งคือฐานข้อมูลเชิงสัมพันธ์ และที่นี่ฉันมีผู้ใช้ทวีต ติดตามโปรไฟล์
และคุณสามารถนึกถึงฐานข้อมูลเชิงสัมพันธ์กับที่เก็บข้อมูลประเภทนี้ ซึ่งโฟลเดอร์นี้อยู่ที่ไหนสักแห่งบนคอมพิวเตอร์ที่เก็บข้อมูลนี้
และเมื่อใดก็ตามที่เราต้องการขออะไรบางอย่างจากฐานข้อมูล เราก็ดึงผู้ใช้เข้ามา
และถ้าเราต้องการคว้าทวีตของผู้ใช้ด้วย เราพบผู้ใช้ที่เราสนใจ จากนั้นค้นหาทวีตของผู้ใช้ที่เราสนใจด้วยคีย์ต่างประเทศที่เชื่อมโยงไปยังผู้ใช้
และเรายังสามารถค้นหาผู้ติดตามจำนวนเท่าใดก็ได้ที่ผู้ใช้มี
เราคว้าข้อมูลนั้นและแสดงบนแอปพลิเคชันเว็บของเรา
ในทางกลับกัน MongoDB จะมีผู้ใช้แต่ละคนเป็นเอกสาร
ดังนั้น ถ้าฉันต้องการคว้าผู้ใช้คนแรก ฉันเพิ่งคว้าเอกสารนี้และมีผู้ติดตามทั้งหมด
ทวีต โปรไฟล์ ทุกอย่างอยู่ในเอกสารฉบับเดียว
และคุณอาจกำลังคิดว่า MongoDB ดูเหมือนจะเป็นทางเลือกที่ดีกว่าการมีสิ่งนี้
วิธีการทำสิ่งที่ถูกต้อง
มันขึ้นอยู่กับความต้องการของคุณ
และนั่นเป็นสาเหตุที่ฐานข้อมูลเป็นหัวข้อที่ซับซ้อน
มันขึ้นอยู่กับสถานการณ์ของคุณจริงๆ
คุณจะเห็นว่า MongoDB มีประโยชน์มากหากคุณมีบางอย่าง เช่น โพรไฟล์ อาจเป็นโพรไฟล์ LinkedIn
แต่ถ้าคุณต้องการสิ่งที่คุณกำลังทำงานโดยเพียงแค่ติดตามข้อมูลหรือแค่ทวีตข้อมูล
อาจมีทวีตที่คุณต้องการดู ขนาดทวีตเฉลี่ยคืออะไร?
มันง่ายมากที่จะคว้าไฟล์นี้และคำนวณมัน เทียบกับวิธีนี้ที่คุณอาจต้องแยกมันออกจากผู้ใช้แต่ละคน
ดังนั้นมันจึงขึ้นอยู่กับความต้องการของคุณจริงๆ
ผมขอแสดงไดอะแกรมอื่นที่อาจเป็น
มีประโยชน์.
เมื่อเราดูฐานข้อมูลเชิงสัมพันธ์กับฐานข้อมูลที่ไม่ใช่เชิงสัมพันธ์ คุณสามารถนึกถึงฐานข้อมูลเชิงสัมพันธ์ได้เนื่องจากแต่ละตารางมีบล็อกโพสต์
แท็กบล็อก ความคิดเห็นในบล็อก และเชื่อมโยงตารางเหล่านี้เพื่อให้ข้อมูลบล็อกกับข้อมูลที่ไม่สัมพันธ์กันที่เก็บทั้งหมดนี้
โพสต์บล็อกในรายการและมีความคิดเห็น แท็ก หมวดหมู่ และข้อมูลที่เกี่ยวข้องอื่น ๆ ทั้งหมดในที่เดียว
MongoDB ใช้อะไรในการสื่อสาร?
ถ้าเรากลับไปที่ตัวอย่างของเราที่นี่ เรามี SQL สำหรับฐานข้อมูลเชิงสัมพันธ์ เช่น Post Press
MongoDB มีสิ่งที่เราเรียกว่าภาษาคิวรีเป็นของตัวเอง และมันเป็นแค่ภาษาคิวรี MongoDB
แต่ทั้งคู่ตั้งเป้าที่จะทำสิ่งเดียวกัน
กล่าวคือ ในการสื่อสารกับฐานข้อมูล ให้วิธีง่ายๆ สำหรับเซิร์ฟเวอร์ในการสื่อสารกับฐานข้อมูล
และในส่วนนี้ เราจะพูดถึงเรื่องนี้ และในที่สุดเราจะเชื่อมต่อจุดต่างๆ และแสดงให้คุณเห็นถึงพลังของฐานข้อมูล
เมื่อพวกเขาเชื่อมต่อกับเซิร์ฟเวอร์
เจอกันใหม่ตอนหน้าค่ะ