Dalam Jaringan Basis Data Global (GDN), setiap kluster (baik kluster utama maupun sekunder) memiliki titik akhir kluster independen. Aplikasi Anda dapat terhubung ke GDN melalui titik akhir kluster terdekat berdasarkan lokasi geografisnya. GDN secara otomatis menangani pemisahan baca/tulis: permintaan tulis diteruskan ke kluster utama, sedangkan permintaan baca dilayani secara lokal.
Pemisahan baca/tulis dan pengarahan permintaan
Dalam GDN, pengarahan permintaan baca dan tulis ke kluster utama dan sekunder ditentukan oleh Konfigurasi PolarProxy dari masing-masing kluster. Tidak perlu memodifikasi kode aplikasi Anda. Saat terhubung ke titik akhir kluster, permintaan baca dan tulis diarahkan secara otomatis sebagai berikut:
Permintaan tulis seperti
INSERT,UPDATE, danDELETE, serta semua permintaan dalam transaksi, diteruskan ke node utama kluster utama untuk diproses.Permintaan baca diarahkan secara default ke node read-only kluster sekunder lokal untuk akses dengan latensi rendah. Jika konsistensi sesi diaktifkan, beberapa permintaan baca juga dapat diarahkan ke node utama kluster utama untuk memastikan konsistensi data.
Hanya titik akhir kluster atau titik akhir kustom dengan Read/Write Mode disetel ke Read/Write (Automatic Read/Write Splitting) yang mendukung layanan pemisahan baca/tulis GDN.
Primary Endpoint dan titik akhir kustom dengan Read/Write Mode yang disetel ke Read-only tidak mendukung layanan pemisahan baca/tulis GDN.
Untuk mengurangi dampak potensial latensi replikasi antara kluster utama dan sekunder pada bisnis Anda, saat mengonfigurasi titik akhir kluster kustom pada kluster sekunder, atur Primary Node Accepts Read Requests ke No dan atur Consistency Level ke Eventual Consistency (Weak).
Lihat titik akhir kluster
Masuk ke Konsol PolarDB. Di panel navigasi sebelah kiri, klik Global Database Network (GDN).
Di halaman Global Database Network (GDN), temukan GDN target dan klik Global Database Network ID untuk masuk ke halaman detail GDN.
Di bagian Clusters, temukan kluster sekunder target dan klik View di kolom Cluster Endpoint. Detail titik akhir kluster akan ditampilkan dalam kotak dialog yang muncul.
CatatanHanya informasi koneksi untuk titik akhir kluster default (termasuk alamat jaringan pribadi dan publik) yang ditampilkan di sini.
Untuk melihat lebih banyak detail titik akhir, klik View the Overview page of the cluster. Anda akan diarahkan ke halaman detail kluster target, di mana Anda dapat melihat lebih banyak titik akhir di bagian Database Connection.
Terhubung ke kluster basis data global
Aplikasi di wilayah berbeda dapat terhubung ke titik akhir kluster terdekat untuk mengakses GDN, yang secara otomatis menangani pemisahan baca/tulis. Anda dapat terhubung ke kluster basis data menggunakan salah satu cara berikut:
Gunakan DMS untuk terhubung ke kluster
Data Management (DMS) adalah alat manajemen data grafis yang disediakan oleh Alibaba Cloud. Ini menyediakan berbagai layanan manajemen data, termasuk manajemen data, manajemen skema, manajemen pengguna, audit keamanan, tren data, pelacakan data, grafik intelijen bisnis (BI), optimasi kinerja, dan manajemen server. Anda dapat mengelola kluster PolarDB langsung menggunakan DMS tanpa alat tambahan.
Masuk ke Konsol PolarDB. Dalam daftar kluster, klik ID kluster yang ingin Anda hubungkan untuk masuk ke halaman Basic Information. Di sudut kanan atas halaman, klik Log On To Database.

Di kotak dialog yang muncul, masukkan akun database dan kata sandi yang Anda buat untuk kluster, lalu klik Login.

Setelah masuk ke kluster, pilih di panel navigasi sebelah kiri untuk mengelola kluster .

Gunakan klien untuk terhubung ke kluster
Anda dapat menggunakan klien untuk terhubung ke kluster PolarDB. Prosedur berikut menggunakan klien pgAdmin 4 v9.0 untuk terhubung ke kluster.
Unduh dan instal klien pgAdmin 4.
Buka klien pgAdmin 4, klik kanan Servers, dan pilih .

Di tab General, atur nama koneksi. Di tab Connection, konfigurasikan informasi koneksi kluster, lalu klik Save.


