ชาร์ดดิ้งฟีด

การแบ่งฟีดคือการแบ่งฟีดทั้งหมดออกเป็นหลายๆ เซ็ตย่อยที่ไม่ทับซ้อนกัน คุณอาจต้องใช้การแบ่งข้อมูล ทั้งนี้ขึ้นอยู่กับระบบแบ็กเอนด์ ประเภทและขนาดของกลุ่มยานพาหนะ

กรณีที่ควรทำการ Shard

  • หากฟีดมีขนาดใหญ่เกินไป (มากกว่า 50 MB) เนื่องจากอาจทำให้เกิดปัญหาด้านประสิทธิภาพเมื่อพาร์ทเนอร์พยายามปฏิบัติตามข้อกำหนดด้านความใหม่ของข้อมูล

  • ระบบแบ็กเอนด์ของพาร์ทเนอร์มีปัญหาทางเทคนิคในการรวมข้อมูลกองยาน ในระบบต่างๆ ในประเทศต่างๆ

  • เราขอแนะนำให้ทำดังนี้สำหรับระบบการเดินทางขนาดเล็กแต่ละระบบเพื่อป้องกันไม่ให้การแยกส่วนส่งผลต่อประสิทธิภาพของระบบ

    • แบบไม่มีสถานี: เราขอแนะนำให้คุณเก็บจำนวน Shard ไว้ที่ ขั้นต่ำและทำให้แต่ละ Shard มีขนาดใหญ่ที่สุดเท่าที่จะเป็นไปได้ในเชิงตรรกะ แต่ละ Shard ต้องครอบคลุมพื้นที่ให้บริการทางภูมิศาสตร์อย่างน้อยขนาดเท่ากับ พื้นที่เมโทรหรือใหญ่กว่า

    • เชื่อมต่อ: อนุญาตให้มีการแยกส่วน และเราขอแนะนำให้พาร์ทเนอร์แยกส่วนฟีดตามพื้นที่เมโทร

กฎทั่วไป

  • แต่ละชาร์ดต้องมีชุดไฟล์ GBFS ที่สมบูรณ์ซึ่งอธิบายระบบได้อย่างครบถ้วน และใช้แยกกันได้

  • ข้อมูลที่เกี่ยวข้องทั้งหมดต้องอยู่ใน Shard เดียว และไม่อนุญาตให้มีการอ้างอิงข้ามกับ Shard อื่น เช่น ยานพาหนะแบบไม่มีสถานีจอด ใน Shard A จะอ้างอิงแผนการกำหนดราคาของระบบจาก Shard B ไม่ได้ แต่ต้องกำหนดแพ็กเกจราคาภายใน Shard A

  • โดยแต่ละส่วนต้องไม่ทับซ้อนกัน ในกรณีที่ยานพาหนะแบบไม่มีแท่นจอดหรือสถานีที่มีแท่นจอดแสดงใน 2 Shard ที่แตกต่างกัน ระบบจะถือว่าเป็น 2 เอนทิตีแยกกัน และจะแสดงข้อมูลที่ซ้ำกันต่อผู้ใช้

  • รั้วภูมิศาสตร์ที่กำหนดไว้ใน Shard หนึ่งต้องไม่ทับซ้อนกับรั้วภูมิศาสตร์ที่กำหนดไว้ใน Shard อื่น

  • รั้วกั้นทางภูมิศาสตร์ต้องไม่ใช้การจัดเรียงทวนเข็มนาฬิกาที่อ้างอิงถึงพื้นที่ นอกรูปหลายเหลี่ยม