نشر مجموعة نسخ متماثلة ذات توفر عالٍ في MongoDB 3.4 باستخدام Keyfile للتحكم في الوصول على Ubuntu 16.04

منذ تأسيسها في عام 2009 ، كان MongoDB يقود صناعة NoSQL. أحد المفاهيم الأساسية لـ MongoDB هو مجموعة النسخ المتماثلة ، لذا قبل العمل معها ، لنقم أولاً بمراجعة المفهوم.

حول مجموعة النسخ المتماثلة

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

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

أحد الخيارات لحل مشكلة الإتاحة هو أن يكون لديك أكثر من عنصر رئيسي في الهندسة المعمارية ، ولكن هذا يمكن أن يؤدي إلى مشكلة أخرى في اتساق البيانات بين تلك الحالات والتعقيد الإضافي للتكوين.

الآن بالنظر إلى السياق ، يمكننا تقديم تقنية مجموعة النسخ المتماثلة لـ MongoDB. Replica Set هو اسم بنية Master-Slave التي تحتوي على تجاوز تلقائي للفشل ، لذلك في اللحظة التي primaryتفشل فيها عقدة رئيسية (والتي تسمى الآن ) في العمل بشكل صحيح ، electionسيتم تشغيل عقدة رئيسية وسيتم انتخاب عقدة أساسية جديدة من العبيد المتبقين ( يشار إليها الآن باسم secondaries).

العقدة الأساسية

العقدة الأساسية هي الوحيدة التي تقوم بعمليات الكتابة ، بشكل افتراضي تتم معالجة عمليات القراءة من قبل الأساسي أيضًا ولكن يمكن تغيير هذا السلوك لاحقًا.

يتم تسجيل العمليات في oplog(سجل العمليات) ، ثم تقوم العقد الثانوية بتحديث محتواها بشكل غير متزامن بناءً على محتوىoplog

ملحوظة: oplogهي مجموعة مغطاة ، وهذا يعني أن المجموعة لها حد ، local.oplog.rsويمكنك التحقق من محتوى هذه المجموعة داخل غلاف مونغو في أي عضو مجموعة.

العقدة الثانوية

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

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

بفضل هذه الخصائص يمكن أن يكون لدينا أنواع مختلفة من العقد الثانوية:

  • الأولوية 0 : لا يمكن لهذه العقد أن تصبح primaryولا يمكن أن تؤدي إلى انتخابات ، ومع ذلك يمكنها التصويت في الانتخابات ، ولديها نسخة طبق الأصل كاملة ويمكنها قبول عمليات القراءة. يمكن أن تكون مفيدة في نشر مراكز البيانات المتعددة.
  • مخفي : هؤلاء Priority 0أعضاء ، لكن علاوة على ذلك لا يمكنهم معالجة عمليات القراءة. قد يصوتون إذا لزم الأمر. المهام المفضلة لهؤلاء الأعضاء هي إعداد التقارير والنسخ الاحتياطية.
  • تأخر : هذه العقد هي المسؤولة عن "البيانات التاريخية" عن طريق التأخير مع بعض الوحدات في الوقت المناسب. يجب أن يكون العضو المتأخر priority 0عقدة ، ويوصى بأن يكون hiddenعضوًا أيضًا.

المتطلبات الأساسية

  • مدى التوفر لتشغيل ما لا يقل عن 3 مثيلات لـ Ubuntu 16.04 x64 بنفس حجم الخادم.

تصميم مجموعة النسخ المتماثلة

قبل نشر البنية التحتية ، من المهم تصميمها ، وهناك نقاط يجب مراعاتها في هذا التصميم.

اختيار عدد الأعضاء

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

في هذا الدليل سننشر 3 أعضاء ، واحد أساسي وثانوي ثانوي قياسي.

ملاحظة: من المستحسن أن يكون الحد الأقصى لعدد الأعضاء المصوتين 7 مع مزيج من الحكام والأعضاء الثانويين.

اختر اسمًا

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