Parameter
Deskripsi
Host name/address
Titik akhir dan port kluster PolarDB.
Untuk mengakses kluster PolarDB dari instance ECS, dan instance ECS berada di VPC yang sama dengan kluster PolarDB, tentukan titik akhir dan port Private.
Untuk mengakses kluster PolarDB dari lingkungan lokal Anda, tentukan titik akhir dan port Public.
Nomor port default adalah 1521.
Port
Username
Akun database dan kata sandi kluster PolarDB.
Password
Lihat hasil koneksi. Jika informasi koneksi benar, antarmuka berikut muncul, menunjukkan koneksi berhasil.
Catatanpostgresadalah database sistem default. Jangan melakukan operasi apa pun pada database ini.
Gunakan psql untuk terhubung ke kluster
Anda dapat mengunduh psql dari Unduhan PostgreSQL untuk terhubung ke kluster PolarDB. Anda juga dapat menggunakan psql di PolarDB-Tools untuk terhubung ke kluster PolarDB.
Metode koneksi kluster menggunakan psql sama untuk sistem Windows dan Linux.
Untuk informasi lebih lanjut tentang cara menggunakan psql, lihat psql.
Sintaks
psql -h <host> -p <port> -U <username> -d <dbname>Parameter | Deskripsi |
| Titik akhir kluster dan port kluster PolarDB.
|
| |
| Akun database kluster PolarDB. |
|
Contoh
psql -h pc-xxx.rwlb.rds.aliyuncs.com -p 1521 -U testusername -d postgresTerhubung ke kluster dalam bahasa pemrograman
Terhubung ke kluster PolarDB for PostgreSQL (Kompatibel dengan Oracle) mirip dengan menghubungkan database PostgreSQL biasa. Anda hanya perlu mengubah parameter koneksi, termasuk titik akhir, port, akun, dan kata sandi. Berikut adalah contoh cara terhubung ke kluster PolarDB dalam bahasa pemrograman tertentu.
Java
Contoh ini menjelaskan cara terhubung ke kluster PolarDB for PostgreSQL (Kompatibel dengan Oracle) menggunakan driver JDBC PostgreSQL dalam proyek Java berbasis Maven.
Tambahkan dependensi driver JDBC PostgreSQL ke file pom.xml Anda. Contoh kode:
<dependency> <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> <version>42.2.18</version> </dependency>Terhubung ke kluster. Ganti placeholder
<HOST>,<PORT>,<USER>,<PASSWORD>,<DATABASE>,<YOUR_TABLE_NAME>, dan<YOUR_TABLE_COLUMN_NAME>dengan parameter koneksi kluster yang sebenarnya.import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class PolarDBConnection { public static void main(String[] args) { // URL database, nama pengguna, dan kata sandi. String url = "jdbc:postgresql://<HOST>:<PORT>/<DATABASE>"; String user = "<USER>"; String password = "<PASSWORD>"; try { // Muat driver JDBC PostgreSQL. Class.forName("org.postgresql.Driver"); // Bentuk koneksi. Connection conn = DriverManager.getConnection(url, user, password); // Buat objek Statement. Statement stmt = conn.createStatement(); // Eksekusi query SQL. ResultSet rs = stmt.executeQuery("SELECT * FROM <YOUR_TABLE_NAME>"); // Proses hasil set. while (rs.next()) { System.out.println(rs.getString("<YOUR_TABLE_COLUMN_NAME>")); } // Tutup sumber daya. rs.close(); stmt.close(); conn.close(); } catch (Exception e) { e.printStackTrace(); } } }
Python
Contoh ini menjelaskan cara terhubung ke kluster PolarDB for PostgreSQL (Kompatibel dengan Oracle) menggunakan pustaka psycopg2 di Python 3.
Instal pustaka psycopg2.
pip3 install psycopg2-binaryTerhubung ke kluster. Ganti placeholder
<HOST>,<PORT>,<USER>,<PASSWORD>,<DATABASE>, dan<YOUR_TABLE_NAME>dengan parameter koneksi kluster yang sebenarnya.import psycopg2 try: # Parameter koneksi conn = psycopg2.connect( host="<HOST>", # Titik akhir kluster. database="<DATABASE>", # Nama database. user="<USER>", # Nama pengguna. password="<PASSWORD>", # Kata sandi. port="<PORT>" # Nomor port. ) # Buat objek cursor. cursor = conn.cursor() # Eksekusi query. cursor.execute("SELECT * FROM <YOUR_TABLE_NAME>") # Dapatkan semua hasil. records = cursor.fetchall() for record in records: print(record) except Exception as e: print("Error:", e) finally: # Tutup koneksi. if 'cursor' in locals(): cursor.close() if 'conn' in locals(): conn.close()
Go
Contoh ini menjelaskan cara terhubung ke kluster PolarDB for PostgreSQL (Kompatibel dengan Oracle) menggunakan paket database/sql dan driver lib/pq di Go 1.23.0.
Instal driver
lib/pq.go get -u github.com/lib/pqTerhubung ke kluster. Ganti placeholder
<HOST>,<PORT>,<USER>,<PASSWORD>,<DATABASE>, dan<YOUR_TABLE_NAME>dengan parameter koneksi kluster yang sebenarnya.package main import ( "database/sql" "fmt" "log" _ "github.com/lib/pq" // Inisialisasi driver PostgreSQL. ) func main() { // Format string koneksi. connStr := "user=<USER> password=<PASSWORD> dbname=<DATABASE> host=<HOST> port=<PORT> sslmode=disable" // Buka koneksi database. db, err := sql.Open("postgres", connStr) if err != nil { log.Fatal(err) } defer db.Close() // Tutup koneksi saat program keluar. // Uji koneksi. err = db.Ping() if err != nil { log.Fatal(err) } fmt.Println("Terhubung ke PostgreSQL!") // Eksekusi query. rows, err := db.Query("SELECT * FROM <YOUR_TABLE_NAME>") if err != nil { log.Fatal(err) } defer rows.Close() }
Operasi API Terkait
API | Deskripsi |
Mengambil informasi titik akhir dari kluster PolarDB. | |
Memodifikasi properti titik akhir kluster PolarDB, termasuk mode baca/tulis, apakah akan menambahkan node baru ke titik akhir secara otomatis, tingkat konsistensi, pemisahan transaksi, apakah node utama menerima permintaan baca, dan kolam koneksi. |