Azure Blob Storage vs. File Service [ปิด]


130

โปรดแก้ไขความผิดของฉัน จากการอ่านของฉันในหัวข้อจนถึงฉันว่าทั้ง Azure Blob Storage และ File Service เสนอความสามารถในการจัดเก็บไฟล์และโฟลเดอร์ (ฉันเข้าใจว่า blobs สามารถเก็บวัตถุไบนารีใด ๆ แต่ต่อเนื่อง สตรีมไบนารีเป็นเพียงไฟล์ในตอนท้ายของวัน) ในโครงสร้างแบบลำดับชั้นที่เลียนแบบระบบไฟล์

เฉพาะ API ที่ใช้ในการเข้าถึงนั้นจะแตกต่างกันเล็กน้อยซึ่ง File Service อนุญาตให้คุณเคียวรีแหล่งที่มาโดยใช้ Win32 File I / O เช่นฟังก์ชั่นและการใช้ REST API

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


6
คุณอ่านโพสต์บล็อกนี้จาก Azure Storage Team: blogs.msdn.com/b/windowsazurestorage/archive/2014/05/12/… ? โปรดเลื่อนลงไปที่ส่วนที่อธิบายเมื่อใช้บริการใด
หยุดการบริจาค

3
ใช่ฉันอ่านบทความนั้นก่อนโพสต์ ฉันอยู่ในขั้นเริ่มต้นของการคิดสิ่งต่าง ๆ ผ่านไปและความเข้าใจของฉันยังไม่ดีพอ ฉันยังสับสนอยู่ ฉันเข้าใจทุกอย่างที่เขียนในบทความทั้งหมดที่ฉันอ่าน แต่ฉันพยายามหาว่าจะใช้อะไรดีที่สุดหากฉันต้องการจัดเก็บไฟล์ของผู้ใช้ที่เป็นเจ้าของสำหรับแอปพลิเคชันที่ฉันออกแบบ
ทำน้ำเย็น v2

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

1
สิ่งคือ: ฉันต้องการให้ผู้ใช้อัปโหลดและดาวน์โหลดไฟล์ของตัวเองและแบ่งปันบางส่วนกับผู้อื่นในกลุ่มผู้ติดต่อของเขา (สำหรับพวกเขาเพื่อดาวน์โหลด / อ่านเท่านั้น) ฉันสามารถใช้ Shared Access Signatures (SAS) กับที่เก็บข้อมูล Blob เพื่อทำสิ่งนั้น แต่นั่นไม่ได้ดูแลข้อกำหนด "การแบ่งปัน" ของฉัน ฉันโน้มตัวไปทางโซลูชันที่แอพ / บริการของฉันทำการตรวจสอบสิทธิ์ทั้งหมดและไม่ได้เปิดเผยแหล่งเก็บข้อมูลจริงให้กับผู้ใช้ ในบริบทนั้นสำหรับฉันทั้งบริการไฟล์และที่เก็บ Blob ทำสิ่งเดียวกัน ไม่มีใครให้ความสะดวกสบายกับฉันมากกว่าที่อื่น
ทำน้ำเย็น v2

@ WaterCoolerv2 คุณสามารถช่วยฉันเลือกระหว่างการจัดเก็บไฟล์สีฟ้ากับที่เก็บข้อมูล blob สิ่งที่คุณได้ข้อสรุป
Heemanshu Bhalla

คำตอบ:


110

คำถามสองสามข้อสำหรับคำถามของคุณ:

  1. คุณไม่สามารถเมานต์ Azure Blob Storage เป็นการแชร์เนทีฟบนเครื่องเสมือน
  2. Azure Blob Storage ไม่ได้เป็นลำดับชั้นเหนือคอนเทนเนอร์ คุณสามารถเพิ่มไฟล์ที่มี / หรือ \ ตัวละครในพวกเขาที่ถูกตีความว่าเป็นโฟลเดอร์โดยแอพจำนวนมากที่อ่านพื้นที่เก็บข้อมูลหยด
  3. Azure File Service ให้บริการส่วนต่อประสานโพรโทคอล SMB ไปยัง Azure Blob Storage ซึ่งแก้ปัญหาด้วย (1)

หากคุณกำลังพัฒนาแอปพลิเคชันใหม่ให้ใช้ประโยชน์จาก Azure API ดั้งเดิมใน Blob Storage โดยตรง

หากคุณกำลังย้ายแอปพลิเคชั่นที่มีอยู่ซึ่งต้องใช้ไฟล์ร่วมกันให้ใช้ Azure File Service

ทราบว่ามีโปรโตคอล SMB ไม่กี่คุณสมบัติที่บริการ Azure ไฟล์ไม่สนับสนุน


1
ขอบคุณมากไซม่อน บางสิ่งเกี่ยวกับคำตอบของคุณ ดูตอนท้ายของวันฉันต้องการผลลัพธ์ที่ได้ จากมุมมองนั้นฉันโพสต์คำถามนี้ จากมุมมองผลลัพธ์สุดท้ายข้อโต้แย้ง # 1 และ # 3 ในรายการของคุณจะไม่เกี่ยวข้องกัน ฉันไม่ได้โต้เถียงกับคุณเลย :-) คำตอบของคุณมีประโยชน์มาก ฉันแค่พยายามบอกกระบวนการคิดที่ทำให้ฉันถามคำถามนี้ และการโต้เถียง # 2 นั้นไม่ใช่ปัญหาเนื่องจากมันมีปัญหาและบอกว่านั่นไม่ใช่ปัญหา สมมติว่าฉันต้องการจัดเก็บไฟล์ที่เป็นของผู้ใช้ฉันกำลังคิดว่าทำไมฉันถึงชอบมากกว่าไฟล์อื่น
ทำน้ำเย็น v2