يشجع هذا البرنامج التعليمي المستخدم على تحديد اسم المجموعة.

توزيع الأعضاء في مراكز البيانات المختلفة

يقترح هذا البرنامج التعليمي أن يتم نشره في نفس مركز البيانات حتى تتمكن من تجنب مشاكل الاتصال.

ملاحظة: في حالة النشر في مراكز بيانات مختلفة ، يوصى بتغليف عقدك بشبكة VPN

تعليمات النشر

الخطوة 1: نشر الحد الأدنى من العقد للبنية التحتية الخاصة بك

إطلاق 3 عقد من Ubuntu 16.04 x64 ؛ في نفس المنطقة من بوابة العملاء الخاصة بك ، إذا أمكن. لا تنس تسميتها وفقًا لنوع المشروع الذي تتعامل معه وتأكد من أن يكون لديك نفس حجم الخادم في جميع هذه العقد.

بعد نشر العقد الثلاث ، سيتعين عليك التأكد من أن كل عقدة يمكنها التحدث مع الباقي. تحتاج إلى ssh إلى عقدتين والوصول إلى الآخرين باستخدام ping -c 4 EXAMPLE_IP. التغيير EXAMPLE_IPإلى عناوين IP الفعلية للعقد الخاصة بك.

هنا يمكنك رؤية مثال للتواصل الناجح بين عقدتين.

root@foo_node:~# ping -c 4 EXAMPLE_IP
PING EXAMPLE_IP (EXAMPLE_IP) 56(84) bytes of data.
64 bytes from EXAMPLE_IP: icmp_seq=1 ttl=59 time=0.594 ms
64 bytes from EXAMPLE_IP: icmp_seq=2 ttl=59 time=0.640 ms
64 bytes from EXAMPLE_IP: icmp_seq=3 ttl=59 time=0.477 ms
64 bytes from EXAMPLE_IP: icmp_seq=4 ttl=59 time=0.551 ms

--- EXAMPLE_IP ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3021ms
rtt min/avg/max/mdev = 0.477/0.565/0.640/0.064 ms

الخطوة 2: تثبيت MongoDB في كل عقدة من البنية التحتية الخاصة بك

بشكل عام ، يمكنك استخدام حزمة MongoDB من Ubuntu ، ولكن من الأفضل استخدام الريبو الرسمي للمجتمع لأنه دائمًا ما يكون محدثًا. يحتوي هذا الريبو على هذه الحزم:

  • mongodb-org ، حزمة المجموعة التي تغلف المكونات الأربعة.
  • خادم mongodb-org ، يحتوي هذا على البرنامج mongodالخفي (العملية الأساسية التي تعالج طلبات البيانات).
  • mongodb-org-mongos ، يحتوي هذا على البرنامج mongosالخفي (خدمة التوجيه لعمليات النشر المشتركة).
  • mongodb-org-shell ، هذه هي mongo shellواجهة JavaScript.
  • mongodb-org-tools ، بعض الأدوات لأنشطة الإدارة.

تابع تثبيت الحزم.

قم باستيراد المفتاح العام لنظام إدارة الحزم.

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6

قم بإنشاء ملف القائمة لـ MongoDB '/etc/apt/sources.list.d/mongodb-org-3.4.list'.

echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list

تحديث قاعدة بيانات الحزمة.

sudo apt-get update

تثبيت metapackage MongoDB.

sudo apt-get install -y mongodb-org

ابدأ خدمة MongoDB.

sudo service mongod start

يمكنك الآن فتح mongo shellأي جلسة باش. للقيام بذلك ، يجب عليك استخدام mongoالأمر. سيتم استقبالك بشيء مشابه لهذا.

MongoDB shell version v3.4.7
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.7
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see http://docs.mongodb.org/
Questions? Try the support group
http://groups.google.com/group/mongodb-user
Server has startup warnings:
*Some extra logs are cut by the way*
>

