PostgreSQL — pangkalan data di sebalik laman web dan kedai dalam talian anda
Setiap produk, pesanan, lead dan halaman yang anda cipta di 4buildsite disimpan dalam pangkalan data PostgreSQL. Anda tidak perlu mentadbirnya — tetapi berbaloi mengetahui mengapa kami memilihnya: integriti transaksi untuk pembayaran, kebolehpercayaan yang terbukti selama hampir 30 tahun, dan kos lesen sifar dalam harga anda.
Apakah PostgreSQL dan apa yang disimpannya untuk laman web anda
PostgreSQL ialah sistem pangkalan data hubungan sumber terbuka, dibangunkan secara berterusan sejak 1996 — dengan akar dalam projek POSTGRES di University of California, Berkeley (1986). Di 4buildsite, PostgreSQL ialah tempat data laman web anda disimpan: produk dan stok, pesanan dan pembayaran, lead daripada borang dan kandungan halaman. Anda bekerja dalam editor visual; PostgreSQL memastikan setiap perubahan selamat.
Mengapa ini penting kepada anda jika anda bukan pengaturcara? Kerana perbezaan antara pangkalan data yang serius dan yang rapuh tampak tepat pada saat-saat sukar: lonjakan trafik semasa promosi, pembayaran yang dicuba dua kali, pelayan dimulakan semula. PostgreSQL direka untuk melepasi saat-saat itu tanpa kehilangan atau merosakkan data — itulah sebabnya syarikat seperti Instagram dan Reddit menjalankannya pada skala besar, dan dari segi sejarah ia menggerakkan infrastruktur Skype.
- Produk, varian dan stok — katalog lengkap kedai anda
- Pesanan, pembayaran Stripe dan invois — sejarah jualan anda, tanpa jurang
- Lead daripada borang — setiap permintaan sebut harga dijamin disimpan
- Kandungan halaman dan templat — segala yang anda sunting dalam editor visual
- Domain, tetapan dan versi laman anda yang diterbitkan
Pesanan dan pembayaran tanpa data rosak — integriti ACID
Apabila pelanggan membuat pesanan, beberapa perkara berlaku serentak: stok berkurang, pesanan dicipta, pembayaran Stripe direkodkan. PostgreSQL melaksanakannya sebagai satu transaksi: sama ada semuanya berlaku, atau tiada satu pun. Jika pembayaran gagal di pertengahan, stok kembali secara automatik kepada nilai asalnya. Tingkah laku ini dipanggil ACID (Atomicity, Consistency, Isolation, Durability) dan PostgreSQL menjaminnya pada setiap jadual, tanpa konfigurasi khas.
Selain transaksi, PostgreSQL menguatkuasakan peraturan integriti terus dalam pangkalan data: baris pesanan tidak boleh merujuk produk yang tidak wujud, stok tidak boleh menjadi negatif, e-mel akaun tidak boleh diduplikasikan. Kekangan ini (foreign key, check, unique) menghalang data buruk sebelum ia masuk — bukan selepas ia merosakkan laporan jualan anda.
Bagi marketplace, integriti penting dua kali ganda: komisen dan pembayaran terpisah melalui Stripe Connect dikira daripada data pesanan. Pesanan yang diduplikasi atau jumlah yang tidak konsisten bermakna wang dibahagikan secara salah antara penjual. Transaksi PostgreSQL memastikan pengiraan itu betul, pesanan demi pesanan.
Carian katalog dan kandungan fleksibel
PostgreSQL dilengkapi enjin carian teks penuh: pelanggan menaip “kasut larian” dan menemui produk yang betul, dengan kamus stemming termasuk bahasa Romania. Sambungan pg_trgm menambah toleransi salah ejaan. Bagi kedai, keupayaan ini bermakna katalog boleh dicari dengan baik tanpa perkhidmatan berasingan gaya Elasticsearch — jadi lebih sedikit komponen yang boleh gagal dan kos infrastruktur lebih rendah.
Kandungan halaman yang dibina dalam editor visual tidak mempunyai struktur tetap — blok hero, borang dan galeri masing-masing mempunyai medan berbeza. PostgreSQL menyelesaikannya dengan JSONB: storan JSON natif, boleh diindeks dengan indeks GIN, boleh ditanya seperti mana-mana lajur. Anda mendapat fleksibiliti pangkalan data dokumen sambil mengekalkan integriti hubungan untuk pesanan dan pembayaran — dalam satu sistem, bukan dua.
- tsvector + kamus stemming (termasuk bahasa Romania) — carian katalog yang relevan
- pg_trgm — pelanggan menemui produk walaupun tersalah eja
- JSONB dengan indeks GIN — blok halaman fleksibel kekal cekap ditanya
Kebolehpercayaan: sandaran, pemulihan dan tiada kejutan
PostgreSQL menulis setiap perubahan ke dalam jurnal terlebih dahulu (WAL — Write-Ahead Log) dan hanya kemudian ke data sebenar. Jika pelayan terhenti secara mengejut, pangkalan data membina semula dirinya daripada jurnal apabila dimulakan semula, tanpa data rosak. Mekanisme yang sama menjadi asas point-in-time recovery (PITR) PostgreSQL — keupayaan enjin standard untuk pemasangan yang mengarkibkan jurnal WAL. Di 4buildsite, data berada pada volum berterusan, berasingan daripada aplikasi, jadi mula semula atau kemas kini platform tidak pernah menyentuhnya.
PostgreSQL turut menyokong streaming replication — salinan pangkalan data yang diselaraskan, sedia mengambil alih trafik apabila perlu. Bagi laman web anda, kebolehpercayaan pangkalan data membantu laman bertindak balas secara konsisten, dan ralat 5xx berulang menjejaskan perangkakan dan pengindeksan.
Penskalaan dan kos — berkembang tanpa bil lesen
Apabila kedai anda berkembang, PostgreSQL berkembang bersamanya: indeks mengekalkan pertanyaan yang cekap apabila katalog bertambah besar, pembahagian (partitioning) memecahkan sejarah pesanan mengikut tempoh, dan read replica menyerap trafik pelaporan. Instagram dan Reddit berskala pada PostgreSQL hingga ratusan juta pengguna — kedai dalam talian mencapai had teknologi ini jauh lebih lewat daripada yang disangka.
PostgreSQL mempunyai lesen percuma (PostgreSQL License, gaya BSD) — tiada yuran lesen dan tiada pemilik komersial yang boleh mengubah peraturan dalam sekelip mata. Pangkalan data komersial lazimnya dilesenkan per teras CPU, dan kos itu pasti berakhir dalam harga pelanggan. Di 4buildsite, pangkalan data disertakan dalam pelan anda, bersama pengehosan dan SSL — tanpa yuran berasingan.
Kelebihan dan kekurangan
Kelebihan
- Transaksi ACID penuh — pesanan dan pembayaran kekal konsisten walaupun berlaku ralat atau pelayan ranap.
- Kebolehpercayaan terbukti sejak 1996, digunakan dalam pengeluaran di Instagram, Reddit dan, dari segi sejarah, Skype.
- JSONB natif — kandungan halaman fleksibel tanpa mengorbankan integriti hubungan.
- Carian teks penuh terbina dalam, dengan stemming bahasa Romania — carian katalog tanpa perkhidmatan berasingan.
- Lesen percuma — tiada kos lesen tersembunyi dalam harga pelan anda.
- Jurnal WAL — selepas pelayan terhenti mengejut, pangkalan data membina semula dirinya apabila dimulakan semula tanpa data rosak.
Had
- Pentadbiran lanjutan (tuning, replikasi, failover) memerlukan kepakaran — di 4buildsite kami menguruskannya, tetapi hos sendiri adalah mencabar.
- Penulisan berada pada satu nod utama — menyebarkannya merentas nod (sharding) bukan natif dan memerlukan peralatan tambahan.
- Setiap sambungan menggunakan lebih banyak memori — banyak sambungan memerlukan pooling (PgBouncer).
- Carian teks penuh adalah baik, tetapi di bawah enjin khusus untuk relevan lanjutan dan cadangan carian.
Rumusan ringkas
PostgreSQL ialah pilihan standard untuk laman web, kedai dalam talian, marketplace dan platform SaaS di mana pesanan, pembayaran dan lead tidak boleh hilang. Blog ringkas mungkin cukup dengan yang lebih kurang — tetapi lesen percuma bermakna di 4buildsite anda tetap mendapat tahap keselamatan ini, tanpa kos tambahan.
Jadual spesifikasi
| Keupayaan | Had / ambang | Kegunaan lazim | |
|---|---|---|---|
| Integriti transaksi | ACID penuh + MVCC, pada setiap jadual | Transaksi yang sangat panjang menahan sumber | Pesanan, pembayaran, stok |
| JSONB | JSON natif, boleh diindeks GIN | Pertanyaan JSON yang sangat kompleks lebih perlahan daripada lajur klasik | Kandungan halaman, tetapan, atribut produk |
| Carian teks penuh | tsvector + pg_trgm, berbilang bahasa (termasuk Romania) | Relevan di bawah enjin carian khusus | Carian katalog kedai |
| Sandaran & replikasi | WAL, PITR, streaming replication | Failover automatik memerlukan peralatan luaran (cth. Patroni) | Pemulihan insiden, ketersediaan tinggi |
| Penskalaan | Read replica, partitioning jadual | Penulisan kekal pada nod utama | Katalog besar dan sejarah pesanan |
| Kos | Sumber terbuka, lesen percuma | Kos sebenar ialah infrastruktur dan pentadbiran | Disertakan dalam pelan 4buildsite |
PostgreSQL lwn MySQL lwn MongoDB
| Kriteria | PostgreSQL | MySQL | MongoDB |
|---|---|---|---|
| Integriti ACID | Penuh, pada setiap jadual, secara lalai | Penuh hanya dengan enjin InnoDB | Transaksi berbilang dokumen hanya sejak v4.0, dengan had |
| Jenis data & JSON | JSONB boleh diindeks + jenis kaya (array, range) | JSON sah, pengindeksan tidak langsung (generated column) | Dokumen BSON natif, tanpa skema dikuatkuasakan |
| Carian teks penuh | Terbina dalam: tsvector, pg_trgm, stemming berbilang bahasa | Asas (InnoDB FTS) | Asas; yang lanjutan (Atlas Search) hanya dalam awan komersial |
| Lesen / kos | PostgreSQL License — percuma, tiada pemilik komersial | GPL, dimiliki Oracle (edisi komersial) | SSPL — bukan lagi lesen sumber terbuka klasik |
| Ekosistem | Sambungan kukuh (PostGIS, pgvector), disokong setiap ORM | Meluas dalam pengehosan PHP/WordPress klasik | Kukuh pada Node.js, lebih sempit di tempat lain |
| Kesesuaian e-dagang | Cemerlang — pesanan, stok dan pembayaran dijamin konsisten | Baik — standard sejarah (Magento, WooCommerce) | Untuk katalog fleksibel; konsistensi pesanan memerlukan usaha tambahan |
Soalan lazim
Adakah PostgreSQL menjejaskan kelajuan laman web saya?
Halaman awam dihidangkan daripada Next.js dengan caching, dan pertanyaan PostgreSQL yang diindeks dijawab dengan cekap. Kelajuan yang dirasai pelawat bergantung terutamanya pada frontend dan imej, bukan pada pangkalan data.
Mengapa tidak WordPress dengan MySQL, seperti semua orang?
WordPress ialah CMS PHP dengan tema dan pemalam yang memerlukan penyelenggaraan dan kemas kini berterusan. 4buildsite menjana laman web Next.js dengan PostgreSQL: tanpa pemalam untuk ditampal dan lebih sedikit lubang keselamatan. MySQL bukan pilihan buruk — tetapi PostgreSQL menambah JSONB yang boleh diindeks, carian teks penuh yang lebih baik dan integriti yang lebih ketat, di bawah lesen percuma yang sama.
Apa berlaku kepada data saya jika pelayan terhenti?
PostgreSQL menulis setiap perubahan ke jurnal WAL terlebih dahulu, jadi apabila dimulakan semula pangkalan data membina semula dirinya tanpa data rosak — pelayan yang ranap secara mengejut tidak merosakkan pesanan anda. Selain itu, data berada pada volum berterusan, berasingan daripada aplikasi, jadi mula semula atau kemas kini platform tidak pernah menyentuhnya.
Bolehkah saya mengeksport data saya jika saya meninggalkan 4buildsite?
Ya. Data anda berada dalam PostgreSQL, format standard industri — produk, pesanan dan pelanggan boleh dieksport dalam format biasa (CSV, SQL). Tiada format proprietari yang mengunci anda kepada platform.
Bolehkah PostgreSQL mengikuti jika kedai saya berkembang?
Ya, dengan margin yang sangat besar. Instagram dan Reddit berskala pada PostgreSQL hingga ratusan juta pengguna, menggunakan indeks, partitioning dan read replica — teknik yang sama tersedia di 4buildsite. Kedai dalam talian mencapai had PostgreSQL jauh lebih lewat daripada had logistiknya sendiri.
Berapakah kos lesen PostgreSQL?
Tiada. PostgreSQL mempunyai lesen percuma (PostgreSQL License, gaya BSD), tanpa yuran per pelayan atau per teras. Di 4buildsite, pangkalan data disertakan dalam pelan anda, bersama pengehosan dan SSL — anda tidak membayar apa-apa secara berasingan.