สนับสนุนการแบ่งแนวนอน DB ด้วย FuelPHP

เป็นสำนักงานของซัปโปโร

ตามเนื้อผ้าการสร้างระบบเซิร์ฟเวอร์ (LAMP environment) เน้นการพัฒนากรอบงานของตนเอง แต่ในช่วงหลายปีที่ผ่านมามีการใช้กรอบโอเพ่นซอร์สมากขึ้นเรื่อย ๆ

กรอบการทำงานภายในไม่เลว แต่ถ้าเป็นกรอบโอเพนซอร์สผมคิดว่าจะสามารถดำเนินการได้โดยง่ายจากการดำเนินงานของ บริษัท อื่นหรือถ้าคุณกำลังพัฒนาในการดำเนินการย้อนกลับและจัดการกับ บริษัท อื่น

ดังนั้นฉันต้องการจะเขียนเกี่ยวกับ FuelPHP ที่ฉันได้ยินมาว่าขณะนี้มีการใช้กันอย่างแพร่หลายในเกมทางสังคมและการพัฒนาอื่น ๆ ฉันจะบอกคุณเคล็ดลับของ DB ที่ฉันไม่สนใจ

* สำหรับรายละเอียดเกี่ยวกับชนิดของต้นขา FuelPHP คือดูเอกสารภาษาญี่ปุ่น

เอกสารภาษาญี่ปุ่น FuelPHPhttp://fuelphp.jp/

 

■สิ่งแวดล้อมสร้างขึ้นในครั้งนี้

ขณะนี้เราได้ทำการยืนยันในสภาพแวดล้อมต่อไปนี้

Apache 2.2.22

PHP 5.4.44

mysql 5.5.44,

เชื้อเพลิง PHP 1.7.3

แม้ว่าจะเรียกว่าสภาพแวดล้อมการตรวจสอบภายในที่ว่างเปล่าเวอร์ชัน PHP เป็นบิตเก่า แต่ FuelPHP สนับสนุนมัน

โดยวิธีการที่รุ่นล่าสุดของ FuelPHP เป็น 1.8 และยังสนับสนุน PHP 7!

ฉันต้องการอัปโหลดรายงานใด ๆ ที่มีอยู่เช่นกัน

 

เคล็ดลับ!

■รองรับการแบ่งพาร์ติชั่นแบบแนวนอนของตาราง DB

การแบ่งพาร์ติชันแบบแนวนอนของตารางฐานข้อมูลเป็นวิธีที่มีประสิทธิภาพในการสร้างสมดุลภาระในเกมโซเชียล

อย่างไรก็ตามส่วนที่เป็นแนวนอนที่สอดคล้องกับ FuelPHP โดยไม่คาดคิดไม่มีข้อมูลใด ๆ และต้องคลำหามัน

แม้ว่า FuelPHP มีหน้าที่ในการแยก DB ไปยัง master และ slave แต่การประมวลผลในกรณีของการกระจายตารางตามแนวนอนไม่ได้พิจารณาและไม่พบตัวอย่างที่ดี

 

ดังนั้นเราได้สร้างแบบจำลองที่ขยายรูปแบบ ORM ที่มีอยู่และตัดสินใจที่จะเลือกตารางตามเงื่อนไข

สำหรับแต่ละกระบวนการและชั้นโมเดลเด็กโมเดลส่วนขยายนี้จะสืบทอดและใช้ (นี่เป็นขั้นตอนธรรมดา .. )

 

ในกลไกนี้เราทำสิ่งต่อไปนี้

·สร้าง connenction ที่แทนที่คลาสการเชื่อมต่อ

ในหมู่พวกเขาตารางจะถูกเลือกขึ้นอยู่กับกฎแบ่ง

·เตรียมชั้นเรียนสำหรับการรับมรดกไม่ให้แบ่งเป็นตารางแบ่ง

ตั้งค่าแผนก

แต่ละชั้นเรียนสืบทอดชั้นมรดกเหนือและทำสิ่งต่างๆ

 

การเขียนทำให้ฉันรู้สึกยุ่งยากเล็กน้อย แต่จะเกือบจะดังต่อไปนี้

fig001

ตัวอย่างเช่นถ้าคุณพบมันจริงก็หมายความว่ามันเป็นกลไกในการปรับปรุงชั้นของตัวเองในแบบสอบถาม :: ปลอมเพื่อให้เป็นเรื่องปกติ

เมื่อชั้นเรียนสร้างโดยอัตโนมัติด้วยนั่งร้าน ฯลฯ จะต้องมีการเขียนใหม่

 

ใน บริษัท ของเราเราจัดเตรียมตารางที่มีปลายทางแจกจ่ายและเข้าถึงได้จากตารางที่ผู้ใช้แต่ละราย (ใน _ 0 ฯลฯ ) ผมคิดว่าบริเวณนี้เป็นส่วนหนึ่งของการออกแบบ

 

■สิ่งที่จอมปลอม

ค่าเชื้อเพลิงไฟล์ config ของ PHP ถูกอธิบายว่าถูกคัดลอกจากแกนและถูกเขียนใหม่หลังจากที่เขียนใหม่จะถูกนำมาใช้ แต่

ภายใต้สภาพแวดล้อมอื่นนอกเหนือจาก Development เราพบว่า config ภายใต้หลักจะมีชีวิตอยู่

ดังนั้นในแฟ้มการกำหนดค่าที่ฉันคัดลอกเวลานี้ฉันตั้งค่ากับ mysqli แต่ทันทีที่ฉันเปลี่ยนสภาพแวดล้อมการผลิตเป็นข้อผิดพลาด! !

เนื่องจากการตรวจสอบเกิดข้อผิดพลาดเนื่องจากค่าดีฟอลต์ของค่ากำหนดหลักของระบบคือ pdo

 

ตั้งแต่ FuelPHP เขียนใหม่บ่อย ๆ แกนเองดูเหมือนว่าจำเป็นต้องระมัดระวัง

 

■การแสดงผล

ฉันรู้สึกว่า FuelPHP ใช้งานได้ง่ายและเป็นกรอบที่ผ่อนคลาย แต่เนื่องจากต้องใช้ความสามารถในการอ่านบางอย่างฉันจึงคิดว่าควรปรับแต่งและใช้งานให้ดีขึ้น

ในอนาคตฉันต้องการสัมผัสสิ่งต่างๆและ FuelPHP