لا تنس إغلاق الخدمة sudo service mongod stop، لأننا سنبدأ لاحقًا mongodببعض المعلمات. كرر هذه العملية في جميع العقد 3 من المجموعة.

الخطوة 3: تكوين ملف مفتاح الوصول

استخدام ملف مفتاح يفرض مفهومين في إدارة مجموعة النسخ المتماثلة. الأول هو Internal Authentication. افتراضيًا ، يمكنك بدء mongo shellجلسة بدون استخدام مستخدم وستكون لهذه الجلسة التحكم الكامل في قاعدة البيانات ، ولكن عند استخدام ملف مفتاح للمصادقة ، mongo shellتصل جلسة العمل الخاصة بك إلى حالة تسمى localhost exception. تسمح لك هذه الحالة فقط بإنشاء المستخدم المسؤول ومجموعة النسخ المتماثلة. المفهوم الثاني هو Role-Based Access Control، أو بعبارة أخرى إذن. يتم فرض هذا للتحكم في المستويات الإدارية لمجموعة النسخ المتماثلة.

إنشاء ملف المفتاح الخاص بك

ملف المفتاح هو كلمة المرور التي سيتم استخدامها في المجموعة ، يجب أن تكون كلمة المرور هذه هي نفسها في جميع أعضاء المجموعة. لزيادة الأمان ، من المهم استخدام مفتاح عشوائي مع الأداة التي تختارها.

يجب أن يتراوح طول المحتوى بين 6 و 1064 حرفًا. كما يجب عليك تعيين read onlyإذن لملف المفتاح.

chmod 400 PATH_OF_YOUR_KEYFILE
ضع ملف المفتاح في كل عضو مجموعة

الآن قم بنسخ ملف المفتاح الخاص بك إلى كل عضو في المجموعة ، يرجى استخدام مجلد ثابت للرجوع إليه في المستقبل ، ولا تقم بتخزينه في وسيط قابل للإزالة.

استخدم أيضًا مجلدًا للملف الذي mongodيمكنه الوصول إليه.

فرض استخدام ملف المفتاح في مجموعة النسخ المتماثلة

في هذه الخطوة ، نحتاج إلى البدء mongod daemon في كل عضو في المجموعة . هناك طريقتان لبدء mongodالعملية: استخدام ملف التكوين أو استخدام سطر الأوامر. كلتا الطريقتين سهلة للغاية ، ولكن فقط من أجل البساطة ، يستخدم هذا البرنامج التعليمي إصدار سطر الأوامر.

تكوين سطر الأوامر

استخدم الاسم الذي اخترته سابقًا في هذا الأمر.

mongod --keyFile PATH_OF_YOUR_KEYFILE --replSet "YOUR_SET_NAME"

افتراضيًا mongodلا يعمل كبرنامج خفي. ستحتاج إلى استخدام --forkالمعلمة أو استخدامها upstartلتشغيلها بالكامل كحفل. في هذا البرنامج التعليمي ، لا نشجع على تشغيل البرنامج mongodالخفي حتى تتمكن من رؤية السجلات إلى جهازك الطرفي مباشرة.

ملاحظة: اكتب بعناية اسم مجموعة النسخ المتماثلة لأنه بمجرد إنشائها لا يمكنك تغييرها.

الخطوة 4: الاتصال بواجهة المضيف المحلي من أحد أعضاء المجموعة

ملاحظة: إذا قمت بتشغيل mongodكعملية غير خفية ، فسيتعين عليك فتح اتصال ssh آخر لمواصلة العمل.

يجب عليك استخدام mongoالأمر لفتح mongo shell. يمكن القيام بذلك في أي عضو في المجموعة.

في هذه اللحظة نحن في حالة تسمى localhost exception. عند استخدام ملف مفتاح لإعداد mongodالعملية ، فأنت ملزم بإنشاء مسؤول قاعدة بيانات قبل أن تتمكن من تطبيق عمليات القراءة والكتابة ، ولكننا سننتقل إلى ذلك لاحقًا.

الخطوة 5: بدء مجموعة النسخ المتماثلة

