عرض مادي
في مجال الحوسبة ، تُعرَّف طريقة العرض المادية بأنها كائن قاعدة بيانات يحتوي على نتائج استعلام . على سبيل المثال، قد تكون نسخة محلية من بيانات موجودة عن بُعد، أو قد تكون مجموعة فرعية من صفوف و/أو أعمدة جدول أو نتيجة ربط ، أو قد تكون ملخصًا باستخدام دالة تجميعية .
تُسمى عملية إعداد عرض مُجسّد أحيانًا بالتجسيد . [ 1 ] وهو شكل من أشكال تخزين نتائج الاستعلام مؤقتًا، على غرار تخزين قيمة دالة في لغات البرمجة الوظيفية، ويُوصف أحيانًا بأنه شكل من أشكال الحساب المسبق . [ 2 ] [ 3 ] وكما هو الحال مع أشكال الحساب المسبق الأخرى، يستخدم مستخدمو قواعد البيانات عادةً العروض المُجسّدة لأسباب تتعلق بالأداء، أي كشكل من أشكال التحسين. [ 4 ]
كانت طرق العرض المادية التي تخزن البيانات بناءً على الجداول البعيدة تُعرف أيضًا باسم اللقطات [ 5 ] ( مصطلحات أوراكل المهملة ).
في أي نظام إدارة قواعد بيانات يتبع النموذج العلائقي ، تُعدّ " العرض " جدولًا افتراضيًا يُمثّل نتيجة استعلام قاعدة البيانات . عندما يُوجّه استعلام أو تحديث إلى الجدول الافتراضي لعرض عادي، يُحوّل نظام إدارة قواعد البيانات هذه الاستعلامات أو التحديثات إلى جداول قاعدة البيانات الأساسية. أما "العرض المُجسّد" فيتبع نهجًا مختلفًا: حيث تُخزّن نتيجة الاستعلام مؤقتًا كجدول مُجسّد (بدلًا من عرض بحد ذاته) يُمكن تحديثه من جداول قاعدة البيانات الأصلية من حين لآخر. يُتيح هذا وصولًا أكثر كفاءة، على حساب مساحة تخزين إضافية واحتمالية أن تكون بعض البيانات قديمة. تُستخدم العروض المُجسّدة بشكل خاص في سيناريوهات مستودعات البيانات ، حيث قد تكون الاستعلامات المتكررة عن جداول قاعدة البيانات الفعلية مُكلفة.
في العرض المادي، يمكن إنشاء الفهارس على أي عمود. في المقابل، في العرض العادي، لا يمكن عادةً استخدام الفهارس إلا على الأعمدة التي تأتي مباشرةً من (أو التي لها علاقة) أعمدة مفهرسة في الجداول الأساسية؛ وغالبًا ما تكون هذه الوظيفة غير متوفرة على الإطلاق.
التطبيقات
أوراكل
تم تطبيق طرق العرض المادية أولاً بواسطة قاعدة بيانات أوراكل : تمت إضافة ميزة إعادة كتابة الاستعلام من الإصدار 8i. [ 6 ]
مثال على صيغة إنشاء عرض مادي في أوراكل:
إنشاء عرض مادي MV_MY_VIEW تحديث سريع بدء مع تاريخ النظام التالي + 1 كـ SELECT * FROM <table_name> ;PostgreSQL
في PostgreSQL ، يدعم الإصدار 9.3 والإصدارات الأحدث العروض المادية بشكلٍ أصلي. [ 7 ] في الإصدار 9.3، لا يتم تحديث العرض المادي تلقائيًا، ويتم ملؤه فقط عند إنشائه (إلا إذا WITH NO DATAتم استخدام خاصية التحديث التلقائي). ويمكن تحديثه لاحقًا يدويًا باستخدام خاصية التحديث التلقائي REFRESH MATERIALIZED VIEW. [ 8 ] في الإصدار 9.4، يمكن أن يكون التحديث متزامنًا مع عمليات الاستعلام على العرض المادي إذا CONCURRENTLYتم استخدام خاصية التحديث التلقائي. [ 9 ]
مثال على صيغة إنشاء عرض مادي في PostgreSQL:
إنشاء عرض مادي MV_MY_VIEW [ مع ( معلمة_التخزين [ = القيمة ] [, ... ]) ] [ مساحة_الجداول اسم_مساحة_الجداول ] كـ SELECT * FROM < اسم_الجدول > ;خادم SQL
يختلف خادم Microsoft SQL Server عن أنظمة إدارة قواعد البيانات العلائقية الأخرى في طريقة تنفيذه للعرض المادي عبر مفهوم يُعرف باسم "العروض المفهرسة". ويكمن الاختلاف الرئيسي في أن هذه العروض لا تتطلب تحديثًا لأنها في الواقع متزامنة دائمًا مع البيانات الأصلية للجداول التي تُكوّن العرض. ولتحقيق ذلك، من الضروري أن تكون خطوط الأصل والوجهة "حتمية" في ربطها، مما يحد من أنواع الاستعلامات الممكنة لتنفيذ ذلك. وقد تم تطبيق هذه الآلية منذ إصدار SQL Server 2000.
مثال على صيغة إنشاء عرض مادي في SQL Server:
إنشاء عرض MV_MY_VIEW مع ربط المخطط كالتالي: تحديد COL1 ، مجموع ( COL2 ) كـ TOTAL من < اسم_الجدول > تجميع حسب COL1 ؛ إنشاء فهرس فريد مجمع XV على MV_MY_VIEW ( COL1 ) ؛أطر معالجة البيانات المتدفقة
تدعم كل من Apache Kafka (منذ الإصدار 0.10.2)، و Apache Spark (منذ الإصدار 2.0)، وApache Flink، و Kinetica DB ، و[ 10 ] Materialize، و[ 11 ] RisingWave، و [ 12 ] وEpsio [ 13 ] طرق العرض المادية على تدفقات البيانات.
آحرون
تدعم Sybase SQL Anywhere أيضًا العروض المادية . [ 14 ] في IBM Db2 ، تُسمى "جداول الاستعلام المادية". [ 15 ] يدعم ClickHouse العروض المادية التي تُحدَّث تلقائيًا عند عمليات الدمج. [ 16 ] لا يدعم MySQL العروض المادية بشكلٍ أصلي، ولكن يمكن تطبيق حلول بديلة باستخدام المشغلات أو الإجراءات المخزنة [ 17 ] أو باستخدام تطبيق Flexviews مفتوح المصدر . [ 18 ] يمكن تطبيق العروض المادية في Amazon DynamoDB باستخدام أحداث تعديل البيانات التي تلتقطها DynamoDB Streams. أعلنت Google في 8 أبريل 2020 [ 19 ] عن توفر العروض المادية لـ BigQuery [ 20 ] كإصدار تجريبي.
مراجع
- ↑ قارن: سي جيه ديت (28 أغسطس 2006). قاموس قواعد البيانات العلائقية: مسرد شامل للمصطلحات والمفاهيم العلائقية، مع أمثلة توضيحية . دار نشر أورايلي ميديا، ص 59. ISBN 978-1-4493-9115-7تم الاسترجاع في 26 أكتوبر 2016. التجسيد[ :
] تقنية غير متطورة إلى حد ما لتنفيذ العمليات على طرق العرض وفقًا لما يلي: (أ) يتم تقييم التعبير العلائقي الذي يحدد طريقة العرض في وقت استدعاء العملية، (ب) يتم تجسيد طريقة العرض بذلك، و(ج) يتم تنفيذ العملية المعنية بعد ذلك على العلاقة التي تم تجسيدها.
- ^ كارين مورتون. كيري أوزبورن؛ روبين ساندز؛ رياج شمس الدين؛ جاريد ستيل (28 أكتوبر 2013). برو أوراكل SQL . Apress. ص. 48. ردمك 978-1-4302-6220-6.
- ↑ ماري-أود أوفور؛ إستيبان زيماني (16 يناير 2012). ذكاء الأعمال: المدرسة الصيفية الأوروبية الأولى، EBISS 2011، باريس، فرنسا، 3-8 يوليو 2011، محاضرات تعليمية . سبرينغر ساينس آند بيزنس ميديا. ص 43. ISBN 978-3-642-27357-5.
- ↑ مايكل ل. غونزاليس (25 فبراير 2003). تخزين البيانات من IBM: باستخدام أدوات ذكاء الأعمال من IBM . جون وايلي وأولاده. ص 214. ISBN 978-0-471-45736-7.
- ↑ سي جيه ديت (28 أغسطس 2006). قاموس قواعد البيانات العلائقية: مسرد شامل للمصطلحات والمفاهيم العلائقية، مع أمثلة توضيحية . دار نشر أورايلي ميديا، ص 59. ISBN 978-1-4493-9115-7تم الاطلاع عليه بتاريخ ٢٦ أكتوبر ٢٠١٦. العرض المادي: مصطلح قديم يُستخدم للإشارة إلى اللقطة. [... ]
تكمن المشكلة في [...] أن اللقطات (كما يشير التعريف) أصبحت تُعرف، على الأقل في بعض الأوساط، ليس كلقطات على الإطلاق، بل كعروض مادية. لكن اللقطات ليست عروضًا؛ فالعروض افتراضية، بينما اللقطات ليست كذلك، و"العرض المادي" يُعد تناقضًا في المصطلحات (على الأقل فيما يتعلق بالنموذج). والأسوأ من ذلك، أن مصطلح "العرض" غير المُحدد يُفهم غالبًا على أنه عرض مادي تحديدًا، وبالتالي فإننا نواجه خطر فقدان مصطلح مناسب للعرض بمعناه الأصلي.
- ↑ إصدار Oracle8i Tuning 8.1.5 . Ecst.csuchico.edu. تم الاطلاع عليه بتاريخ 2012-02-09.
- ↑ "العروض المادية - ويكي PostgreSQL" . wiki.postgresql.org . تم الاطلاع عليه بتاريخ 29 نوفمبر 2022 .
- ↑ "إنشاء عرض مادي" . وثائق PostgreSQL . 10 نوفمبر 2022. تم الاطلاع عليه في 29 نوفمبر 2022 .
- ↑ "تحديث العرض المادي" . وثائق PostgreSQL . 13 فبراير 2020. تم الاطلاع عليه في 29 نوفمبر 2022 .
- ↑ "العروض المادية" . تم الاطلاع عليه بتاريخ 28 ديسمبر 2022 .
- ↑ "CMU DB Talk: Building Materialize" . تم الاطلاع عليه بتاريخ 30 مارس 2022 .
- ↑ "هل ستكون RisingWave هي Apache Flink القادمة؟" . www.singularity-data.com . 28 أبريل 2022. تم الاطلاع عليه في 30 يونيو 2022 .
- ↑ "كيف قمنا ببناء محرك SQL للبث المباشر" . تم الاطلاع عليه بتاريخ 21 مايو 2025 .
- ↑ طرق العرض المادية – Sybase SQL Anywhere مؤرشف بتاريخ 14 ديسمبر 2009 في Wayback Machine . Ianywhere.com. تم الاطلاع عليه بتاريخ 9 فبراير 2012.
- ↑ تحسين الأداء باستخدام طرق العرض المفهرسة في SQL Server 2005. Microsoft.com. تم الاطلاع عليه بتاريخ 9 فبراير 2012.
- ↑ وثائق كليك هاوس MaterializedView . Clickhouse.yandex. تم الاطلاع عليها بتاريخ 2019-09-05.
- ↑ تنفيذ طرق العرض المادية في MySQL . Shinguz.ch (2006-11-06). تم الاطلاع عليه بتاريخ 2012-02-09.
- ↑ Flexviews لـ MySQL – طرق عرض مادية قابلة للتحديث التدريجي مع MySQL . Flexviews.sourceforge.net. تم الاطلاع عليه بتاريخ 9 فبراير 2012.
- ↑ "ملاحظات الإصدار" . Google.com. 8 أبريل 2020. تم الاطلاع عليه بتاريخ 21 يوليو 2021 .
- ↑ وثائق Google BigQuery Materialized Views Google.com تم الاطلاع عليها بتاريخ 2020-05-20.
روابط خارجية
- مفاهيم وبنية العرض المادي – أوراكل
- مقتطفات SQL: دروس حول ميزات SQL - طرق العرض المادية - أوراكل
- إصدار مرجع واجهة برمجة تطبيقات إدارة النسخ المتماثل Oracle9i الإصدار 2 (9.2)
- طرق العرض المادية في أوراكل 11.2
- جداول الاستعلامات المادية في Db2
- إنشاء طرق عرض مادية في MySQL
- النموذج العلائقي
- نمذجة البيانات
- أنظمة إدارة قواعد البيانات
- قواعد البيانات
