ما المكان، SQL Server أو نظام ملف تخزين، من شأنه أن يؤدي إلى أداء أفضل في حفظ الصور شجار؟

StackOverflow https://stackoverflow.com/questions/1234551

سؤال

ونظامنا يحتاج إلى تخزين الصور شجار من ~ 3K في الحجم. نحن نتلقى ~ 300 صور في وقت معين وتحتاج إلى معالجتها بسرعة. وردت مرة واحدة ~ 100000 الصور، يتم نقل الصور من النظام لدينا لنظام أرشيفي آخر أو تطهير.

وأنا أبحث عن أفضل أداء في ما يخص الأولي حفظ ملفات الصور. مهمة نقل الصور لأرشفة هي أقل أداء حرجة.

وموقع ما التخزين، SQL Server أو نظام الملفات، من شأنه أن يؤدي إلى أداء أفضل في حفظ الصور شجار؟

هل هناك أي اعتبارات أو gotchas أخرى ليكون على بينة من؟

هل كانت مفيدة؟

المحلول

وسوف تخزين الصور في الملفات تعطيك أداء أفضل. تحتاج فقط إلى وضع إدخال في جدول قاعدة البيانات ذات الصلة لالمرفقات صورة شجار - واستخدام ذلك للحصول على مسار الصورة على الملفات.

وقد ترغب في مواصلة تعزيز الأداء من خلال استضافة الصور على خادم الويب - IIS (عند الاقتضاء)، ولها تطبيقات العميل الخاص بك (مرة أخرى عند الاقتضاء) استردادها frmo مباشرة هناك بدلا من ذلك

.

نصائح أخرى

في تجربتي SQL خادم كان لائقة مع تخزين النقط في قاعدة البيانات. طالما أتابع أفضل الممارسات ذات الصلة على الاستفسارات، التطبيع، الخ لقد وجدت لها أن تعمل بشكل جيد.

لسبب ما، وأنا شخصيا لا أريد لتخزين PDF ضخم وDOC وملفات JPG في قاعدة البيانات الخاصة بي، ولكن بعد ذلك، وهذا هو بالضبط ما تفعله مايكروسوفت شير، وأبلت بلاء حسنا.

وكنت تنظر بالتأكيد وضع النقط في بلدي ديسيبل.

وخادم SQL 2008 نسخة لديه ميزة جديدة تسمى FILESTREAM. لديها أيضا جزء من وثائقها قسم على أفضل الممارسات ، التي يذكر الناس MS أن FILESTREAM ينبغي أن يأتي في اللعب إذا كانت الكائنات BLOB وعادة ما تكون أكبر 1 MB.

وهذا حالات الصفحة MSDN:

<اقتباس فقرة>   

عند استخدام FILESTREAM إذا كان   الحالتين التاليتين، ل   يجب النظر في استخدام FILESTREAM:    - كائنات التي يتم تخزينها هي، في المتوسط، أكبر من 1 MB. إلى عن على   أصغر الأشياء، تخزين   ثنائي متغير (حد أقصى) النقط في قاعدة البيانات   غالبا ما يقدم تدفق أفضل   الأداء.

ولذا أعتقد مع 3 KB TIFF، هل يمكن تخزين تلك بشكل جيد داخل حقل VARBINARY (MAX) في الجدول الخاص بك SQL خادم عام 2005. لأنه حتى أصغر من حجم الصفحة 8K ل SQL Server، التي سوف مناسبا لطيف!

وقد ترغب أيضا للنظر في وضع النقط الخاص بك إلى الجدول الخاص بهم والإشارة إلى "القاعدة" صف البيانات من هناك. وبهذه الطريقة، إذا كنت بحاجة فقط للاستعلام عن بيانات قاعدة ([إينتس] الخاص بك، varchars وما إلى ذلك)، لن يتم تعثرت الاستعلام الخاص بك إلى أسفل عن طريق النقط التي يجري تخزينها تتداخل مع غيرها من الاشياء.

ومارك

وهذا النظام التسويقي عبر الاقمار الصناعية في INPE / البرازيل يخزن إشارة من الصور شجار المخزنة في الملفات. ولكن الصور هي أكبر قليلا - +/- 100 MB. إذا كان يجب أن يتم عرض الملف في المتصفح، رمز PHP يقرأ محتوى شجار في القرص واستدراجه.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top