Replikasi Data Guard Oracle mirip dengan PostgreSQL "Hot / Warm Standby Using PITR", yang terintegrasi dengan database pada PostgreSQL 9.0. Versi 9.1 juga menambahkan replikasi sinkron. Satu kelebihan PostgreSQL dibandingkan Oracle di sini adalah bahwa Sync Rep dapat dikontrol berdasarkan per transaksi. Anda dapat memiliki "Penting!" Yang sepenuhnya sinkron. Transaksi diikuti oleh "OK untuk kehilangan" asynchronous di Postgres.
Oracle RAC mirip dengan apa yang diberi label PostgreSQL "Shared Disk Failover" di kotak itu. Perbedaan utama adalah bahwa RAC terintegrasi penuh ke dalam produk Oracle, sementara "Shared Disk Failover" hanya menjelaskan metode melakukan sesuatu. Anda harus merakit perangkat lunak clusterware yang diperlukan untuk PostgreSQL, dan ada berbagai hal canggih yang dilakukan RAC, Anda akan sulit sekali menggandakannya di PostgreSQL. Saya secara teratur mendengar bahwa sebagian besar dari hal-hal itu sangat rumit untuk diatur sehingga beberapa instalasi Oracle membuatnya dengan benar - hanya karena RAC sudah terpasang tidak berarti ia mengatur sendiri secara otomatis.
Hal utama yang dapat Anda lakukan di Oracle yang sangat sulit untuk ditiru juga di PostgreSQL adalah replikasi multi-master. Dimungkinkan untuk melakukan multi-master di PostgreSQL, tetapi hanya dengan perangkat lunak tambahan seperti Bucardo. Dan semua program semacam itu masih memiliki batasan lebih banyak pada apa yang dapat Anda lakukan dengan mereka daripada yang disediakan instalasi Multi-Master Oracle.
Greg Saya sangat menghargai video Anda "Replikasi Sinkronisasi dan Penyesuaian Daya Tahan Greg Smith" Menontonnya tadi malam! Itu sangat membantu saya memahami berbagai pilihan. Saya tidak keberatan dengan semua opsi replikasi di Postgres, hanya perlu beberapa saat untuk mencari tahu apa yang tepat untuk aplikasi saya.
pagi
Perlu dicatat bahwa multi-master kadang-kadang merupakan solusi mencari masalah, setelah keberhasilan penjualan Oracle.
Rob Grant
4
Saya tidak yakin saya mengerti bagian "didukung oleh Oracle" dalam pertanyaan Anda. Postgres tidak "didukung" oleh Oracle dengan cara apa pun.
StandBy fisik Oracle setara dengan replikasi streaming PostgreSQL.
Saat menggunakan replikasi streaming, replikasi asinkron PostgreSQL setara dengan siaga Oracle menggunakan mode "Kinerja Maksimum", sedangkan replikasi sinkron PostgreSQL (sejak 9,1) setara dengan siaga Oracle menggunakan mode "Ketersediaan maksimum".
Oracle memiliki opsi lain yang disebut Real Application Cluster (RAC) yang merupakan sesuatu yang tidak tersedia di Postgres (juga memuat penyeimbangan dan pengalihan otomatis sesi ke node lain, jika ada yang turun)
Saya sepenuhnya memahami bahwa postgres tidak didukung oleh Oracle. Yang ingin saya ketahui adalah pendekatan replikasi mana yang diterapkan oleh kedua produk. Pikiranku adalah jika pendekatan replikasi cukup baik untuk Oracle maka itu mungkin salah satu pendekatan replikasi yang lebih baik.
pagi
2
Alasan ada begitu banyak pilihan replikasi di luar sana adalah bahwa masing-masing cocok untuk berbagai jenis aplikasi. Gagasan bahwa beberapa "cukup baik" dan yang lain tidak benar. Misalnya, pendekatan replikasi berbasis pemicu tidak populer untuk Oracle. Tetapi ada di PostgreSQL dan MySQL, karena ini cocok untuk jenis aplikasi yang tidak dituju oleh Oracle.
Greg Smith
1
Pada Oracle, Anda pada dasarnya memiliki pilihan antara menjalankan siaga panas dan menggunakan RAC .
Tujuan utama Ketersediaan Tinggi adalah untuk menghapus titik kegagalan tunggal. RAC melakukan ini di tingkat server yang memungkinkan kegagalan server tanpa gangguan layanan. Anda perlu mencapai sesuatu yang serupa di ujung penyimpanan menggunakan ASM , mirroring, dan dua atau lebih kumpulan penyimpanan yang mandiri secara fisik (atau SAN).
Menggunakan siaga panas berarti gangguan layanan jika terjadi kegagalan, tetapi lebih sederhana dan memiliki lebih sedikit "rekayasa pertukaran"
Perangkat keras yang berkualitas baik juga penting, misalnya SAS bukan SATA, PSU yang berlebihan, UPS, dll.
Ada juga aspek-aspek Ketersediaan Tinggi lainnya yang perlu Anda pertimbangkan (mis. Kesalahan manusia) - buku putih ini dari Oracle membahasnya secara lebih mendalam.
Saya tidak yakin saya mengerti bagian "didukung oleh Oracle" dalam pertanyaan Anda. Postgres tidak "didukung" oleh Oracle dengan cara apa pun.
StandBy fisik Oracle setara dengan replikasi streaming PostgreSQL.
Saat menggunakan replikasi streaming, replikasi asinkron PostgreSQL setara dengan siaga Oracle menggunakan mode "Kinerja Maksimum", sedangkan replikasi sinkron PostgreSQL (sejak 9,1) setara dengan siaga Oracle menggunakan mode "Ketersediaan maksimum".
Oracle memiliki opsi lain yang disebut Real Application Cluster (RAC) yang merupakan sesuatu yang tidak tersedia di Postgres (juga memuat penyeimbangan dan pengalihan otomatis sesi ke node lain, jika ada yang turun)
sumber
Pada Oracle, Anda pada dasarnya memiliki pilihan antara menjalankan siaga panas dan menggunakan RAC .
Tujuan utama Ketersediaan Tinggi adalah untuk menghapus titik kegagalan tunggal. RAC melakukan ini di tingkat server yang memungkinkan kegagalan server tanpa gangguan layanan. Anda perlu mencapai sesuatu yang serupa di ujung penyimpanan menggunakan ASM , mirroring, dan dua atau lebih kumpulan penyimpanan yang mandiri secara fisik (atau SAN).
Menggunakan siaga panas berarti gangguan layanan jika terjadi kegagalan, tetapi lebih sederhana dan memiliki lebih sedikit "rekayasa pertukaran"
Perangkat keras yang berkualitas baik juga penting, misalnya SAS bukan SATA, PSU yang berlebihan, UPS, dll.
Ada juga aspek-aspek Ketersediaan Tinggi lainnya yang perlu Anda pertimbangkan (mis. Kesalahan manusia) - buku putih ini dari Oracle membahasnya secara lebih mendalam.
sumber