هذا جزء دقيق ، نحن نستخدم الأمر rs.initiate()داخل mongo shellمن الخطوة 4. قبل استخدام هذا الأمر دعنا نراجعه.

rs.initiate(
  {
    _id : <replicaSetName>,
    members: [
      { _id : 0, host : "example1.net:27017" },
      { _id : 1, host : "example2.net:27017" },
      { _id : 2, host : "example3.net:27017" }
    ]
  }
)

_idالحقل الأول عبارة عن سلسلة ويجب أن يتطابق مع ذلك --replSetالذي تم تمريره قبل إلى mongod. أيضاً ، hostيجب أن تكون كل قيمة لـ إما ip أو اسم المجال لكل عضو في مجموعة النسخ المتماثلة. لا تنس إلحاق المنفذ الذي يستخدمه مثيل mongo في كل عضو.

حان الوقت الآن لتنفيذ الأمر مع بياناتك ، سيؤدي ذلك إلى تشغيل election، ثم يتم انتخاب الأساسي تلقائيًا.

هنا يجب أن تلاحظ أن مؤشر shell الخاص بك قد تغير إلى YOUR_SET_NAME:PRIMARY>أو YOUR_SET_NAME:SECONDARY. هذا يعني أن إنشاء مجموعة كانت ناجحة.

لمواصلة العمل تحتاج إلى العثور على primary، إذا لم يكن لديك بالطبع. استخدم rs.status()الأمر لإظهار معلومات مجموعة النسخ المتماثلة وحدد موقع primary. كنت تبحث عن العقار "stateStr" : "PRIMARY".

الخطوة 6: إنشاء المسؤول

بعد تحديد موقع primary، أدخل mongo shellالأمر التالي وقم بتشغيله باستخدام بياناتك.

admin = db.getSiblingDB("admin")
admin.createUser(
  {
    user: "YOUR_USER",
    pwd: "YOU_PASSWORD",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  }
)

في admin = db.getSiblingDB("admin")جزء يتيح لنا كتابة إلى adminمن قاعدة بيانات مختلفة. يؤدي هذا إلى إنشاء اسم مستعار يسمى admin، حتى نتمكن من تنفيذ الأوامر باستخدامه بدلاً من ذلك.

إذا كانت العملية ناجحة ، فستتلقى إشعارًا بإضافة المستخدم.

Successfully added user: {
    "user" : "YOUR_USER",
    "roles" : [
        {
            "role" : "userAdminAnyDatabase",
            "db" : "admin"
        }
    ]
}

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

الخطوة 7: المصادقة كإدارة

لقد وصلنا إلى حد الـ localhost exception، ولهذا السبب علينا تغيير المصادقة إلى المستخدم الذي تم إنشاؤه خطوة واحدة من قبل.

يمكنك تغيير المستخدمين داخل mongo shellبما يلي.

db.getSiblingDB("admin").auth("YOUR_ADMIN", "YOUR_PASSWORD" )

إذا لم تكن قد اتصلت بالفعل mongo shellباستخدام هذا الأمر بدلاً من ذلك.

mongo -u "YOUR_ADMIN" -p "YOUR_PASSWORD" --authenticationDatabase "admin"

سيتم إعلامك بتغيير المستخدم ، ويمكنك الانتقال إلى الخطوة التالية.

الخطوة 8: إنشاء سيد الكتلة

و clusterAdminدور يعطي عنصر تحكم المستخدم الكاملة للمجموعة النسخة المتماثلة. يعد إنشاءه سهلاً مثل إنشاء مستخدم المشرف.

db.getSiblingDB("admin").createUser(
  {
    "user" : "YOUR_USER",
    "pwd" : "YOUR_PASSWORD",
    roles: [ { "role" : "clusterAdmin", "db" : "admin" } ]
  }
)

لاحظ أن هذه المرة يتم تغيير الدور إلىclusterAdmin .

الخطوة 9: إدخال البيانات في مجموعة النسخ المتماثلة

