การตั้งค่า B นั้นง่ายต่อการจัดการ
แต่ละคนtablen
อยู่ในโฟลเดอร์ที่แตกต่างกัน ที่สามารถเป็นประโยชน์มากถ้าคุณทำไม่ต้องการที่จะทดสอบขีด จำกัด ของระบบปฏิบัติการ
ตัวอย่างเช่นนายจ้างของฉันโฮสต์ MySQL สำหรับระบบ CRM ของตัวแทนจำหน่ายรถยนต์ ลูกค้ามีตัวแทนจำหน่าย 800 คน ฐานข้อมูลตัวแทนจำหน่ายแต่ละแห่งมี 160 ตาราง นั่นคือ 128,000 ตาราง
- ภายใต้การตั้งค่า A ตารางทั้งหมด 128,000 ตารางจะอยู่ภายใต้ฐานข้อมูลเดียว
- ภายใต้การตั้งค่า B ชุด 160 ตารางแต่ละชุดจะอยู่ในโฟลเดอร์ย่อยภายใต้ / var / lib / mysql
จากมุมมองของระบบปฏิบัติการและความสามารถในการจัดการ i-nodes (หรือตาราง FAT สำหรับ Windows) ซึ่งรวมถึงการมีจำนวนไฟล์สูงสุดต่อโฟลเดอร์:
- ภายใต้การตั้งค่า A คุณจะต้องกังวลเกี่ยวกับ 128,000 ไฟล์ภายใต้โฟลเดอร์เดียว ระบบปฏิบัติการของคุณสามารถรองรับไฟล์จำนวนมากภายใต้โฟลเดอร์เดียวได้หรือไม่?
- ภายใต้การตั้งค่า B ไม่ต้องกังวล
หากคุณต้องใช้โครงสร้างตารางโดยใช้ALTER TABLE
หรือ DDL อื่น ๆ :
- ภายใต้การตั้งค่า A คุณจะต้องสคริปต์ DDL ที่จำเป็นโดยใช้ PHP (หรือสคริปต์ MySQL เฉพาะ) กับชื่อตารางและแบบสอบถามที่เกี่ยวข้องก่อนที่จะเข้าถึงและทำการเปลี่ยนแปลง
- ภายใต้การตั้งค่า B เชื่อมต่อกับฐานข้อมูลที่ถูกต้องจากนั้นเข้าถึงตารางที่มีชื่อเหมือนกันทุกครั้ง กระบวนทัศน์การเข้าถึงจะสะอาดอยู่เสมอ:
- ฐานข้อมูลเฉพาะ
- โฟลเดอร์เฉพาะภายใต้
/var/lib/mysql
- SpecName TableName
หากคุณต้องการใส่ฐานข้อมูลต่าง ๆ ลงในดิสก์ที่แตกต่าง
- ภายใต้การตั้งค่า A symlink สำหรับทุกตารางที่ย้ายไปยังดิสก์ที่แยกต่างหากจะทำให้ปัญหา "จำนวน inodes ในโฟลเดอร์" แย่ลงเท่านั้น การเข้าถึงดิสก์ I / O และตารางโดยรวมทำให้ซับซ้อนมากขึ้นและเพิ่มภาระเซิร์ฟเวอร์โดยรวมเนื่องจาก
.frm
มีการเข้าถึงไฟล์ซ้ำ ๆ
- ภายใต้การตั้งค่า B เพียงแค่ย้ายโฟลเดอร์ฐานข้อมูลทั้งหมดไปยังตัวยึดข้อมูลแยกต่างหาก สามารถแจกจ่ายดิสก์ I / O ได้ตามต้องการ
- ถ้ำ: หมดกำลังใจอย่างมากสำหรับ InnoDB
พูดเปรียบเทียบคุณอยากได้อะไร
- อพาร์ทเมนต์ขนาดยักษ์พร้อมห้องนอนหนึ่งห้องห้องน้ำหนึ่งห้องและห้องครัวหนึ่งห้อง (SetupA)
- อพาร์ทเมนต์หลายแห่งแต่ละห้องมีห้องนอนห้องน้ำและห้องครัว (SetupB)
เมื่อพูดถึงการซ่อมหม้อน้ำในอพาร์ตเมนต์:
- ด้วยการติดตั้ง A ผู้เช่าทุกคนอาจไม่สะดวกและต้องมีส่วนร่วมเพราะคุณต้องพูดคุยกับผู้เช่าที่ได้รับผลกระทบต่อหน้าทุกคนเหมือนเป็นธุรกิจของทุกคน
- ด้วยการตั้งค่า B นอกเหนือจากการได้ยินเสียงกระแทกบนผนังหรือในท่อผู้เช่าสามารถใช้ชีวิตส่วนตัวของพวกเขาได้
- รายการนี้และคำอุปมาอุปมัยสามารถไปเรื่อย ๆ
IHMO แม้ว่างบประมาณอาจเป็นแรงผลักดันในการตัดสินใจออกแบบ / โครงสร้างพื้นฐาน แต่ฉันก็อยากจะแยกฐานข้อมูลต่อลูกค้า