ไฟล์สูงสุดต่อไดเร็กทอรีใน S3


87

ถ้าฉันมีภาพเป็นล้านภาพจะดีกว่าไหมหากเก็บไว้ในลำดับชั้นของโฟลเดอร์ / โฟลเดอร์ย่อยหรือเพียงแค่ถ่ายโอนข้อมูลทั้งหมดลงในที่เก็บข้อมูลโดยตรง (โดยไม่มีโฟลเดอร์ใด ๆ )

การทิ้งภาพทั้งหมดลงในที่เก็บข้อมูลแบบไม่มีลำดับชั้นจะทำให้การดำเนินการ LIST ช้าลงหรือไม่

มีค่าใช้จ่ายที่สำคัญในการสร้างโฟลเดอร์และโฟลเดอร์ย่อยในทันทีและตั้งค่า ACL (พูดโดยใช้โปรแกรม) หรือไม่?

คำตอบ:


127

S3 ไม่เคารพเนมสเปซแบบลำดับชั้น แต่ละที่เก็บข้อมูลจะมีการแมปจำนวนหนึ่งจากคีย์หนึ่งไปยังอ็อบเจ็กต์ (พร้อมด้วยข้อมูลเมตาที่เกี่ยวข้อง ACL และอื่น ๆ )

แม้ว่าคีย์ของอ็อบเจ็กต์ของคุณอาจมี '/' แต่ S3 จะถือว่าพา ธ เป็นสตริงธรรมดาและทำให้อ็อบเจ็กต์ทั้งหมดอยู่ในเนมสเปซแบบแบน

จากประสบการณ์ของฉันการดำเนินการ LIST ใช้เวลา (เชิงเส้น) นานขึ้นเมื่อจำนวนวัตถุเพิ่มขึ้น แต่นี่อาจเป็นอาการของ I / O ที่เพิ่มขึ้นที่จำเป็นในเซิร์ฟเวอร์ Amazon และเชื่อมต่อกับไคลเอนต์ของคุณ

อย่างไรก็ตามเวลาในการค้นหาดูเหมือนจะไม่เพิ่มขึ้นตามจำนวนวัตถุ แต่ส่วนใหญ่อาจเป็นการนำแฮชแท็ก O (1) บางประเภทมาใช้ในตอนท้ายดังนั้นการมีวัตถุจำนวนมากในที่เก็บข้อมูลเดียวกันควรมีประสิทธิภาพเท่ากับที่เก็บข้อมูลขนาดเล็กสำหรับการใช้งานปกติ (เช่น ไม่ใช่ LISTs)

สำหรับ ACL คุณสามารถตั้งค่าการให้สิทธิ์ในที่เก็บข้อมูลและในแต่ละออบเจ็กต์ เนื่องจากไม่มีลำดับชั้นจึงเป็นเพียงสองตัวเลือกของคุณ เห็นได้ชัดว่าการตั้งค่าการให้สิทธิ์แบบกว้างทั้งถังจะช่วยลดอาการปวดหัวของผู้ดูแลระบบได้อย่างมากหากคุณมีไฟล์หลายล้านไฟล์ แต่จำไว้ว่าคุณสามารถให้สิทธิ์ได้เท่านั้นไม่สามารถเพิกถอนได้ดังนั้นการให้สิทธิ์ทั่วทั้งถังควรเป็นชุดย่อยสูงสุดของ ACL เนื้อหาของมัน

ฉันขอแนะนำให้แยกออกเป็นถังแยกต่างหากสำหรับ:

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

ใน S3 มีที่เก็บข้อมูลและภายในคุณสามารถมี 'โฟลเดอร์' และ 'วัตถุ' ซึ่งโฟลเดอร์อาจเป็นวัตถุในสายตาของระบบ
mwm

14
@mwm คุณเข้าใจผิด "โฟลเดอร์" เป็นสิ่งเฉพาะของ UI ที่มีให้โดยเครื่องมือที่คุณใช้ James ถูกต้องที่คีย์อาจมีเครื่องหมายทับ แต่ s3 นั้นไม่สนใจเลย - แน่นอนว่ามันไม่ได้คิดว่ามันเป็นโฟลเดอร์
Ry4an Brase

S3 จะให้คะแนนคำขอ จำกัด ตามคำนำหน้าพา ธ อย่างแน่นอนดูเอกสารอย่างเป็นทางการ: docs.aws.amazon.com/AmazonS3/latest/dev/…
Anatoly



-3

ฉันใช้โครงสร้างไดเร็กทอรีที่มีรูทจากนั้นอย่างน้อยหนึ่งไดเร็กทอรีย่อย ฉันมักจะใช้ "document import date" เป็นไดเร็กทอรีที่อยู่ใต้รูท ซึ่งจะทำให้การจัดการข้อมูลสำรองง่ายขึ้นเล็กน้อย ไม่ว่าคุณจะใช้ระบบไฟล์ใดก็ตามคุณจะต้องถึงขีด จำกัด จำนวนไฟล์ (ในทางปฏิบัติถ้าไม่ใช่ขีด จำกัด ทางกายภาพ) ในที่สุด คุณอาจคิดเกี่ยวกับการสนับสนุนหลายรูทด้วย

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.