يعد اختيار قاعدة البيانات المناسبة لتطبيقك أمرًا مهمًا ، خاصة بالنسبة لتطبيقات الواجهة الخلفية التي تتعامل مباشرة مع قاعدة البيانات. تتوفر العديد من الخيارات ، كل منها يناسب حالات استخدام معينة وبأسعار وسرعات وخيارات قياس مختلفة.
عادةً ما يتم استخدام Python في التطبيقات كثيفة البيانات لأنها تحتوي على مكتبات قوية لمعالجة البيانات ، لذا فإن قاعدة البيانات التي تستخدمها لتطبيق Python مهمة.
تقارن هذه المقالة mariadb شرح بتقنيات قواعد البيانات الأخرى مثل MySQL و PostgreSQL وتناقش سبب كونها خيارًا رائعًا عند استخدام Python.
دورة إتقان WordPress (جديد)
mariadb شرح ما الذي يجعله رائعًا جدًا لبايثون؟
بفضل التلاعب القوي بالبيانات ومكتبات التعلم الآلي ، تعد Python لغة برمجة شائعة لممارسي البيانات - خاصة في هندسة البيانات وعلوم البيانات. يتعامل كلا الحقلين مع كميات كبيرة من البيانات ، مما يزيد من التخزين المطلوب والذاكرة واحتياجات طاقة المعالجة.
غالبًا ما تزداد تكاليف الترخيص جنبًا إلى جنب مع حجم البيانات الخاصة بك ، لذلك من المنطقي استخدام قاعدة بيانات مفتوحة المصدر . يمكنك أيضًا توفير المال على الأجهزة. نظرًا لأنك تتحكم بشكل كامل في مكان نشر التطبيق ، يمكنك العثور على أرخص الحلول في السحابة أو في أماكن العمل.
توجد العديد من قواعد البيانات مفتوحة المصدر ، بما في ذلك قواعد البيانات العلائقية و NoSQL والرسم البياني. تعد قواعد البيانات العلائقية رائعة بشكل عام للبنية والاتساق ، بينما تم تصميم قواعد بيانات NoSQL ، التي تتيح التطوير السريع ، لتكون أكثر مرونة.
على الرغم من أن Python تعمل بشكل جيد مع قواعد بيانات NoSQL ، إلا أن قواعد البيانات العلائقية مناسبة بشكل أفضل للتحليلات ومعالجة البيانات واسعة النطاق التي تعد استخدامات شائعة في Python.
دعنا نقارن MariaDB ببعض قواعد البيانات العلائقية مفتوحة المصدر الشائعة.
MariaDB مقابل MySQL مقابل PostgreSQL
أشهر قواعد البيانات العلائقية مفتوحة المصدر هي MariaDB و SQLite و MySQL و PostgreSQL . لكل منها مجموعة مماثلة من القدرات التقنية الأساسية ، لكن MariaDB لديها بعض الميزات الفريدة التي تجعلها أكثر ملاءمة لتطبيقات Python.
علاوة على ذلك ، فإن MariaDB مفتوح المصدر ، لذا لا تعتمد ميزاته على كيان خارجي مثل MySQL ، الذي تمتلكه Oracle الآن. على الرغم من أن المجتمع مفتوح المصدر لا يزال بإمكانه اقتراح ميزات وإضافتها إلى MySQL ، فإن Oracle (التي لديها قاعدة بيانات منافسة) تقرر إلى أين تتجه.
من ناحية أخرى ، تم إنشاء MariaDB بعد أن استحوذت Oracle على MySQL لمواصلة نهج التنمية بقيادة المجتمع. نتيجة لذلك ، تمتلك MariaDB مجموعة ميزات أكثر ثراءً ، بما في ذلك المزيد من محركات التخزين التي تضمن أداءً أفضل للاستعلامات والنسخ المتماثل مقارنةً بـ MySQL. هذا الأداء المحسن مهم عند العمل مع مجموعات البيانات الكبيرة.
تعد أسباب استخدام MariaDB عبر PostgreSQL أكثر دقة ، حيث أن PostgreSQL مدفوعة أيضًا بالمجتمع. ومع ذلك ، تستخدم PostgreSQL ترخيصًا خاصًا بها يشبه BSD ، وهو ترخيص PostgreSQL ، وهو أكثر تساهلاً من ترخيص GNU الخاص بـ MariaDB ويسمح للمستخدمين بإنشاء امتدادات مغلقة المصدر.
على الرغم من أنها تفيد المستخدم الذي ينشئ الامتداد ، إلا أن هذه الميزات لا تُستخدم دائمًا في قاعدة بيانات PostgreSQL الأساسية ، ويمكن للمطورين أيضًا تحصيل رسوم مقابل استخدام امتداداتهم. لا يسمح ترخيص MariaDB و MySQL بخصخصة ميزات جديدة - كل الوظائف الجديدة متاحة مجانًا.
تمتلك كل من MariaDB و PostgreSQL أغنى مجموعات الميزات. ومع ذلك ، يحتوي MariaDB على بعض الميزات الملائمة لخلفية Python. على سبيل المثال ، تستخدم MariaDB لغة واحدة للتفاعل مع جميع محركات التخزين المختلفة - يتم التحكم في أنظمة OLAP و OLTP بنفس الصيغة ، مما يقلل العبء على المطورين.
يمكن لواجهة Python الخلفية أن تكتب بيانات تشبه المعاملات إلى MariaDB ، والتي يمكنها نسخ تلك البيانات إلى محرك تخزين أكثر ملاءمة للاستعلامات التحليلية. يمكن للمطورين كتابة استعلامات تحليلية للنسخة المتماثلة باستخدام نفس بناء الجملة لتحسين الأداء.
قدمت MariaDB مؤخرًا تنسيقًا يشبه f-String للسلاسل ، على غرار Python. هذا يوفر للمطورين الذين يستخدمون MariaDB مع Python من التبديل الذهني بين اللغات.
موصل MariaDB Python
قبل عام 2020 ، كان مبرمجو Python متصلين بـ MariaDB من خلال حزمة MySQL Python. كان هذا ممكنًا لأن MariaDB هو تفرع من MySQL ، ولكن هذا يعني أن اتصالات MariaDB تتصرف بنفس طريقة MySQL.
في عام 2020 ، تم إصدار موصل MariaDB أصلي لإزالة الاعتماد على MySQL ، مما يمنح مزيدًا من التحكم لمجتمع MariaDB. يمكنك تثبيت الموصل مع pip ، مدير حزم Python ، واستخدامه لجميع حالات استخدام CRUD الشائعة.
تتم إدارة جميع البيانات من خلال كائن المؤشر. بشكل افتراضي ، يقبل مؤشر MariaDB الاستعلامات على أنها عبارات معدة حتى تتمكن من تعقيم أي أجزاء ديناميكية من الاستعلام. يعد هذا أكثر أمانًا من تنسيق السلاسل لإنشاء استعلامات ، مما يجعل تطبيقك عرضة لهجمات حقن SQL .
كيف يعمل الموصل
الموصل سهل الاستخدام. أولاً ، تقوم باستيراد مكتبة موصل MariaDB إلى التطبيق الخاص بك واستخدام الوظيفة التالية للاتصال بخادم قاعدة بيانات MariaDB الخاص بك:
import mariadb
try:
connection = mariadb.connect(
user=username,
password=password,
host=mariadb_host,
port=3306,
database="sales"
)
except mariadb.Error as err:
print(f"An error occurred whilst connecting to MariaDB: {err}")
بمجرد الاتصال ، يتم تنفيذ جميع الاستعلامات من خلال كائن المؤشر. تحصل على كائن المؤشر ، ثم تستخدمه لإرسال الاستعلامات.
cursor = conn.cursor()
لإرسال استعلام على هيئة بيان مُعد ، استخدم علامة استفهام كعنصر نائب في نص الاستعلام ومرر القيم المطلوبة في شكل مجموعة.
ur.execute( "SELECT * FROM sales WHERE sale_date >= ? and price > ?", (sale_date_val, price_val))
تحل قيم الإدخال من المجموعة محل علامات الاستفهام بالترتيب من اليسار إلى اليمين. يتم أيضًا تعقيم قيم الإدخال هذه لمنع إدخال SQL. تعد الحماية المضمنة من حقن SQL مفيدة للغة مثل Python ، وهي مصممة مع وضع المبرمجين المبتدئين في الاعتبار.
Python و MariaDB لـ WordPress
فائدة أخرى لاستخدام MariaDB كخلفية لتطبيق Python الخاص بك هو أنه من السهل توصيل قاعدة البيانات بواجهة WordPress الأمامية ، خاصة عند استخدام Kinsta.
تدعم Kinsta MariaDB كقاعدة بيانات خلفية ، مما يجعلها متوافقة على الفور. يمكن لموقع WordPress الخاص بك الوصول بسهولة إلى مجموعات البيانات المعالجة في Python. على سبيل المثال ، يمكنك إجراء بعض التحليلات في Python ، وتخزين النتائج في MariaDB ، ثم عرضها كرسم بياني على صفحة WordPress.
توفر Kinsta أيضًا منصة تطوير تسمى DevKinsta لتطوير حل شامل. باستخدام DevKinsta ، يمكنك استخدام جهازك المحلي لإعداد موقع WordPress به خلفية MariaDB ، والتي يمكن دفعها بعد ذلك إلى Kinsta بمجرد أن تصبح جاهزة للتشغيل. يجعل هذا التكامل إنشاء موقع بقاعدة بيانات MariaDB أمرًا بسيطًا - يمكن أن يعيش موقع الويب الخاص بك ببضع نقرات فقط.
المرونة والسرعة وتكامل Python الأصلي: يضيء MariaDB كخيار أفضل لخلفية Python. بالتأكيد تستحق القراءة!انقر للتغريدملخص
يمكن أن تعمل قواعد البيانات العلائقية المتعددة مفتوحة المصدر ، بما في ذلك MariaDB و MySQL و Postgres ، كخلفية للبايثون. ومع ذلك ، فإن MariaDB هو الخيار الأكثر مرونة والأكثر ثراءً بالميزات ، وذلك بفضل طبيعته مفتوحة المصدر.
عند العمل مع مجموعات البيانات الكبيرة ، توفر MariaDB العديد من محركات التخزين ، مما يجعلها أسرع من البدائل ، وتدعم حالات الاستخدام المتعددة ، من معالجة المعاملات إلى الاستعلامات التحليلية. المرونة والسرعة وتكامل Python الأصلي مع موصل MariaDB Python يجعلها خيارًا رائعًا كخلفية لتطبيقات Python التي تعالج مجموعات البيانات الكبيرة.
علاوة على ذلك ، يمكن توصيل MariaDB مباشرة بواجهة WordPress الأمامية ، مما يجعل مجموعات البيانات الخاصة بك قابلة للوصول إلى موقع الويب الخاص بك. يجعل دعم MariaDB من Kinsta هذا التكامل أكثر سلاسة. باستخدام DevKinsta ، يمكنك تكوين موقع WordPress الخاص بك لاستخدام MariaDB على جهازك المحلي قبل نشر الحل عبر Kinsta.
ملاحظة المحرر: ظهرت نسخة من هذه المقالة في الأصل على kinsta .