في هذه اللحظة لدينا 2 مستخدمين إداريين: أحدهما لديه السيطرة الكاملة على الخادم والآخر لديه حق الوصول إلى المهام الإدارية على مستوى مجموعة النسخ المتماثلة. ومع ذلك ، فنحن نفتقر إلى مستخدم لديه حق الوصول إلى "استخدام" قاعدة بيانات ، لذلك سننشئ هذا المستخدم الآن.

admin = db.getSiblingDB("admin")
admin.createUser(
  {
    user: "YOUR_USER",
    pwd: "YOUR_PASSWORD",
    roles: [ { role: "userAdminAnyDatabase", db: "cars" } ]
  }
)

لاحظ هذه المرة أننا نقوم بتغيير dbالجزء ، حيث نضع قاعدة البيانات في متناول المستخدم ، وفي هذه الحالة نستخدم قاعدة بيانات مسماة cars.

لم يتم إنشاء قاعدة البيانات حتى الآن. للقيام بذلك ، سيكون عليك كتابة بعض الأوامر لإنشائها ضمنيًا. قم بالتبديل إلى carsقاعدة البيانات.

use cars

سوف تحصل على الإعلام: switched to db cars.

لم يتم إنشاء قاعدة البيانات حتى الآن ، للقيام بذلك تحتاج إلى كتابة شيء لها. نحن نستخدم المثال التالي.

db.models.insert({ make: "Dodge", model: "Viper", year: 2010 })

هذه المرة سيتم إعلامك بـ WriteResult({ "nInserted" : 1 }).

إذا كنت تريد ، يمكنك استرداد جميع الكائنات في قاعدة البيانات ، باستخدام find()الطريقة:

db.models.find()
{ "_id" : ObjectId("59acd8b55334882863541ff4"), "make" : "Dodge", "model" : "Viper", "year" : 2010 }

لاحظ أن ذلك _idسيكون مختلفًا في الإخراج الخاص بك ، ولكن يجب أن تكون البيانات الأخرى هي نفسها. مع إعطاء الوقت الكافي ، سيتم نسخ هذه البيانات للأعضاء الآخرين.

استنتاج

قد يكون إنشاء مجموعة نسخ متماثلة أمرًا صعبًا في البداية نظرًا لوجود الكثير من المعلومات لفهمها ، ولكن بمجرد أن تحصل على الفكرة وراءها ، يمكنك نشرها بسرعة ، لذلك لا تستسلم إذا لم تتمكن من فهمها في المرة الأولى. ضع في اعتبارك أن مجموعة النسخ المتماثلة مهمة في إدارة MongoDB لأنها تفتح إمكانية إضافة ميزات متقدمة مثل موازنة التحميل.



Leave a Comment

قم بتثبيت RockMongo على CentOS 7

قم بتثبيت RockMongo على CentOS 7

RockMongo هي أداة إدارة MongoDB على الويب تشبه أداة إدارة MySQL: phpMyAdmin. سيغطي هذا البرنامج التعليمي عملية التثبيت

تأمين MongoDB

تأمين MongoDB

MongoDB غير آمن افتراضيًا. إذا كنت تقوم بتثبيت MongoDB وتشغيله بدون تكوينه للمصادقة ، فستواجه وقتًا سيئًا

تكوين MariaDB على OpenBSD 6

تكوين MariaDB على OpenBSD 6

في هذا المقال ، يوضح لك Ill كيفية تثبيت MariaDB على OpenBSD 6 وتكوينه بحيث يمكن الوصول إليه من خلال خادم ويب مختلط (Apache أو Nginx). أنت أيضا

كيفية تثبيت واستخدام ArangoDB على أوبونتو 16.04

كيفية تثبيت واستخدام ArangoDB على أوبونتو 16.04

استخدام نظام مختلف؟ مقدمة ArangoDB هي قاعدة بيانات NoSQL مفتوحة المصدر مع نموذج بيانات مرن للمستندات والرسوم البيانية والقيم الأساسية. أنه

