تخزين البيانات الضخمة
كانت سعة تخزين القرص الصلب الأول، الذي ابتكرته شركة آي بي إم وباعته في مدينة سان خوزيه بولاية كاليفورنيا، حوالي ميجابايت، وكان يحتوي على ٥٠ قرصًا يبلغ قطر كلٍّ منها ٢٤ بوصة. كان هذا القرص الصلب أحدث تقنية موجودة عام ١٩٥٦. كان حجم الجهاز هائلًا؛ فقد كان يزن ما يزيد عن الطن، وكان يمثِّل جزءًا من جهاز كمبيوتر مركزي. عند هبوط الرحلة أبوللو ١١ على سطح القمر عام ١٩٦٩، كان مركز وكالة ناسا لرحلات الفضاء المأهولة في هيوستن يستخدم أجهزة كمبيوتر مركزية، احتوى كلٌّ منها على ذاكرة مساحتها تصل إلى ٨ميجابايت. المثير للدهشة أن الكمبيوتر الذي كان على متن سفينة الفضاء أبوللو ١١ التي هبطت على سطح القمر، والتي كان يقودها نيل أرمسترونج، كان يحتوي على ذاكرة مساحتها ٦٤كيلوبايت فقط.
تطوَّرت تقنيات الكمبيوتر سريعًا، وبحلول بداية ازدهار أجهزة الكمبيوتر الشخصية في ثمانينيات القرن العشرين، كان متوسط حجم القرص الصلب في الكمبيوتر الشخصي ٥ميجابايت إذا كان الكمبيوتر يتضمَّن قرصًا صلبًا بالفعل؛ إذ لم يكن الحال على هذا المنوال دائمًا. وهذه المساحة تكفي لتخزين صورة أو صورتَين في يومنا هذا. زادت سعة تخزين أجهزة الكمبيوتر بسرعة كبيرة، وعلى الرغم من أن سعة تخزين الكمبيوتر الشخصي لم تواكب تخزين البيانات الضخمة، فإنها زادت على نحو كبير في السنوات الأخيرة. أصبح بإمكانك حاليًّا شراء كمبيوتر شخصي مساحة قرصه الصلب ثمانية تيرابايت أو أكثر. وأصبحت محركات الأقراص المحمولة متوافرةً حاليًّا بسعة تخزين ١تيرابايت، وهو ما يكفي لتخزين حوالي ٥٠٠ ساعة من الأفلام أو ما يزيد على ٣٠٠ ألف صورة. ستبدو هذه السعات كبيرةً حتى نقارنها بحجم البيانات الجديدة التي تُنتَج كلَّ يوم، والذي يُقدَّر بحوالي ٢٫٥إكسابايت.
عندما استُبدلَت الصمامات بالترانزستورات في ستينيات القرن العشرين، تنامَى عددُ الترانزستورات التي يمكن وضعها على شريحة إلكترونية واحدة بسرعة كبيرة للغاية، بما يتناسب مع قانون مور تقريبًا، والذي سنتناوله في الجزء الآتي من الكتاب. وعلى الرغم من التوقعات بأننا شارفنا على الوصول إلى الحد الأقصى للتصغير، فإن الأمر يظل مقاربةً معقولة ومفيدة. أصبح في مقدورنا الآن رصُّ مليارات الترانزستورات المتزايدة السرعة على شريحة واحدة، الأمر الذي يتيح لنا تخزين كميات أكبر من البيانات، في حين تسمح المعالِجات المتعدِّدة النوى، بالاشتراك مع برنامج كمبيوتر ذي مؤشرات ترابط متعدِّدة، بمعالجة هذه البيانات.
قانون مور
عام ١٩٦٥، تنبَّأ جوردون مور، الذي أصبح أحد الشركاء المؤسِّسين لشركة إنتل، بأنه على مدار السنوات العشر القادمة، سيتضاعف تقريبًا عدد الترانزستورات التي يمكن وضعها في شريحةٍ كلَّ ٢٤ شهرًا. وعام ١٩٧٥، غيَّر مور من تنبُّئه وقال إن التعقيد سيتضاعف كلَّ ١٢ شهرًا على مدار خمس سنوات، ثم عاد مرةً أخرى ليقول إنه سيتضاعف كلَّ ٢٤ شهرًا. اقترح ديفيد هاوس، وهو زميلٌ من شركة إنتل، بعد وضع السرعة المتزايدة للترانزستورات في الاعتبار، أن «أداء» الشرائح الإلكترونية المصغرة سيتضاعف كلَّ ١٨ شهرًا، وهذا التنبؤ الأخير هو الأكثر استخدامًا حاليًّا فيما يخصُّ قانون مور. أثبتَ هذا التنبؤ دقته البالغة؛ فقد أصبحت أجهزة الكمبيوتر حقًّا أسرع، وأرخص، وأقوى ممَّا كانت عليه عام ١٩٦٥، إلا أن مور نفسه يشعر بأن هذا «القانون» لن يستمر طويلًا.
طبقًا لِمَا كتبه إم ميتشل والدروب في مقاله الذي نُشِر في عدد شهر فبراير ٢٠١٦ من مجلة «نيتشر» العلمية، فقد اقتربت نهاية قانون مور. المعالج الدقيق هو الدائرة المتكاملة المسئولة عن تنفيذ التعليمات التي يقدِّمها برنامج الكمبيوتر. يتكوَّن هذا المعالج عادةً من مليارات الترانزستورات المُكدَّسة في مساحة صغيرة للغاية على شريحة مصغَّرة من السيليكون. وثمة بوابة في كل ترانزستور تسمح بتشغيله أو إلغاء تشغيله حتى يمكن استخدامه في تخزين صفر أو واحد. ويتدفَّق تيار دَخْل ضئيل للغاية عبر كل بوابة ترانزستور، ويُنتِج تيار خَرْج مُضَخَّم عند إغلاق البوابة. كان ميتشل والدروب مهتمًّا بالمسافة بين البوابات، وهي حاليًّا عبارة عن فجوات يبلغ حجم الواحدة منها ١٤ نانومترًا في أفضل أنواع المعالِجات الدقيقة، وصرَّح بأن مشكلات ارتفاع درجة الحرارة الناتجة عن تقارب الدوائر الإلكترونية، وكيف يمكن تشتيتها بفاعلية، تتسبَّب في تداعي النمو الأُسِّي الذي تنبَّأ به قانون مور، الأمر الذي لفت انتباهنا إلى الحدود القصوى الأساسية التي رأى أننا نقترب منها بسرعة.
لا يزال قانون مور قابلًا للتطبيق حتى يومنا هذا على معدَّل نمو البيانات؛ إذ يبدو أن كمية البيانات المُنتجة تتضاعف تقريبًا كلَّ عامَين. كما تزداد كمية البيانات بزيادة سعة التخزين وزيادة القدرة على معالجة البيانات. ونحن المستفيدون من ذلك: أصبحت نتفليكس، والهواتف الذكية، وإنترنت الأشياء (طريقة ملائمة لتسمية العدد الهائل من أجهزة الاستشعار الإلكترونية المتصلة بالإنترنت)، والحوسبة السحابية (شبكة عالمية من الخوادم المتصلة فيما بينها)، من بين خدماتٍ أخرى، ممكنةً بفضل النمو الأُسي الذي تنبَّأ به قانون مور. كلُّ هذه البيانات المُنتجة بحاجة إلى التخزين، وهذا ما سنتناوله فيما يلي.
تخزين البيانات الهيكلية
من الجليِّ أنه يجب تصميم الجداول بعناية، وقد يتطلَّب الأمرُ الكثير من العمل لإجراء تغييراتٍ كبيرة. ولكن، ينبغي عدم التقليل من شأن النموذج الارتباطي. فمقارنةً بالكثير من تطبيقات البيانات الهيكلية، يُعد هذا النموذج سريعًا وموثوقًا. يتضمَّن أحد الجوانب المهمة لتصميم قواعد البيانات الارتباطية عمليةً تُسمَّى «التسوية»، وتشمل تقليل تكرار البيانات إلى الحد الأدنى؛ ومن ثمَّ، الحد من متطلَّبات التخزين. وتسمح هذه العملية بإجراء استعلامات أسرع، ولكن، رغم ذلك، كلما زاد حجم البيانات تراجعَ أداء قواعد البيانات التقليدية هذه.
تكمن المشكلة في قابلية التوسُّع. بما أن قواعد البيانات الارتباطية صُمِّمت في الأساس لتعمل على خادم واحد فقط، فإن سرعتها وموثوقيتها تتراجعان كلما أُضيفَ المزيد من البيانات. الحل الوحيد لتحقيق قابلية التوسُّع هو إضافة المزيد من القدرة الحاسوبية، والتي لها حدٌّ أقصى أيضًا. يُعرَف هذا باسم «قابلية التوسُّع الرأسية». على الرغم من أن البيانات الهيكلية عادةً ما تُخزَّن وتُدار في نظام إدارة قواعد بياناتٍ ارتباطية، فإن كفاءة نظام إدارة قواعد البيانات الارتباطية تقل، حتى مع البيانات الهيكلية، عندما تكون البيانات ضخمة؛ أي عندما يكون حجمها بالتيرابايت أو البيتابايت أو أكثر.
من السمات المهمة لقواعد البيانات الارتباطية وأحد الأسباب الجيدة للاستمرار في استخدامها هو أنها تتماشى مع الخصائص الأربع الآتية: الذَّريَّة، والاتساق، والعزل، والاستمرارية. تضمن الذَّريَّة عدم تحديث قواعد البيانات بواسطة المعاملات غير الكاملة، ويستبعد الاتساق البيانات غير الصحيحة، ويضمن العَزل عدم تداخل معاملة مع أخرى، وتعني الاستمرارية ضرورة تحديث قاعدة البيانات قبل تنفيذ المعاملة التالية. جميع هذه الخصائص مُستحبَّة، إلا أن تخزين البيانات الضخمة، التي تكون في الغالب غير هيكلية، والوصول إليها، يتطلَّبان نهجًا مختلفًا.
تخزين البيانات غير الهيكلية
فيما يخصُّ البيانات غير الهيكلية، لا يصلح استخدام نظام إدارة قواعد البيانات الارتباطية لعدة أسباب، لا سيَّما أنه بمجرد إنشاء مخطط قاعدة البيانات الارتباطية، يُصبح من الصعب تغييره. علاوةً على ذلك، لا يمكن تنظيم البيانات غير الهيكلية في صفوف وأعمدة بما يحقِّق سهولة الاستخدام. وكما رأينا سابقًا، عادةً ما تكون البيانات الضخمة عالية السرعة وتُنتَج في الوقت الحقيقي وتتطلَّب معالجة آنية؛ ولذا على الرغم من أن نظام إدارة قواعد البيانات الارتباطية يصلح بامتياز للعديد من الأغراض ويفيدنا كثيرًا، فقد أُجريت على ضوء انفجار البيانات الحالي أبحاثٌ مكثَّفة في أساليب التخزين والإدارة الجديدة.
لتخزين مجموعات البيانات الهائلة هذه، تُوزَّع البيانات على خوادم. وكلما زاد عدد الخوادم المُتضمَّنة، زادت أيضًا احتمالية حدوث عُطل في مرحلة ما، وعليه، فمن المهم أن تكون لدينا عدة نسخ متطابقة من البيانات نفسها، وتُخزَّن كلُّ نسخة على خادم مختلف. وممَّا لا شك فيه أنه في ضوء كميات البيانات الهائلة الجاري معالجتها حاليًّا، أصبح يُنظر إلى أعطال الأنظمة على أنها أمرٌ حتمي؛ ومن ثمَّ أصبحت طرق التغلُّب عليها مُضمَّنةً في أساليب التخزين. كيف تُلبَّى إذن متطلَّباتُ السرعة والموثوقية؟
نظام هادوب للملفات الموزَّعة
يوفِّر نظام الملفات الموزَّعة قدرةً تخزينية فعالة وموثوقة للبيانات الضخمة عبر الكثير من أجهزة الكمبيوتر. من منطلق تأثره بالأفكار التي نُشرَت في أكتوبر ٢٠٠٣ بواسطة شركة جوجل في ورقة بحثية عن إطلاق نظام ملفات جوجل، بدأ دوج كاتينج، الذي كان يعمل في ذلك الوقت في شركة ياهو، وزميله مايك كافاريلا، طالب الدراسات العليا في جامعة واشنطن، العمل على تطوير نظام هادوب للملفات الموزَّعة. يُعَد هادوب، وهو أحد أشهر أنظمة الملفات الموزَّعة، جزءًا من مشروع أكبر للبرامج المفتوحة المصدر يُسمَّى «هادوب إيكوسيستم». سُمي النظام باسم هادوب تيمُّنًا بدُمية صفراء محشوة على هيئة فيل كانت مملوكةً لابن كاتينج، والمشروع مكتوب بلغة البرمجة الشهيرة جافا. إذا كنت تستخدم فيسبوك، أو تويتر، أو إيباي، على سبيل المثال، فاعلم أن هادوب يعمل في الخلفية أثناء ذلك. يسمح النظام بتخزين البيانات شبه الهيكلية وغير الهيكلية، ويوفر منصةً لتحليل البيانات.
عندما نستخدم نظام هادوب للملفات الموزَّعة، تُوزَّع البيانات عبر الكثير من العُقَد التي يُقدَّر عددُها بنحو عشرات الآلاف، والموجودة فعليًّا في مراكز بيانات في جميع أنحاء العالم. يوضِّح شكل ٤ البنية الأساسية لمجموعة واحدة من نظام هادوب للملفات الموزَّعة، والتي تتكوَّن من عُقدة اسم رئيسية واحدة والكثير من عُقَد البيانات الفرعية.
تُكتَب البيانات في عقدة البيانات لمرة واحدة، ولكنها ستُقرأ بواسطة التطبيقات لمراتٍ كثيرة. تبلغ مساحة كل كتلة عادةً ٦٤كيلوبايت فقط، ومن ثمَّ، فإن هناك الكثير منها. إحدى وظائف عقدة الاسم هي تحديد أفضل عقدة بياناتٍ لاستخدامها بِناءً على الاستخدام الحالي، ما يضمن سرعة الوصول إلى البيانات ومعالجتها. ومن ثمَّ، يصل الكمبيوتر العميل إلى كتلة البيانات عبر العقدة المختارة. تُضاف عقد البيانات طبقًا لزيادة متطلَّبات التخزين وعندما توجد ضرورة لذلك، وهي السمة المعروفة باسم «قابلية التوسُّع الأفقية».
إحدى المميزات الرئيسية لنظام هادوب للملفات الموزَّعة عن قواعد البيانات الارتباطية أنه يمكنك جمع كميات كبيرة من البيانات، والإضافة إليها، وذلك من دون أن تكون لديك أدنى فكرة، أثناء فعل ذلك، عمَّا تريد استخدامها من أجله. يستخدم فيسبوك، على سبيل المثال، نظام هادوب في تخزين بياناته التي تتزايد كمياتها باستمرار. والنظام لن يتسبَّب في فقد أي بيانات، كما أنه سيُخزِّن أيَّ شيءٍ وكلَّ شيءٍ في صيغته الأصلية. إنَّ إضافة عقد البيانات حسب الضرورة لا يكلِّف الكثير ولا يتطلَّب تغيير العُقد الموجودة بالفعل. وفي حال أصبحت العُقد التي أُنشئت سابقًا زائدةً عن الحاجة، من السهل إيقافها عن العمل. كما رأينا سابقًا، البيانات الهيكلية ذات الصفوف والأعمدة القابلة للتحديد يمكن تخزينها بسهولة في نظام إدارة قواعد بيانات ارتباطية، في حين يمكن تخزين البيانات غير الهيكلية بتكلفة منخفضة وبسهولة باستخدام أنظمة الملفات الموزَّعة.
قواعد البيانات غير الارتباطية للبيانات الضخمة
نظرية الاتساق، والتوفُّر، والسماح بخطأ انقطاع الاتصال
خلاصة الأمر، تنصُّ نظرية الاتساق والتوفُّر والسماح بخطأ انقطاع الاتصال على أنه فيما يخصُّ أي نظام كمبيوتر موزَّع، حيث تتم مشاركة البيانات، يمكن أن يتحقَّق معياران فقط من هذه المعايير الثلاثة. وعليه، توجد ثلاثة احتمالات، فالنظام؛ إمَّا أن يكون متسقًا ومتاحًا، وإمَّا أن يكون متسقًا ويسمح بخطأ انقطاع الاتصال في الشبكة، وإمَّا أن يسمح بخطأ انقطاع الاتصال في الشبكة ويكون متاحًا. لاحظ أنه بما أن الشبكة في نظام إدارة قواعد البيانات الارتباطية غير مُعرَّضة لخطأ انقطاع الاتصال، فإن الاتساق والتوفُّر وحدهما سيكونان المعيارَين محطَّ الاهتمام، وسيحقِّق نموذج نظام إدارة قواعد البيانات الارتباطية كلَيهما. أمَّا في قواعد البيانات غير الارتباطية، بما أن انقطاع الاتصال في الشبكة أمرٌ وارد الحدوث، فعلينا أن نختار ما بين الاتساق والتوفُّر. وإذا غضضنا الطرف عن التوفُّر، فسنتمكَّن من الانتظار حتى يتحقَّق الاتساق. أمَّا إذا اخترنا أن نغض الطرف عن الاتساق، بدلًا من ذلك، فإن هذا سيؤدي بالتبعية إلى أن البيانات ستختلف من خادم لآخر في بعض الأحيان.
توجد ثلاث خصائص تصف هذا الوضع بطريقة ملائمة وهي: متوفر دائمًا، ومرن، ومتسق في النهاية. ويبدو أن هذه الخصائص الثلاث جاءت على النقيض من الخصائص الأربع لقواعد البيانات الارتباطية. تشير كلمة «مرن» هنا إلى المرونة في متطلَّبات الاتساق. وليس الهدف هو تجاهل أيٍّ من هذه المعايير الثلاثة، بل إيجاد طريقة لتحسينها جميعها، وهي التوفيق بينها في الأساس.
بِنية قواعد البيانات غير الارتباطية
المفتاح | القيمة |
---|---|
جاين سميث | العنوان: ٣٣ أي طريق، أي مدينة |
توم براون | النوع: ذكر؛ الحالة الاجتماعية: متزوج؛ عدد الأبناء: ٢؛ الأفلام المُفضَّلة: سندريلا، دراكولا، باتون |
قد توجد بالطبع الكثير من أزواج المفتاح والقيمة تلك، وأن إضافة أزواج جديدة أو حذف أزواج قديمة أمر سهل للغاية؛ ممَّا يجعل قاعدة البيانات قابلةً للتوسُّع أفقيًّا إلى حدٍّ كبير. القدرة الرئيسية لهذا النوع هي أننا نستطيع البحث عن القيمة الخاصة بمفتاح معين. على سبيل المثال، باستخدام المفتاح «جاين سميث»، سنتمكَّن من العثور على عنوانها. وبتوفر كميات ضخمة من البيانات، يوفر هذا النوع من قواعد البيانات حلًّا سريعًا، وموثوقًا، وقابلًا للتوسُّع بسهولة للتخزين، ولكنه محدود بسبب عدم وجود لغة استعلام. تُعَد قواعد البيانات القائمة على الأعمدة وقواعد بيانات المستند، مُلحقَين لنموذج المفتاح والقيمة.
في هذا المثال، تُمثِّل العُقَد الأسماء والأقسام، والخطوط المستقيمة هي العلاقات بينها. وتُستخرج البيانات من التمثيل البياني عن طريق تتبُّع هذه الخطوط. إذن، إذا أردت إيجاد «أسماء موظفي قسم تكنولوجيا المعلومات الذين يعولون أطفالًا»، على سبيل المثال، فسنجد أن بوب يحقِّق هذَين المعيارَين. ولاحظ أن هذا التمثيل البياني ليس مُوجَّهًا؛ أي إننا لا نتبع اتجاهات الأسهم، بل نبحث عن وجود روابط.
التخزين السحابي
على غرار الكثير من المصطلحات الحاسوبية العصرية، يبدو مصطلح السحابة الإلكترونية مستساغًا، ومريحًا، وجذابًا، ومألوفًا، إلا أن «السحابة الإلكترونية» في الحقيقة، كما ذُكر سابقًا، مجرد طريقة للإشارة إلى شبكة من الخوادم المتصلة فيما بينها والموجودة في مراكز بيانات في جميع أنحاء العالم. وتمثِّل مراكز البيانات هذه موقعًا مركزيًّا لتخزين البيانات الضخمة.
عبر الإنترنت، نتشارك استخدام هذه الخوادم التي تُدار عن بُعد، وتوفِّرها العديدُ من الشركات (بعد دفع رسوم)، في تخزين الملفات وإدارتها، وفي تشغيل التطبيقات، وما إلى ذلك. وطالما أنَّ البرنامج المطلوب لإتاحة الوصول إلى السحابة الإلكترونية موجود على الكمبيوتر أو أي جهاز آخر لديك، فسيمكنك عرض ملفاتك من أي مكان، ومنح الإذن لآخرين للوصول إليها وعرضها. كما يمكنك استخدام برنامج «موجود باستمرار» على السحابة الإلكترونية بدلًا من البرنامج الموجود على جهاز الكمبيوتر لديك. وعليه، فإن الأمر لا يتعلَّق بإمكانية الوصول إلى الإنترنت فحسب، بل يتعلَّق أيضًا بامتلاك وسيلة لتخزين المعلومات ومعالجتها، ومن هنا جاء مصطلح «الحوسبة السحابية». إن احتياجاتنا الفردية إلى التخزين السحابي ليست كبيرةً إلى هذه الدرجة، ولكن في حال زيادتها ستزيد كمية المعلومات المخزَّنة بصورة هائلة.
تُعَدُّ شركة أمازون أكبر مزوِّد للخدمات السحابية، إلا أن كمية البيانات التي تُديرها تُعامَل على أنها سر تجاري. ويمكننا أن نأخذ فكرةً عن أهمية هذه الشركة في مجال الحوسبة السحابية من خلال تناول حادثة وقعت في فبراير ٢٠١٧ عندما تعرَّضَ نظام التخزين السحابي لمنصة «خدمات أمازون ويب» (إس ثري) إلى «عطل» كبير (أي انقطاع الخدمة). استمرَّ العطل نحو خمس ساعات، ونتجَ عنه انقطاع الاتصال بالكثير من مواقع الويب والخدمات الإلكترونية، بما في ذلك نتفليكس، وإكسبيديا، وهيئة الأوراق المالية والبورصات الأمريكية. أعلنت أمازون فيما بعد أن سبب العطل كان خطأً بشريًّا، حيث ذكرت أن أحد موظفيها تسبَّب في قطع الاتصال عن الخوادم دون قصد. واستغرقت إعادة تشغيل هذه الأنظمة الضخمة وقتًا أكبر من المتوقع، ولكنها تمَّت في النهاية بنجاح. ورغم ذلك، سلَّطت هذه الحادثة الضوءَ على قابلية الإنترنت للتعطُّل، سواءٌ كان ذلك بسبب خطأ غير مقصود أو عملية قرصنة خبيثة المَقصِد.
ضغط البيانات غير المنقوص
ثمة تبايُن كبير في جودة البيانات التي تُجمَع إلكترونيًّا؛ ومن ثمَّ، لا بد من معالجة البيانات مسبقًا قبل تحليلها على نحو مفيد؛ وذلك من أجل الكشف عن مشكلات الاتساق والتكرار والموثوقية وعلاجها. من الواضح أن الاتساق مهم إذا كنا بصدد الاعتماد على المعلومات المستخرجة من البيانات. كما أن إزالة التكرارات غير المرغوب فيها من تدابير الإعداد التحضيرية الجيدة لأي مجموعة بيانات، ولكن، مع وجود مجموعات البيانات الضخمة يطرأ هاجس إضافي بعدم توفر مساحة تخزين كافية للاحتفاظ بكل البيانات. وعليه، تُضغَط البيانات لتقليل التكرار في مقاطع الفيديو والصور؛ ومن ثمَّ الحد من متطلَّبات التخزين، وتحسين معدلات البث في حالة مقاطع الفيديو.
سلسلة الأحرف | d | e | d | d | a |
ASCII | ١٠٠ | ١٠١ | ١٠٠ | ١٠٠ | ٩٧ |
النظام الثنائي | ٠١١٠٠١٠٠ | ٠١١٠٠١٠١ | ٠١١٠٠١٠٠ | ٠١١٠٠١٠٠ | ٠١١٠٠٠٠١ |
ثمة طريقة لقياس مدى كفاءة عملية الضغط، وهي حساب نسبة ضغط البيانات، وتُعرَّف بأنها حجم أحد الملفات دون ضغط مقسومًا على حجمه مضغوطًا. في هذا المثال، النسبة ٤٥ / ٧ تساوي تقريبًا ٦٫٤٣، وهي نسبة ضغط عالية تدل على توفير جيد لمساحة التخزين. ومن الناحية العملية، تكون هذه الأشجار كبيرةً للغاية؛ ومن ثمَّ تُستخدَم أساليب رياضية معقَّدة لتحسينها. وهكذا يوضِّح لنا هذا المثال كيف يمكننا ضغط البيانات دون فقد أيٍّ من المعلومات المتضمَّنة في الملف الأصلي، ومن هنا جاءت تسمية هذا النوع من ضغط البيانات بالضغط غير المنقوص.
ضغط البيانات المنقوص
في المقابل، عادةً ما تكون ملفات الصوت والصور أكبر بكثير من ملفات النصوص؛ ومن ثمَّ، يُستخدم معها أسلوب مختلف يُسمَّى «الضغط المنقوص». ويرجع هذا إلى أنَّ تطبيق أساليب الضغط غير المنقوص عند التعامل مع ملفات الصوت والصور قد لا يُسفر عن نسبة ضغط عالية بما يكفي ليكون تخزين البيانات بهذه الطريقة مُجديًا. هذا بالإضافة إلى أن فقد بعض البيانات من ملفات الصوت والصور أمرٌ مقبول. يستغل الضغط المنقوص هذه السمة الأخيرة، ويحذف بعض البيانات في الملف الأصلي؛ ومن ثمَّ يُقلِّل من مساحة التخزين اللازمة. تتمحور الفكرة الرئيسية حول حذف بعض التفاصيل دون أن يؤثِّر ذلك بدرجة كبيرة على إدراكنا للصورة أو الصوت.
على سبيل المثال، لنفترض أنَّ لدينا صورةً فوتوغرافية بالأبيض والأسود، أو بوصفٍ أدق «صورة ذات تدرُّج رمادي»، لطفل يتناول الآيس كريم على شاطئ البحر. يحذف الضغط المنقوص كميتَين متماثلتَين من البيانات من صورة الطفل ومن صورة البحر. تُحسَب نسبة البيانات المحذوفة بحيث لا يكون لها تأثير كبير على إدراك الناظِر للصورة الناتجة (المضغوطة)؛ فالضغط المفرط سيؤدي إلى صورة مُشوَّشة. ذلك حيث تأتي زيادة مستوى الضغط على حساب جودة الصورة.
إذا أردنا ضغط صورة ذات تدرُّج رمادي، فإننا نقسِّمها أولًا إلى مربعات تبلغ مساحة كلٍّ منها ٨ بكسل × ٨ بكسل. وبما أن هذه المساحة صغيرة للغاية، فستكون جميع وحدات البكسل متشابهةً بوجه عام من حيث الشكل. ومن ثمَّ، تمثِّل هذه الملاحظة، بالإضافة إلى الإلمام بآلية إدراكنا للصور، أحد أساسيات الضغط المنقوص. يحتوي كلُّ بكسل على قيمة عددية تتراوح ما بين صفر للأسود الخالص و٢٥٥ للأبيض الخالص، وتُمثِّل الأعدادُ التي تندرج بينهما ظلالَ اللون الرمادي. وبعد إجراء بعض المعالجة الإضافية باستخدام طريقة تُسمَّى «خوارزمية جيب التمام المتقطع»، نحصل على متوسط قيمة الكثافة لكل كتلة، وتُقارَن النتائج مع كلٍّ من القيم الفعلية لكتلةٍ معينة. وبما أننا نقارن هذه القيم الفعلية بمتوسط القيمة، فإن معظمها سيكون صفرًا أو سيصبح صفرًا عند تقريبه. تجمع خوارزمية الضغط المنقوص جميع هذه الأصفار معًا، وهو ما يمثِّل المعلومات المأخوذة من وحدات البكسل الأقل أهميةً بالنسبة إلى الصورة. تُجمَع كلُّ هذه القيم، التي تناظر المناطق ذات الترددات العالية في الصورة، معًا وتُحذَف المعلومات المُكرَّرة، باستخدام أسلوب يُسمَّى «التكميم»؛ ومن ثمَّ يحدث الضغط. على سبيل المثال، إذا كان لدينا ٦٤ قيمةً يلزم لتخزين كلٍّ منها بايت واحد، وكان لدينا ٢٠ صفرًا، فإن كلَّ ما سنحتاجه بعد الضغط هو مساحة تخزين مقدارها ٤٥بايت فقط. وتُكرَّر هذه العملية مع جميع الكتل المكوِّنة للصورة؛ ومن ثمَّ تُحذَف المعلومات المُكرَّرة منها جميعًا.
بوجه عام، يتم ضغط ملفات الوسائط المتعدِّدة باستخدام أساليب الضغط المنقوص نظرًا لأحجامها الكبيرة. فكلما زاد مستوى ضغط الملف، تراجعت جودة إعادة إنتاجه، ولكن، نظرًا للتضحية ببعض البيانات، يمكن تحقيق نسب ضغط أكبر، بما يجعل الملف أصغر حجمًا.
لنَعُد مجدَّدًا إلى مثال الصورة الفوتوغرافية ذات اللونَين الأبيض والأسود الملتقطة لطفل يتناول الآيس كريم على شاطئ البحر. من البديهي أن نراعي عند ضغط هذه الصورة أن يظل الجزء الذي يُظهر الطفل واضحًا؛ ومن ثمَّ فإننا نُضحِّي في سبيل ذلك بجزءٍ من وضوح تفاصيل الخلفية. أصبح هذا الأمر ممكنًا مع الطريقة الجديدة المسماة «ضغط البيانات عن طريق تمويهها»، التي ابتكرها الباحثون في كلية هنري سامويلي للهندسة والعلوم التطبيقية، بجامعة كاليفورنيا في لوس أنجلوس. وفيما يخصُّ القراء المهتمين بالتفاصيل، يُرجى مراجعة جزء «قراءات إضافية» في نهاية هذا الكتاب.
رأينا كيف يمكن استخدام نظام ملفات البيانات الموزَّعة في تخزين البيانات الضخمة. وتمَّ التغلُّب على مشكلات التخزين، حتى إنه أصبح من الممكن حاليًّا استخدام مصادر البيانات الضخمة في الإجابة عن الأسئلة التي كانت تتعذَّر الإجابة عنها سابقًا. وكما سنرى في الفصل الرابع، تُستخدم طريقة خوارزمية تُسمَّى «ماب رديوس» في معالجة البيانات المخزنة في نظام هادوب للملفات الموزَّعة.