نظام الملفات الموزعة Hadoop (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 (خدمات معالجة البيانات القائمة على الاستعلام)، Solr و Lucene (للبحث والفهرسة)، Spark (معالجة البيانات، في الذاكرة)، YARN (Yet Another Resource Negotiator) و Zookeeper (تنسيق المجموعات).
تُدار الآن البرمجيات مفتوحة المصدر ضمن نظام Hadoop البنائي بواسطة مؤسسة Apache للبرمجيات1—وهي مجتمع عالمي لمطوري البرمجيات والمساهمين في البرمجيات.
صمم استراتيجية بيانات تقضي على صوامع البيانات، وتقلل من التعقيدات وتحسّن جودة البيانات للحصول على تجارب استثنائية للعملاء والموظفين.
يتيح لك watsonx.data توسيع نطاق التحليلات والذكاء الاصطناعي باستخدام جميع بياناتك، أينما كانت، من خلال مخزن بيانات مفتوح وهجين ومُدار.
استفِد من قيمة بيانات المؤسسة باستخدام IBM Consulting، من خلال بناء مؤسسة تعتمد على الرؤى التي تقدِّم ميزة للأعمال.