النسخ الاحتياطي لقواعد بيانات MySQL

النسخ الاحتياطي لقواعد بيانات MySQL

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

كيفية تثبيت MariaDB 10.3 أو MySQL 8.0 على Arch Linux

كيفية تثبيت MariaDB 10.3 أو MySQL 8.0 على Arch Linux

المتطلبات الأساسية خادم Vultr يعمل حتى تاريخ Arch Linux (راجع هذه المقالة). الوصول إلى Sudo: الأوامر المطلوبة ليتم تشغيلها كجذر مسبوقة بـ # ، وواحد

كيفية تثبيت وتكوين ArangoDB على CentOS 7

كيفية تثبيت وتكوين ArangoDB على CentOS 7

استخدام نظام مختلف؟ مقدمة ArangoDB هي قاعدة بيانات NoSQL مفتوحة المصدر مع نموذج بيانات مرن للمستندات والرسوم البيانية والقيم الأساسية. أنه

كيفية تثبيت MongoDB 4.0 على Arch Linux

كيفية تثبيت MongoDB 4.0 على Arch Linux

المتطلبات الأساسية خادم Vultr يعمل حتى تاريخ Arch Linux (راجع هذه المقالة) وصول Sudo: الأوامر المطلوبة ليتم تشغيلها كجذر مسبوقة بـ # ، وواحد

ثبّت إصدارات أحدث من MongoDB على دبيان 7

ثبّت إصدارات أحدث من MongoDB على دبيان 7

MongoDB هي قاعدة بيانات NoSQL سريعة وقوية. ومع ذلك ، يتم تحديث مستودعات دبيان ببطء وغالبًا ما تحتوي على إصدارات قديمة جدًا من الحزم. هذا توتوريا

قم بتثبيت InfluxDB على Debian Jessie مع Telegraf

قم بتثبيت InfluxDB على Debian Jessie مع Telegraf

مقدمة InfluxDB هي قاعدة بيانات تستند إلى سلسلة زمنية مكتوبة في Go. يحتوي InfluxDB على العديد من الاستخدامات العملية ، أحدها هو تخزين بيانات المراقبة على الخوادم. أنا

كيفية تثبيت Apache Cassandra 3.11.x على Ubuntu 16.04 LTS

كيفية تثبيت Apache Cassandra 3.11.x على Ubuntu 16.04 LTS

استخدام نظام مختلف؟ Apache Cassandra هو نظام إدارة قاعدة بيانات NoSQL مجاني ومفتوح المصدر تم تصميمه لتوفير قابلية التوسع ، hig

كيفية تثبيت وتكوين OrientDB Community Edition على CentOS 7

كيفية تثبيت وتكوين OrientDB Community Edition على CentOS 7

إن OrientDB عبارة عن مصدر مفتوح متعدد النماذج من الجيل التالي NoSQL DBMS. مع دعم نماذج البيانات المتعددة ، يمكن أن يوفر OrientDB المزيد من الوظائف والمرونة في

كيفية تثبيت phpRedisAdmin على CentOS 7

كيفية تثبيت phpRedisAdmin على CentOS 7

phpRedisAdmin هو تطبيق ويب يدير قواعد بيانات Redis مع واجهة مستخدم رسومية بديهية. سيشرح هذا البرنامج التعليمي كيفية التثبيت

كيفية تثبيت Redis على أوبونتو 15.10

كيفية تثبيت Redis على أوبونتو 15.10

Redis هو حل تخزين بيانات ذي قيمة رئيسية ، وغالبًا ما يشار إليه بقاعدة بيانات NoSQL. يمكن أن يحقق سرعات قراءة / كتابة عالية جدًا لأنه عبارة عن وحدة ذاكرة داخل الذاكرة

كيفية النسخ الاحتياطي أو استعادة أو نقل قواعد بيانات MySQL / MariaDB على Ubuntu 16.04

كيفية النسخ الاحتياطي أو استعادة أو نقل قواعد بيانات MySQL / MariaDB على Ubuntu 16.04