ดูสองจุดหลังรายการหมายเลข - นั่นควรเป็นแนวทางของคุณ
Simon W

1
@SimonW - สองคะแนนหลังจากคำแนะนำของคุณระบุว่า "วิธีการทำ" อย่างไรก็ตามพวกเขาไม่ใช่สัมบูรณ์ พวกเขาเป็นเหมือนคำแนะนำมากกว่าในสถานการณ์นั้น มีหลายกรณีที่คุณไม่ต้องการใช้ Azure API โดยตรงแม้แต่กับแอปใหม่ ในทำนองเดียวกันมีหลายกรณีที่คุณอาจต้องการทำงานซ้ำแอพที่มีอยู่เพื่อใช้ Azure API
David Makogon

มีประสิทธิภาพของ IOPS แตกต่างกันหรือไม่?
LaPuyaLoca

@SimonW - คุณสามารถอธิบายรายละเอียดในจุดที่ 3 ด้านบนได้ไหม นี่เป็นวิธีในการติดตั้ง Blob ในรูปแบบไฟล์ SBM ที่ใช้ร่วมกันหรือเข้าถึงเป็นดิสก์ในบางวิธีหรือไม่?
Neil Weicher

38

สิ่งอื่น ๆ ที่ควรพิจารณา:

  • ราคา: พื้นที่เก็บข้อมูล Blob นั้นราคาถูกกว่าพื้นที่เก็บข้อมูลไฟล์มาก
  • ความสามารถในการพกพา: ด้วยพื้นที่เก็บข้อมูลหยดถ้าคุณตัดสินใจโยกย้ายไปยังแพลตฟอร์ม diff ในอนาคตคุณอาจต้องเปลี่ยนรหัสแอปของคุณ แต่ด้วยพื้นที่เก็บไฟล์คุณสามารถโอนย้ายแอปของคุณไปยังแพลตฟอร์มอื่น ๆ ที่รองรับ SMB ได้ แอปของคุณ)

4
ราคาที่นี่เป็นปัจจัยใหญ่ (ประมาณ 5 เท่าในปัจจุบัน) และที่ควรค่าแก่การกล่าวถึงก็คือขีด จำกัด ของพื้นที่จัดเก็บไฟล์ 5TB
TZHX

โพสต์เก่า แต่ฉันอ่านมันเป็นครั้งแรกในวันนี้ มีการ จำกัด 5TB ตามค่าเริ่มต้นในระดับราคามาตรฐาน แต่สามารถเปลี่ยนแปลงได้ผ่านสวิตช์เป็นขีด จำกัด 100TB หมายเหตุ * การเปิดใช้งานการแชร์ไฟล์ขนาดใหญ่ในบัญชีเป็นกระบวนการที่ไม่สามารถย้อนกลับได้ในบัญชี Azure Storage docs.microsoft.com/azure/storage/files/…
Ruwd

10

Azure File Service มีการกำหนดเป้าหมายมากขึ้นสำหรับการจัดการไฟล์ภายใน ด้วยภายในฉันหมายถึงการติดตั้งไดเรกทอรีไปยัง VM ในคลาวด์หรือในสถานที่เพื่อให้สามารถโหลดในแบ็คเอนด์ (โปรโตคอลที่ใช้ SMB)

สำหรับการแชร์ไฟล์กับผู้ใช้ปลายทาง (เว็บหรือแอพ) อาจจะเหมาะสมกว่าที่จะใช้พื้นที่เก็บข้อมูลหยดเนื่องจากเป็นการดาวน์โหลดผ่าน URL ที่ง่ายขึ้น

โพสต์นี้แชร์รายละเอียดเพิ่มเติมเกี่ยวกับการเปรียบเทียบ (ที่ด้านล่าง): https://blogs.msdn.microsoft.com/windowsazurestorage/2014/05/12/introducing-microsoft-azure-file-service/


สวัสดี Clemens Schotte ความหมายของการจัดเก็บข้อมูลแบบ Blob อนุญาตให้ดาวน์โหลดไฟล์ได้หรือไม่คุณหมายถึงที่เก็บข้อมูลไฟล์ไม่มี URL
Heemanshu Bhalla

1
บางสิ่งมีการเปลี่ยนแปลงนับตั้งแต่การโพสต์เหล่านี้ แต่บริการไฟล์รองรับการดาวน์โหลดผ่าน URL และ REST API อื่น ๆ ( docs.microsoft.com/en-us/azure/storage/common/ … ) นอกจากนี้ดูเหมือนว่าการรักษาความปลอดภัยจะอยู่ในระดับบัญชีการจัดเก็บดังนั้นจึงควรเป็นBloggและ File Service ที่คล้ายกันมาก ( docs.microsoft.com/en-us/azure/storage/common/ ...... )
KJ
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.