Bina seni bina pangkalan data teragih menggunakan MySQL dan PostgreSQL

WBOY
Lepaskan: 2023-07-13 09:00:18
asal
841 orang telah melayarinya

Membina seni bina pangkalan data teragih menggunakan MySQL dan PostgreSQL

Dengan kemunculan Internet dan era data besar, permintaan untuk pemprosesan dan penyimpanan data terus meningkat. Pangkalan data bersendirian tradisional selalunya tidak dapat memenuhi keperluan konkurensi yang tinggi dan volum data yang besar, jadi seni bina pangkalan data yang diedarkan secara beransur-ansur menjadi penyelesaian yang penting. Artikel ini akan memperkenalkan cara menggunakan MySQL dan PostgreSQL untuk membina seni bina pangkalan data teragih dan menunjukkannya melalui contoh kod.

1. Pengetahuan latar belakang

  1. MySQL
    MySQL ialah sistem pengurusan pangkalan data hubungan sumber terbuka yang mudah digunakan, berprestasi tinggi dan boleh dipercayai. MySQL menyokong berbilang enjin storan dan mempunyai kebolehskalaan yang baik.
  2. PostgreSQL
    PostgreSQL ialah satu lagi sistem pengurusan pangkalan data perhubungan sumber terbuka yang digunakan secara meluas dalam senario yang sangat serentak dan volum data yang besar. PostgreSQL terkenal dengan kebolehskalaan yang berkuasa dan ciri lanjutannya.
  3. Seni bina pangkalan data teragih
    Seni bina pangkalan data teragih mengedarkan data merentas berbilang nod untuk mencapai ketersediaan data yang tinggi, pengimbangan beban dan pemprosesan data selari. Seni bina pangkalan data teragih biasa termasuk replikasi tuan-hamba, sharding dan pembahagian.

2. Contoh replikasi tuan-hamba MySQL
MySQL menyediakan fungsi replikasi tuan-hamba, yang boleh menyegerakkan operasi pangkalan data induk kepada berbilang pangkalan data hamba. Berikut ialah contoh replikasi master-slave MySQL:

  1. Konfigurasikan pangkalan data induk
    Pada pangkalan data induk, anda perlu mendayakan fungsi log binari (binlog) dalam fail konfigurasi my.cnf:
[mysqld]
server-id=1
log-bin=mysql-bin
Salin selepas log masuk
  1. Konfigurasikan pangkalan data hamba
    Pada pangkalan data hamba Pada pangkalan data induk, anda perlu menentukan alamat IP dan maklumat sambungan pangkalan data induk dalam fail konfigurasi my.cnf:
[mysqld]
server-id=2
relay-log=relay-bin
log-slave-updates=1
Salin selepas log masuk
  1. Mulakan replikasi induk-hamba
    Pada pangkalan data induk , laksanakan pernyataan SQL berikut untuk mencipta pengguna untuk menyambung ke pangkalan data hamba, dan Berikan kebenaran replikasi:
CREATE USER 'replication'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'replication'@'%';
FLUSH PRIVILEGES;
Salin selepas log masuk

Pada pangkalan data hamba, laksanakan pernyataan SQL berikut untuk menyambung ke pangkalan data induk dan mulakan replikasi:

CHANGE MASTER TO MASTER_HOST='主数据库IP地址', MASTER_USER='replication', MASTER_PASSWORD='password', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=0;
START SLAVE;
Salin selepas log masuk

3 . Contoh partition PostgreSQL
PostgreSQL menyokong penyimpanan data dalam partition yang berbeza mengikut peraturan tertentu. Berikut ialah contoh pembahagian PostgreSQL:

  1. Buat jadual terbahagi
    Mula-mula, kami mencipta jadual utama dan dua subjadual untuk membahagikan data mengikut julat tarikh:
CREATE TABLE measurements (
    id SERIAL PRIMARY KEY,
    sensor_id INTEGER,
    value NUMERIC,
    ts TIMESTAMP
);
Salin selepas log masuk
CREATE TABLE measurements_2021q1 PARTITION OF measurements FOR VALUES FROM ('2021-01-01') TO ('2021-03-31');
CREATE TABLE measurements_2021q2 PARTITION OF measurements FOR VALUES FROM ('2021-04-01') TO ('2021-06-30');
Salin selepas log masuk
  1. Masukkan data ke dalam jadual Next yang dipartisi,
    kami Sisipkan data ke dalam jadual partition:
INSERT INTO measurements (sensor_id, value, ts)
VALUES (1, 20, '2021-02-15');
Salin selepas log masuk
  1. Query the partitioned table
    Akhir sekali, kita boleh query seluruh jadual partition:
SELECT *
FROM measurements
WHERE ts BETWEEN '2021-01-01' AND '2021-06-30';
Salin selepas log masuk

Di atas adalah contoh kod untuk membina seni bina pangkalan data teragih menggunakan MySQL dan PostgreSQL. Perlu dinyatakan bahawa pelaksanaan seni bina pangkalan data teragih juga melibatkan pertimbangan seperti pembahagian data, pengimbangan beban dan pemulihan kerosakan, yang berada di luar skop artikel ini. Saya harap artikel ini dapat memberikan sedikit rujukan dan inspirasi kepada pembaca untuk membantu mereka membina seni bina pangkalan data teragih yang sesuai untuk senario aplikasi mereka sendiri.

Atas ialah kandungan terperinci Bina seni bina pangkalan data teragih menggunakan MySQL dan PostgreSQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan