تم التحديث: 14 يونيو 2024
المساهم: Jim Holdsworth
Hadoop Distributed File System (HDFS) هو نظام تخزين بيانات يدير مجموعات البيانات الكبيرة التي يمكن تشغيلها على أجهزة سلعية. HDFS هو نظام تخزين البيانات الأكثر شيوعًا لـ Hadoop ويمكن استخدامه لتوسيع نطاق مجموعة Apache Hadoop واحدة إلى مئات وحتى آلاف العقد. ونظرًا لأنه يدير البيانات الكبيرة بكفاءة مع إنتاجية عالية، يمكن استخدام نظام HDFS كمسار بيانات وهو مثالي لدعم تحليلات البيانات المعقدة.
تم بناء HDFS على إطار عمل مفتوح المصدر وهو أحد العناصر الرئيسية لـ Apache Hadoop، والعناصر الأخرى هي MapReduce و YARN. لا ينبغي الخلط بين HDFS أو استبداله بـ Apache HBase، وهو نظام إدارة قواعد بيانات غير ارتباطية موجه نحو الأعمدة يقع فوق HDFS ويمكنه دعم احتياجات البيانات في الوقت الفعلي بشكل أفضل من خلال محرك المعالجة داخل الذاكرة.
تعرّف على الفوائد الرئيسية للذكاء الاصطناعي التوليدي وكيف يمكن للمؤسسات تعزيز أعمالها.
التسجيل للحصول على كتاب إلكتروني عن مخازن البيانات المدعومة بالذكاء الاصطناعي
نظرا لأن مثيل HDFS واحد قد يتكون من آلاف الخوادم، فإن فشل خادم واحد على الأقل أمر محتمل دائمًا. تم تصميم HDFS لاكتشاف الأعطال والتعافي تلقائيًا بسرعة. يساعد Data replication باستخدام نسخ متعددة عبر العديد من العقد على الحماية من فقدان البيانات. يحتفظ HDFS بنسخة واحدة على الأقل على رف مختلف عن جميع النسخ الأخرى. يؤدي تخزين البيانات في مجموعة كبيرة عبر العقد إلى زيادة الموثوقية. بالإضافة إلى ذلك، يمكن لـ HDFS التقاط لقطات تخزين لحفظ معلومات النقطة الزمنية (PIT).
صُمم HDFS على نحو خاص لمعالجة الدفعات مقابل الاستخدام التفاعلي، لذلك ينصب التركيز في التصميم على معدلات إنتاجية البيانات العالية، والتي تستوعب الوصول المتدفق إلى مجموعات البيانات.
يستوعب نظام HDFS التطبيقات التي تستخدم مجموعات بيانات عادةً ما يتراوح حجمها بين الغيغابايت والتيرابايت. يوفر HDFS نطاقًا تردديًا عاليًا للبيانات المجمعة ويمكنه التوسع إلى مئات العقد في مجموعة واحدة ويساعد في تشغيل أنظمة الحوسبة عالية الأداء (HPC) . غالبًا ما يتم تخزين بحيرات البيانات على HDFS. استخدمت مستودعات البيانات أيضًا نظام HDFS، ولكن الآن بمعدل أقل، بسبب تعقيد التشغيل الملحوظ.
نظرًا لأنه يتم تخزين البيانات افتراضيًا، يمكن تقليل تكاليف البيانات الوصفية لنظام الملفات وتخزين بيانات مساحة اسم نظام الملفات.
لتسهيل الاعتماد، تم تصميم HDFS ليكون قابلاً للنقل عبر منصات أجهزة متعددة ومتوافقًا مع أنظمة التشغيل الأساسية المختلفة، بما في ذلك Linux وmacOS وWindows. بالإضافة إلى ذلك، فإن بحيرات بيانات Hadoop قادرة على دعم قواعد البيانات غير المنظمة وشبه المنظمة والمنظمة، لتحقيق أقصى قدر من المرونة. وفي حين يتم برمجة Hadoop بلغة Java، فإن لغات أخرى - (بما في ذلك C++ وPerl وPython وRuby) تتيح إمكانية استخدامه في علم البيانات.
يستخدم HDFS بنية المجموعة للمساعدة في تحقيق إنتاجية عالية. ولتقليل حركة بيانات الشبكة، يُخزن نظام ملفات Hadoop البيانات في DataNodes حيث تتم الحسابات، بدلاً من نقل البيانات إلى موقع آخر لإجراء الحسابات.
مع كل من ميزات قابلية التوسع الأفقية والرأسية، يمكن ضبط HDFS بسرعة ليتناسب مع احتياجات بيانات المؤسسة. قد تتضمن المجموعة مئات أو آلاف العقد.
يتمتع HDFS ببنية مدير/عامل.
كل من NameNode وDataNode هما برنامجان مكتوبان للتشغيل على مجموعة واسعة من أنظمة التشغيل (OS)، والتي غالباً ما تكون نظام تشغيل GNU/Linux. تم استخدام لغة Java في بناء HDFS، مما يعني أن أي جهاز يدعم Java يمكنه أيضا استخدام برنامج NameNode أو DataNode.
غالباً ما يكون لعمليات النشر جهاز واحد مخصص لتشغيل برنامج NameNode. بعد ذلك، يقوم أي جهاز آخر في المجموعة بتشغيل مثيل واحد من برنامج DataNode. إذا كانت هناك حاجة لذلك، ولكن يتم استخدامه بشكل غير متكرر، فمن الممكن تكوين أكثر من عقدة بيانات واحدة على جهاز واحد.
عندما يتم إحضار البيانات إلى HDFS، يتم تقسيمها إلى كتل وتوزيعها على عقد مختلفة في مجموعة. باستخدام البيانات المخزنة في DataNodes متعددة، يمكن نسخ الكتل إلى عقد أخرى لتمكين المعالجة المتوازية. يتضمن نظام الملفات الموزعة (DFS) أوامر للوصول بسرعة إلى البيانات واستردادها ونقلها وعرضها. باستخدام النسخ المتماثلة لكتل البيانات عبر DataNodes متعددة، يمكن إزالة نسخة واحدة دون المخاطرة بتلف ملف النسخ الأخرى. حجم كتلة HDFS الافتراضي هو 128 ميغابايت (Hadoop 2.x)، والذي سيعتبره البعض كبيرًا، ولكن يتم إجراء حجم الكتلة لتقليل أوقات البحث وتقليل البيانات الوصفية المطلوبة.
لتقليل المخاطر وسرعة المعالجة، عندما يتوقف DataNode عن الإشارة إلى NameNode، تتم إزالة DataNode من المجموعة وتستمر العمليات بدون DataNode. إذا أصبحت DataNode هذه قيد التشغيل لاحقًا، يتم تخصيصها لمجموعة جديدة.
يوفر HDFS ملفات وصول مرنة إلى البيانات من خلال واجهات مختلفة: يتم توفير واجهة برمجة تطبيقات Java أصلية مع HDFS، بينما يتوفر غلاف لغة C لواجهة برمجة تطبيقات Java، بالإضافة إلى متصفح HTTP يمكن استخدامه لتصفح ملفات مثيل HDFS.
يتم تنظيم HDFS باستخدام تسلسل هرمي تقليدي للملفات حيث يمكن للمستخدم إنشاء أدلة تحتوي على ملفات متعددة. يشبه التسلسل الهرمي لمساحة اسم نظام الملفات أنظمة الملفات التقليدية، حيث يقوم المستخدم بإنشاء الملفات وإزالتها ونقلها بين الأدلة ويمكنه إعادة تسمية الملفات.
يتم الاحتفاظ بمساحة اسم نظام الملفات بواسطة NameNode، الذي يحتفظ بسجلات لأي تغييرات في مساحة اسم نظام الملفات. يمكن تحديد العدد الإجمالي للنسخ المتماثلة المراد حفظها لأي تطبيق هنا. هذا الرقم هو عامل التكرار لهذا الملف. يمكن تعيين عامل التكرار عند إنشاء الملف وتعديله لاحقًا حسب الحاجة.
من أجل توفير مساحة تخزين موثوقة، يقوم HDFS بتخزين الملفات الكبيرة في مواقع متعددة في مجموعة كبيرة، مع كل ملف في تسلسل من الكتل. يتم تخزين كل كتلة في ملف من نفس الحجم، باستثناء الكتلة النهائية، التي يتم تعبئتها عند إضافة البيانات.
لمزيد من الحماية، تتم كتابة ملفات HDFS مرة واحدة بواسطة كاتب واحد فقط في أي وقت. للمساعدة في ضمان نسخ جميع البيانات وفقًا للتعليمات. يتلقى NameNode نبضات القلب (تقرير الحالة الدوري) وتقرير الكتلة (معرف الكتلة وختم الإنشاء وطول كل نسخة متماثلة من الكتلة) من كل DataNode مرفق بالمجموعة. يشير تلقي نبضات القلب إلى أن DataNode يعمل بشكل صحيح.
يقوم NameNode بتحديد معرف الرف لكل DataNode باستخدام عملية تسمى Hadoop Rack Awareness للمساعدة في منع فقدان البيانات في حالة فشل الرف بأكمله. يتيح هذا أيضًا استخدام النطاق الترددي من رفوف متعددة عند قراءة البيانات.
فكر في ملف يتضمن أرقام هواتف لدولة بالكامل. قد يتم تخزين أرقام الأشخاص الذين لديهم لقبًا عائليًا يبدأ بحرف A على الخادم 1 وB على الخادم 2 وما إلى ذلك. وباستخدام Hadoop، سيتم تخزين أجزاء من دليل الهاتف هذا عبر مجموعة واحدة، ولإعادة بناء دليل الهاتف بالكامل، سيحتاج التطبيق إلى الكتل من كل خادم في المجموعة.
للمساعدة في ضمان التوفر العالي في حالة فشل الخادم، يقوم HDFS بنسخ هذه الأجزاء الأصغر على خادمين آخرين بشكل افتراضي. (يمكن زيادة هذا التكرار أو تقليله على أساس كل ملف أو لبيئة بأكملها. على سبيل المثال، لا تحتاج مجموعة Hadoop للتطوير عادةً إلى أي تكرار للبيانات.)
يتيح هذا التكرار أيضًا لمجموعة Hadoop تقسيم العمل إلى أجزاء أصغر وتشغيل هذه الوظائف على جميع الخوادم في المجموعة لتحقيق قابلية التوسع بشكل أفضل. أخيرًا، تستفيد المؤسسة من ميزة توطين البيانات، وهو أمر بالغ الأهمية عند العمل مع مجموعات البيانات الكبيرة.
يمكن لـ HDFS أيضا تمكين الذكاء الاصطناعي (AI) والتعلم الآلي (ML) من خلال التوسع الفعال. أولاً، تخزين البيانات بكميات كبيرة كافية لتدريب نماذج التعلم الآلي، ثم الوصول إلى مجموعات البيانات الهائلة تلك.
أي مؤسسة تقوم بالتقاط وتخزين واستخدام مجموعات بيانات كبيرة—تصل إلى بيتابايت —قد تفكر في استخدام HDFS. توضح بعض حالات الاستخدام المعتمدة على الصناعة كيف يمكن تنفيذ HDFS.
كان أصل Hadoop، وفقًا للشريكين المؤسسين Mike Cafarella و Doug Cutting، ورقة بحثية عن نظام ملفات Google، نُشرت في عام 2003. وتبع ذلك ورقة بحثية ثانية بعنوان "MapReduce: معالجة مبسطة للبيانات على مجموعات كبيرة". بدأ تطوير محرك بحث مبكر يدعى Apache Nutch، ولكن بعد ذلك انتقل العمل مع Doug Cutting إلى Yahoo في عام 2006.
تمت تسمية Hadoop على اسم فيل لعبة كان يمتلكه ابن Cutting. (ومن هنا جاء الشعار). استندت شيفرة Hadoop الأولية إلى حد كبير على Nutch—لكنها تغلبت على قيود قابليتها للتوسع—واحتوت على كل من الإصدارات المبكرة من HDFS و MapReduce.
تستمر مجموعة البرامج في نظام Hadoop البنائي في النمو. بالإضافة إلى HDFS، هناك أيضًا:HBase (قاعدة بيانات NoSQL)، و Mahout ، و Spark MLLib (مكتبات خوارزمية للتعلم الآلي)، و MapReduce (معالجة البيانات القائمة على البرمجة)، و Oozie (مجدول الوظائف)، و PIG وHIVE (خدمات معالجة البيانات القائمة على الاستعلام)، و Solar وLucene (للبحث والفهرسة)، و Spark (معالجة البيانات في الذاكرة)، و YARN (Yet Another Resource Negotiator) و Zookeeper (تنسيق المجموعة).
تُدار الآن البرمجيات مفتوحة المصدر ضمن نظام Hadoop البنائي بواسطة مؤسسة Apache للبرمجيات1—وهي مجتمع عالمي لمطوري البرمجيات والمساهمين في البرمجيات.
watsonx.data™ متاح الآن: مخزن بيانات مناسب للغرض مبني على بنية مستودع بيانات مفتوح لتوسيع نطاق أعباء عمل الذكاء الاصطناعي، لجميع بياناتك في أي مكان.
أبرمت ®IBM و Cloudera شراكة لتقديم توزيع Hadoop رائد في الصناعة على مستوى المؤسسات، بما في ذلك نظام بنائي متكامل من المنتجات والخدمات لدعم التحليلات الأسرع على نطاق واسع.
تظهر ثلاثة حلول مختلفة لمنصات البيانات على الأقل. تعرّف على العلاقة بين مستودع البيانات ونسيج البيانات وشبكة البيانات.
اقرأ هذه المقدمة العملية للجيل القادم من بنيات البيانات. تعرض دور السحابة وتقنيات NoSQL وتناقش الجوانب العملية للأمن والخصوصية والحوكمة.
يمنح Presto المؤسسات من جميع الأحجام طريقة سريعة وفعالة لتحليل البيانات الكبيرة من مصادر مختلفة بما في ذلك الأنظمة المحلية والبيئات السحابية.
1 أساس برنامج Apache (الرابط موجود خارج ibm.com)