Saya tahu pertanyaannya terdengar provokatif, tetapi sebenarnya tidak. Saya baru-baru ini menemukan keterbatasan MySQL di banyak daerah dan semakin menyukai PostgreSQL. Timbangan ini jauh lebih baik dan lebih menghormati standar SQL daripada MySQL.
Saya masih baru di dunia PostgreSQL dan karena saya bersedia untuk pindah dari MySQL untuk semua proyek masa depan saya, apa yang ingin saya ketahui adalah: apakah ada fitur tertentu dari MySQL yang dilakukan dengan lebih baik (seperti pada berkinerja tinggi atau lebih ramah pengguna, dll.) daripada di PostgreSQL?
Saya bertanya-tanya apa yang akan saya lewatkan dari MySQL. Saya sudah menemukan bahwa bidang AUTO_INCREMENT di MySQL lebih berguna daripada SEQUENCES di PostgreSQL dan penyebaran di Windows bermasalah di masa lalu (bukan masalah lagi. Tidak pernah menjadi masalah bagi saya).
Apa lagi?
sumber
Jawaban:
Anda jelas mendekati ini dari perspektif pengembang, sehingga Anda dapat menemukan jawaban yang lebih berguna di SO.
Dari perspektif administratif:
- Replikasi (HA)
- Replikasi (Penskalaan *)
- Replikasi (Cadangan)
- Dukungan aplikasi
- Ukuran dan Kedalaman komunitas (Dokumentasi, Dukungan)
- Basis pemasangan yang ada / pekerjaan yang tersedia
* Perhatikan Anda menyebutkan
postgres
penskalaan yang lebih baik. penskalaan berarti sesuatu yang berbeda untuk semua orang, tetapi sebagai aturan umum hal-hal yang memiliki jalur untuk menyebarkan beban di berbagai skala server lebih baik daripada hal-hal yang tidak.sumber
COUNT (*) juga jauh lebih lambat dengan PSQL. Anda seharusnya membuat pemicu untuk fungsi semacam ini.
sumber
Karena Postgres secara efektif melakukan copy-on-write untuk setiap pembaruan (sehingga dapat menangani transaksi), jika Anda tidak memerlukan transaksi, dan melakukan banyak penulisan dibandingkan dengan membaca, MySQL tidak akan memiliki overhead yang melebihi PostgreS akan. (setiap catatan yang diperbarui perlu menulis lebih banyak, memperbarui indeks, dll.)
sumber
Saya dapat memikirkan satu hal yang hilang dari PostgreSQL:
Saya pikir ada sesuatu juga dengan pemblokiran, masukkan atau perbarui. Tapi sepertinya saya tidak ingat apa itu sebenarnya. : S
sumber
Bidang auto_increment yang 'berguna' tidak terlalu relevan bukan? Oracle memiliki urutan dan tidak diragukan lagi database komersial yang paling banyak digunakan di dunia.
Ini adalah sejumlah besar informasi yang dapat ditemukan tentang bagaimana PostgreSQL jika lebih aman dan sebagainya. Saya hanya akan mengarahkan Anda ke halaman ini di wiki PostgreSQL (tidak diragukan lagi pendapat yang berwarna, tapi tetap saja itulah yang Anda cari).
Banyak orang menyebutkan di halaman ini bahwa MySQL lebih bersahabat dengan pemula. Begitu? Jelaskan kepada saya bagaimana itu penting dalam lingkungan yang kritis misi.
sumber
MySQL sering disebut sebagai SQL'ed grep . Bagi saya (sekarang pada saat penulisan) terlihat cukup banyak seperti PHP - cukup canggung, tetapi populer.
Coba ganti nama basis data untuk permulaan. ;) Kemudian tambahkan (tidak ada) indeks bersyarat.
PS Saya bisa menunjukkan setidaknya satu fitur bagus yang tidak bisa diperdebatkan yang dimiliki MySQL - mendukung agak menghemat ruang tipe data yang sekecil (tidak ditandai) byte untuk mis. Ini bisa menghemat banyak RAM dan ruang disk saat digunakan. Tapi ada beberapa barang yang perlu disebutkan selain itu, sayangnya. Dan perbandingan pada tautan yang Anda berikan benar-benar bagus.
sumber
auto_increment berguna sampai Anda menyadari bahwa mereka menyedot tabel dengan konkurensi insert yang sangat tinggi, pada saat itu mereka menjadi leher botol dan Anda dipaksa untuk menerapkan urutan menggunakan tabel MyISAM.
Ngomong-ngomong, untuk menjawab pertanyaan Anda, hal terbesar yang dilakukan MySQL adalah mudahnya membuat replikasi yang memungkinkan replikasi rantai dan membaca budak. Namun, Postgres akan memilikinya dalam rilis berikutnya, 9.0 (yang sudah keluar dalam status alpha).
sumber