النسخ الاحتياطي هو جزء مهم من التعامل مع قواعد البيانات. بغض النظر عما إذا كنت تدير موقعًا للشركات ، أو تستضيف WordPress فقط ، فمن المهم الاحتفاظ بنسخة احتياطية

كيفية تثبيت Laravel GitScrum على CentOS 7

كيفية تثبيت Laravel GitScrum على CentOS 7

Laravel GitScrum ، أو GitScrum هي أداة إنتاجية مفتوحة المصدر مصممة لمساعدة فرق التطوير على تطبيق منهجية سكروم بطريقة مماثلة

كيفية تثبيت Apache Cassandra 3.11.x على دبيان 9

كيفية تثبيت Apache Cassandra 3.11.x على دبيان 9

استخدام نظام مختلف؟ Apache Cassandra هو نظام إدارة قاعدة بيانات NoSQL مجاني ومفتوح المصدر تم تصميمه لتوفير قابلية التوسع ، hig

كيفية تثبيت PostgreSQL 11.1 على قوس لينكس

كيفية تثبيت PostgreSQL 11.1 على قوس لينكس

المتطلبات الأساسية خادم Vultr يعمل حتى تاريخ Arch Linux (راجع هذه المقالة.) الوصول إلى Sudo. الأوامر المطلوبة للتشغيل كجذر مسبوقة بـ # ، وواحدة

كيفية تكوين وورد مع Redis

كيفية تكوين وورد مع Redis

Redis هو مخزن بنية بيانات. إنه شائع في مواقع WordPress لأنه يوفر تعزيزات كبيرة في الأداء بسبب منهجه الأمثل في التخزين المؤقت.

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

6 أشياء شديدة الجنون حول نينتندو سويتش

6 أشياء شديدة الجنون حول نينتندو سويتش

يعرف الكثير منكم أن Switch سيصدر في مارس 2017 وميزاته الجديدة. بالنسبة لأولئك الذين لا يعرفون ، قمنا بإعداد قائمة بالميزات التي تجعل "التبديل" "أداة لا غنى عنها".

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

هل تنتظر عمالقة التكنولوجيا للوفاء بوعودهم؟ تحقق من ما تبقى دون تسليم.

وظائف طبقات معمارية مرجعية للبيانات الضخمة

وظائف طبقات معمارية مرجعية للبيانات الضخمة

اقرأ المدونة لمعرفة الطبقات المختلفة في بنية البيانات الضخمة ووظائفها بأبسط طريقة.

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

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

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

لقد أصبح حل CAPTCHA صعبًا جدًا على المستخدمين في السنوات القليلة الماضية. هل ستكون قادرة على أن تظل فعالة في اكتشاف البريد العشوائي والروبوتات في المستقبل القريب؟

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

مع تطور العلم بمعدل سريع ، واستلام الكثير من جهودنا ، تزداد أيضًا مخاطر تعريض أنفسنا إلى تفرد غير قابل للتفسير. اقرأ ، ماذا يمكن أن يعني التفرد بالنسبة لنا.

التطبيب عن بعد والرعاية الصحية عن بعد: المستقبل هنا

التطبيب عن بعد والرعاية الصحية عن بعد: المستقبل هنا

ما هو التطبيب عن بعد والرعاية الصحية عن بعد وأثره على الأجيال القادمة؟ هل هو مكان جيد أم لا في حالة الوباء؟ اقرأ المدونة لتجد طريقة عرض!

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

ربما سمعت أن المتسللين يكسبون الكثير من المال ، لكن هل تساءلت يومًا كيف يجنون هذا النوع من المال؟ دعنا نناقش.

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

أصدرت Apple مؤخرًا macOS Catalina 10.15.4 تحديثًا تكميليًا لإصلاح المشكلات ولكن يبدو أن التحديث يتسبب في المزيد من المشكلات التي تؤدي إلى إنشاء أجهزة macOS. قراءة هذه المادة لمعرفة المزيد