سؤال

وبالنظر إلى أن أقراص الحالة الصلبة (سواقات) آخذة في التناقص في السعر وقريبا سوف تصبح أكثر انتشارا كما يدفع النظام، وبالنظر إلى أن معدلات حصولهم هي أعلى بكثير من الدورية وسائط مغناطيسية، ما خوارزميات مستوى سيكسب في الأداء من استخدام سواقات التخزين المحلي؟ على سبيل المثال، وارتفاع سرعة قراءة عشوائية من محركات الأقراص الصلبة يجعل ما يشبه جدول هاش يستند إلى قرص لبقاء لhashstables عموما؛ 4GB من مساحة القرص غير متاحة بسهولة، الأمر الذي يجعل تجزئة لمجموعة كاملة من عدد صحيح 32 بت قابلة للحياة (أكثر للبحث من السكان، على الرغم من التي لا تزال يستغرق وقتا طويلا). في حين أن هذا الحجم من جدول هاش ستكون باهظة للعمل مع بالتناوب مع وسائل الإعلام نظرا لسرعة الوصول، لا ينبغي أن يكون أكبر قدر من مشكلة مع سواقات الأقراص الصلبة الجامدة.

هل هناك أي مناطق أخرى حيث الانتقال الوشيك لسواقات الأقراص الصلبة الجامدة سيوفر المكاسب المحتملة في أداء حسابي؟ كنت أرى بدلا المنطق لكيفية شيء واحد سوف تعمل بدلا من الرأي. أنا لا أريد هذا لتحويل المثير للجدل.

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

المحلول

والمثال لديك من hashtables هو في الواقع بنية قاعدة البيانات الرئيسية التي سوف تستفيد. بدلا من الاضطرار إلى تحميل 4GB كاملة أو أكثر الملف في الذاكرة للتحقيق للقيم، وSSD يمكن سبر مباشرة. وSSD لا يزال أبطأ من ذاكرة الوصول العشوائي، من حيث الحجم، ولكن من المعقول جدا أن يكون جدول تجزئة 50GB على القرص، ولكن ليس في RAM إلا إذا كنت تدفع الأموال الكبيرة للحديد كبيرة.

ومثال على ذلك هو قواعد البيانات موقف الشطرنج. لدي أكثر من 50GB من المناصب المجزأة. يوجد رمز معقدة لمحاولة المناصب ذات الصلة مجموعة بالقرب من بعضها البعض في التجزئة، لذلك يمكنني الصفحة في 10MB من الجدول في وقت ونأمل أن إعادة استخدام بعض منه لعدة استفسارات موقف مماثل. هناك طن من رمز والتعقيد لجعل هذا كفاءة.

واستبدال مع SSD، وكنت قادرا على إسقاط كل تعقيد تجميع ومجرد استخدام تجزئات عشوائية غبية حقا. كما أنني حصلت على زيادة في الأداء منذ أن كنت فقط جلب البيانات أحتاج من القرص، وليس قطع 10MB كبيرة. الكمون أكبر في الواقع، ولكن تسريع الصافي هو كبير .. ورمز فائقة نظيفة (20 خطوط، وليس 800+)، وربما أجمل.

نصائح أخرى

وسواقات الأقراص الصلبة الجامدة ليست سوى بشكل أسرع من أجل الوصول العشوائي. وصول متسلسل إلى القرص هم فقط ضعف performant للمحركات الأقراص التناوب السائدة. العديد من سواقات الأقراص الصلبة الجامدة والأداء الأكثر فقرا في العديد من السيناريوهات التي تسبب لهم لأداء أسوأ من ذلك، كما هو موضح <لأ href = "http://blogs.msdn.com/e7/archive/2009/05/05/support-and-qa-for-solid -state-محركات and.aspx "يختلط =" نوفولو noreferrer "> هنا .

وعلى الرغم سواقات تفعل تحريك الإبرة إلى حد كبير، فهي لا تزال أبطأ بكثير من عمليات وحدة المعالجة المركزية والذاكرة الفعلية. لديك 4GB جدول التجزئة سبيل المثال، قد تكون قادرة على الحفاظ 250+ MB / ثانية قبالة لSSD للوصول إلى المستودعات جدول التجزئة عشوائية. لحملة التناوب، وكنت محظوظا أن يكون لكسر رقم واحد ميغا بايت / ثانية. إذا كنت يمكن أن تبقي هذا الجدول التجزئة 4 GB في الذاكرة، هل يمكن الوصول إليه بناء على أمر من غيغا بايت في الثانية - أسرع بكثير من حتى SSD سريع جدا

وتسرد المادة المشار إليها عدة تغييرات MS ويندوز 7 عند تشغيل لSSD، التي يمكن أن تعطيك فكرة عن نوع من التغييرات التي يمكن أن تنظر في تقديم. أولا، سوبر فيتش للالجلب المسبق البيانات من القرص المعوقين - انها مصممة للحصول على مرات الوصول العشوائي حول بطء القرص التي تخفف من سواقات الأقراص الصلبة الجامدة. هو إلغاء تجزئة تعطيل، لأن وجود ملفات المنتشرة في جميع أنحاء القرص ليست ضربة الأداء لمحركات الأقراص الصلبة.

وبحكم الواقع، أي خوارزمية يمكنك التفكير في الأمر الذي يتطلب الكثير من القرص عشوائي I / O (عشوائي كونها كلمة رئيسية، مما يساعد على رمي مبدأ محلة إلى الطيور، وبالتالي القضاء على فائدة من الكثير من التخزين المؤقت أن يمضي).

وكنت أرى نظم قواعد البيانات معينة الحصول من هذا على الرغم من. الخلية، على سبيل المثال باستخدام محرك التخزين MYISAM (حيث سجلات البيانات هي في الأساس ملفات CSV تعالى). ومع ذلك، أعتقد hashtables كبيرة جدا ستكون أفضل رهان للحصول على أمثلة جيدة.

وSSD الكثير أسرع لقراءة عشوائية، قليلا لمتسلسلة يقرأ وبشكل صحيح أبطأ ليكتب (عشوائي أو لا).

وهكذا فإن جدول هاش diskbased هو <م> صحيح لا مفيد مع SSD، لأنه يأخذ الآن كثيرا من الوقت لتحديثه، ولكن البحث في القرص يصبح (مقارنة مع الأقراص الصلبة العادية) رخيصة جدا.

لا تخدع نفسك. سواقات الأقراص الصلبة الجامدة لا تزال أبطأ مجموعة كبيرة من ذاكرة النظام. أي خوارزمية أن يختار لاستخدام ذاكرة النظام على القرص الثابت لا يزال سيكون أسرع بكثير، وجميع الأمور الأخرى متساوية.

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