Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Apache AGE (ekstensi grafik) adalah ekstensi PostgreSQL yang kuat yang dirancang untuk mengintegrasikan fungsionalitas database grafik dengan mulus ke dalam ekosistem PostgreSQL. AGE memungkinkan pengguna untuk menyimpan dan mengkueri data grafik secara efisien dan ekspresif dengan mendukung bahasa kueri openCypher yang intuitif, saat dikembangkan di bawah proyek Apache Incubator. Ini menjembatani kesenjangan antara data relasional dan grafik, memungkinkan pengembang untuk mengelola hubungan yang kompleks dan mengungkap wawasan yang mungkin sulit diungkapkan oleh database tradisional.
Data grafik, yang diwakili melalui simpul (entitas) dan tepi (hubungan), semakin diakui penting untuk aplikasi seperti jaringan sosial, sistem rekomendasi, deteksi penipuan, analisis jaringan, dan grafik pengetahuan. Apache AGE menyediakan solusi yang kuat untuk menangani data yang saling terhubung tersebut, memungkinkan analisis tingkat lanjut dan manajemen data yang disederhanakan.
Membuka kunci kemampuan data grafik dengan Apache AGE
Membuka kunci kemampuan data grafik dengan Apache AGE memberdayakan pengembang untuk memanfaatkan potensi penuh data yang saling terhubung dalam PostgreSQL. Apache AGE memungkinkan eksplorasi dan analisis hubungan kompleks yang lancar dengan mengintegrasikan fungsionalitas database grafik langsung ke dalam database relasional. Kemampuan ini sangat berharga untuk aplikasi yang membutuhkan wawasan mendalam tentang koneksi data, seperti jaringan sosial, deteksi penipuan, dan sistem rekomendasi. Dengan dukungannya untuk bahasa kueri openCypher dan fondasi PostgreSQL yang kuat, Apache AGE menyediakan solusi yang dapat diskalakan dan efisien untuk mengelola dan mengkueri data grafik.
Fitur utama Apache AGE
- Integrasi Data Grafik dan Relasional: AGE memungkinkan interaksi yang mulus antara grafik dan data relasional dalam PostgreSQL.
- openCypher Query Language: AGE mendukung bahasa kueri yang dikenal secara luas ini untuk database grafik, menyederhanakan penulisan dan pemeliharaan kueri.
- Skalabilitas dan Keandalan: Di bawah arsitektur PostgreSQL yang terbukti, AGE mewarisi skalabilitas dan ketahanan tingkat perusahaannya.
Mengapa menggunakan database grafik?
Database grafik unggul dalam mewakili dan mengkueri hubungan yang kompleks dan sangat saling terhubung. Tidak seperti database relasional, yang memerlukan beberapa gabungan atau database dokumen yang tidak dioptimalkan untuk traversal hubungan mendalam, database grafik secara alami memodelkan hubungan antar entitas. Misalnya, mengkueri "teman teman" atau "jalur terpendek antara dua titik" lebih intuitif dan efisien dalam database grafik.
AGE menggunakan sistem transaksional PostgreSQL yang mematuhi ACID, memastikan reliabilitas dan atomisitas untuk kueri grafik. Integrasi ini memfasilitasi aplikasi canggih seperti Knowledge Graphs, yang mendukung pencarian berbasis AI dan pembuatan data dengan menyusun fakta dan konsep sebagai simpul dan interkoneksinya sebagai tepi.
Pelanggan Azure dapat mengaktifkan ekstensi AGE
Azure Database for PostgreSQL menyertakan Apache AGE sebagai ekstensi.
Langkah-langkah ini membantu Anda mengaktifkan ekstensi dalam instans server fleksibel Anda:
Mengakses parameter server
Dalam portal Microsoft Azure, navigasikan ke instans server fleksibel PostgreSQL dan pilih opsi Parameter Server.
Sesuaikan pengaturan berikut:
- azure.extensions: Cari dan aktifkan AGE di antara ekstensi yang tersedia di filter parameter.
- shared_preload_libraries: Cari dan aktifkan AGE di filter parameter.
Pilih Simpan untuk menerapkan perubahan ini. Server dimulai ulang secara otomatis untuk mengaktifkan ekstensi AGE.
Nota
Kegagalan untuk mengaktifkan shared_preload_libraries menghasilkan kesalahan berikut ketika Anda mencoba menggunakan skema AGE dalam kueri: "ERROR: kesalahan panggilan fungsi cipher(cstring) yang tidak ditangani pada kueri cipher pertama"
Mengaktifkan AGE di PostgreSQL
Setelah server dimulai ulang, sambungkan ke instans PostgreSQL menggunakan penerjemah psql. Jalankan perintah berikut untuk mengaktifkan AGE:
CREATE EXTENSION IF NOT EXISTS AGE CASCADE;
Setelah berhasil, Anda akan melihat CREATE EXTENSION sebagai output kueri.
Anda juga dapat mengkueri tabel katalog pg_extension untuk mengonfirmasi bahwa AGE diaktifkan dan memeriksa versi ekstensi.
SELECT * FROM pg_extension WHERE extname = 'age';
Mengonfigurasi jalur skema
AGE menambahkan skema yang disebut ag_catalog, penting untuk menangani data grafik. Pastikan skema ini disertakan dalam jalur pencarian dengan menjalankan:
SET search_path=ag_catalog,"$user",public;
Untuk Python, Anda dapat mengatur jalur skema dengan mengeksekusi:
import psycopg as pg
with pg.Connection.connect(con_str + " options='-c search_path=ag_catalog,\"$user\",public'") as con:
Ini juga dapat dikonfigurasi secara terprogram di aplikasi Anda.
Dengan mengikuti langkah-langkah ini, Anda memastikan bahwa instans PostgreSQL Anda dikonfigurasi dengan benar untuk menggunakan kemampuan ekstensi AGE. Ekstensi AGE menyediakan kemampuan database grafik tingkat lanjut langsung dalam PostgreSQL. Penyiapan ini memungkinkan integrasi kueri grafik yang mulus ke dalam aplikasi Anda, membuka kunci hubungan data yang kuat, dan wawasan. Dengan ekstensi AGE diaktifkan dan dikonfigurasi, Anda sekarang siap untuk menjelajahi potensi penuh analitik grafik dalam lingkungan PostgreSQL Anda.
Tabel penting dalam skema ag_catalog
ag_graphag_label
ag_graph
Tabel ag_graph dalam skema ag_catalog Apache AGE berfungsi sebagai repositori untuk metadata yang terkait dengan grafik yang dibuat dalam PostgreSQL melalui ag_catalog.create_graph fungsi . Secara khusus, ini mempertahankan detail seperti nama grafik dan namespace terkait, yang bertindak sebagai skema di PostgreSQL. Namespace layanan ini mengatur struktur grafik dan berisi tabel untuk menyimpan data vertex dan edge.
\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
Tabel ag_label menyimpan metadata tentang label yang digunakan dalam grafik AGE. Ini melacak label ini, mengaitkannya dengan grafik masing-masing dan menentukan apakah mereka mewakili simpul atau tepi. Entri ini mencakup ID unik label, grafik terkait, indeks apa pun, dan tabel PostgreSQL yang mendasar yang menyimpan data.
\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