إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
Apache AGE (ملحق الرسم البياني) هو ملحق PostgreSQL قوي مصمم لدمج وظائف قاعدة بيانات الرسم البياني بسلاسة في النظام البنائي PostgreSQL. تمكن AGE المستخدمين من تخزين بيانات الرسم البياني والاستعلام عنها بكفاءة وتعبير عن طريق دعم لغة استعلام openCypher البديهية، عند تطويرها ضمن مشروع Apache حاضنة. فهو يسد الفجوة بين البيانات الارتباطية وبيانات الرسم البياني، ما يسمح للمطورين بإدارة العلاقات المعقدة والكشف عن الرؤى التي قد تكافح قواعد البيانات التقليدية للكشف عنها.
يتم التعرف على بيانات الرسم البياني، الممثلة من خلال العقد (الكيانات) والحواف (العلاقات)، بشكل متزايد على أنها ضرورية لتطبيقات مثل الشبكات الاجتماعية وأنظمة التوصية واكتشاف الاحتيال وتحليل الشبكة والرسوم البيانية المعرفية. يوفر Apache AGE حلا قويا للتعامل مع مثل هذه البيانات المترابطة، ما يتيح التحليلات المتقدمة وإدارة البيانات المبسطة.
إلغاء تأمين قدرات بيانات الرسم البياني باستخدام Apache AGE
يؤدي إلغاء تأمين قدرات بيانات الرسم البياني باستخدام Apache AGE إلى تمكين المطورين من الاستفادة من الإمكانات الكاملة للبيانات المترابطة داخل PostgreSQL. يتيح Apache AGE استكشافا وتحليلا سلسا للعلاقات المعقدة من خلال دمج وظائف قاعدة بيانات الرسم البياني مباشرة في قاعدة البيانات الارتباطية. هذه الإمكانية قيمة للتطبيقات التي تتطلب رؤى عميقة حول اتصالات البيانات، مثل الشبكات الاجتماعية والكشف عن الاحتيال وأنظمة التوصية. من خلال دعمها للغة استعلام openCypher وأساس PostgreSQL القوي، يوفر Apache AGE حلا قابلا للتطوير وفعالا لإدارة بيانات الرسم البياني والاستعلام عنها.
الميزات الرئيسية ل Apache AGE
- تكامل البيانات الارتباطية والرسم البياني: تسمح AGE بالتفاعل السلس بين الرسم البياني والبيانات العلائقية داخل PostgreSQL.
- openCypher Query Language: يدعم AGE لغة الاستعلام هذه المعترف بها على نطاق واسع لقواعد بيانات الرسم البياني، ما يبسط كتابة الاستعلام وصيانته.
- قابلية التوسع والموثوقية: ضمن بنية PostgreSQL المثبتة، ترث AGE قابلية التوسع والقوة على مستوى المؤسسة.
لماذا تستخدم قاعدة بيانات الرسم البياني؟
تتفوق قواعد بيانات الرسم البياني في تمثيل العلاقات المعقدة والمترابطة للغاية والاستعلام عن هذه العلاقات. على عكس قواعد البيانات الارتباطية، التي تتطلب روابط متعددة أو قواعد بيانات مستندات غير محسنة لاجتياز العلاقة العميقة، تقوم قواعد بيانات الرسم البياني بشكل طبيعي بنمذجة العلاقات بين الكيانات. على سبيل المثال، يعد الاستعلام عن "أصدقاء الأصدقاء" أو "أقصر مسار بين نقطتين" أكثر بديهية وكفاءة في قاعدة بيانات الرسم البياني.
تستخدم AGE نظام المعاملات المتوافق مع ACID في PostgreSQL، ما يضمن الموثوقية والذرية لطلبات الرسم البياني. يسهل هذا التكامل التطبيقات المتقدمة مثل الرسوم البيانية المعرفية، والتي تدعم البحث المستند إلى الذكاء الاصطناعي وإنشاء البيانات من خلال هيكلة الحقائق والمفاهيم كعقد واتصالاتها كحواف.
يمكن لعملاء Azure تمكين ملحق AGE
تتضمن قاعدة بيانات Azure ل PostgreSQL Apache AGE كملحق.
تساعدك هذه الخطوات على تمكين الملحق في مثيل الخادم المرن:
الوصول إلى معلمات الخادم
داخل مدخل Microsoft Azure، انتقل إلى مثيل الخادم المرن PostgreSQL وحدد خيار معلمات الخادم.
اضبط الإعدادات التالية:
- azure.extensions: ابحث عن AGE وقم بتمكينه بين الملحقات المتوفرة في عامل تصفية المعلمة.
- shared_preload_libraries: ابحث عن AGE وقم بتمكينه في عامل تصفية المعلمة.
حدد حفظ لتطبيق هذه التغييرات. يتم إعادة تشغيل الخادم تلقائيا لتنشيط ملحق AGE.
ملاحظة
فشل تمكين shared_preload_libraries النتائج في الخطأ التالي عند محاولة استخدام مخطط AGE في استعلام: "خطأ: خطأ استدعاء دالة التشفير (cstring) غير المعالجة في استعلام التشفير الأول"
تمكين AGE في PostgreSQL
بمجرد إعادة تشغيل الخادم، اتصل بمثيل PostgreSQL باستخدام مترجم psql. نفذ الأمر التالي لتمكين AGE:
CREATE EXTENSION IF NOT EXISTS AGE CASCADE;
بمجرد النجاح، ترى CREATE EXTENSION كإخراج الاستعلام.
يمكنك أيضا الاستعلام عن جدول كتالوج pg_extension للتأكد من تمكين AGE والتحقق من إصدار الملحق.
SELECT * FROM pg_extension WHERE extname = 'age';
تكوين مسارات المخطط
يضيف AGE مخططا يسمى ag_catalog، ضروري لمعالجة بيانات الرسم البياني. تأكد من تضمين هذا المخطط في مسار البحث عن طريق تنفيذ:
SET search_path=ag_catalog,"$user",public;
بالنسبة إلى Python، يمكنك تعيين مسار المخطط عن طريق تنفيذ:
import psycopg as pg
with pg.Connection.connect(con_str + " options='-c search_path=ag_catalog,\"$user\",public'") as con:
يمكن أيضا تكوينه برمجيا في التطبيق الخاص بك.
باتباع هذه الخطوات، يمكنك التأكد من تكوين مثيل PostgreSQL بشكل صحيح لاستخدام قدرات ملحق AGE. يوفر ملحق AGE إمكانات متقدمة لقاعدة بيانات الرسم البياني مباشرة داخل PostgreSQL. يسمح هذا الإعداد بالتكامل السلس لطلبات الرسم البياني في تطبيقاتك، وفتح علاقات بيانات قوية، ونتائج تحليلات. مع تمكين ملحق AGE وتكوينه، أنت الآن جاهز لاستكشاف الإمكانات الكاملة لتحليلات الرسم البياني داخل بيئة PostgreSQL الخاصة بك.
الجداول المهمة في مخطط ag_catalog
ag_graphag_label
ag_graph
يعمل الجدول ag_graph داخل مخطط ag_catalog ل Apache AGE كمستودع لبيانات التعريف المتعلقة بالرسوم البيانية التي تم إنشاؤها داخل PostgreSQL عبر ag_catalog.create_graph الوظيفة. على وجه التحديد، فإنه يحتفظ بتفاصيل مثل اسم الرسم البياني ومساحة الاسم المقترنة، والتي تعمل كمخطط في PostgreSQL. تنظم مساحة الاسم هذه بنية الرسم البياني وتحتوي على جداول لتخزين بيانات الذروة والحافة.
\d+ ag_graph
Table "ag_catalog.ag_graph"
Column | Type | Collation | Nullable | Default | Storage | Compression | Stats target | Description
-----------+--------------+-----------+----------+---------+---------+-------------+--------------+-------------
graphid | oid | | not null | | plain | | |
name | name | | not null | | plain | | |
namespace | regnamespace | | not null | | plain | | |
Indexes:
"ag_graph_graphid_index" UNIQUE, btree (graphid)
"ag_graph_name_index" UNIQUE, btree (name)
"ag_graph_namespace_index" UNIQUE, btree (namespace)
Referenced by:
TABLE "ag_label" CONSTRAINT "fk_graph_oid" FOREIGN KEY (graph) REFERENCES ag_graph(graphid)
Access method: heap
ag_label
يخزن جدول ag_label بيانات التعريف حول التسميات المستخدمة في الرسوم البيانية ل AGE. ويتتبع هذه التسميات، ويربطها بالرسوم البيانية الخاصة بها ويحدد ما إذا كانت تمثل الذروات أو الحواف. يتضمن الإدخال المعرف الفريد للتسمية والرسم البياني المقترن وأي فهارس وجدول PostgreSQL الأساسي الذي يخزن البيانات.
\d+ ag_label
Table "ag_catalog.ag_label"
Column | Type | Collation | Nullable | Default | Storage | Compression | Stats target | Description
----------+------------+-----------+----------+---------+---------+-------------+--------------+-------------
name | name | | not null | | plain | | |
graph | oid | | not null | | plain | | |
id | label_id | | | | plain | | |
kind | label_kind | | | | plain | | |
relation | regclass | | not null | | plain | | |
seq_name | name | | not null | | plain | | |
Indexes:
"ag_label_graph_oid_index" UNIQUE, btree (graph, id)
"ag_label_name_graph_index" UNIQUE, btree (name, graph)
"ag_label_relation_index" UNIQUE, btree (relation)
"ag_label_seq_name_graph_index" UNIQUE, btree (seq_name, graph)
Foreign-key constraints:
- `fk_graph_oid` FOREIGN KEY (graph) REFERENCES ag_graph(graphid)
Access method: heap
المحتوى ذو الصلة
- وثائق Azure Database for PostgreSQL
- ملحق PostgreSQL ل Visual Studio Code
- ملحق GitHub Copilot
- ملحق GitHub Copilot Chat
- ملحق MSSQL ل Visual Studio Code؟