Mengingat penanganan lisensi Oracle [a] (dan, pada tingkat lebih rendah, biaya) saya selalu bertanya-tanya apa faktor penentu akan memilih Oracle daripada PostgreSQL atau MySQL.
Perusahaan saya hampir selalu memilih Oracle (XE jika memungkinkan), bahkan untuk proyek-proyek kecil di mana hanya ada satu kotak server Windows sederhana yang menjalankan database tanpa administrasi DB khusus. (Perhatikan bahwa kecil tidak bukan berarti data akan selalu cocok kendala ukuran agak kecil dari Oracle XE.)
Saya selalu mempertanyakan pilihan ini, tetapi memiliki manfaat bahwa kita setidaknya hanya terpapar satu produk basis data.
Namun, mengingat proyek baru, di mana Anda memerlukan RDBMS, tetapi proyek dan ruang lingkup database cukup kecil, berdasarkan fitur unik Oracle yang berjalan pada kotak server Windows sederhana (tanpa terlalu banyak administrasi khusus) yang akan Anda pilih Oracle daripada RDBMS lain?
Konteks tambahan : Banyak penyebaran basis data kami berjalan di situs pelanggan dalam mode, sebut saja, "administrasi rendah". Yaitu, basis data diatur sekali. Ada beberapa pengujian awal pada perilaku dan kinerja yang benar di situs. Setelah ini, hanya menjalankan database pada-nya. Tidak ada administrasi rutin yang dilakukan. Hanya jika sesuatu rusak maka teknisi (bukan DBA khusus) memeriksa database, mencoba mencari tahu apa yang terjadi. Cadangan sebagian besar dilakukan sebagai cadangan offline. Dalam beberapa proyek, pelanggan bahkan tidak peduli ada RDBMS yang terlibat. Mereka hanya melihat aplikasi mereka sebagai kotak hitam yang berfungsi (atau tidak).
[a]: Di mana saya bekerja, butuh beberapa manajer proyek berulang kali berbulan - bulan untuk mendapatkan lisensi yang tepat untuk proyek-proyek kecil karena perwakilan Oracle lokal tidak terlalu tertarik untuk menjual produk mereka jika pendapatannya kecil.
Jawaban:
Saya hanya dapat mencoba menjawab untuk Oracle dan postgres. Setelah menggunakan Oracle secara eksklusif selama bertahun-tahun, dan postgres hanya selama dua tahun terakhir, saya suka postgres. Ada begitu banyak cara kecil yang lebih nyaman digunakan daripada Oracle, dan berbagi banyak manfaat penting (seperti MVCC). Lebih mudah dikelola, dapat diandalkan, memiliki dokumentasi yang sangat baik, dan tentu saja, gratis.
Namun postgres tidak cocok untuk Oracle di beberapa bidang, seperti:
Menariknya hampir semua fitur ini tidak ada atau lumpuh di XE. Saya pikir saya akan memilih postgres daripada XE, semuanya sederajat, tapi ...
... tidak satupun dari ini menjawab dua alasan terbesar untuk memilih Oracle:
EDIT:
Satu situasi di mana saya memilih postgres daripada XE setiap kali adalah jika keamanan menjadi perhatian. Jika database Anda atau salah satu aplikasi itu terpapar ke internet publik, saya tidak yakin apakah XE adalah ide yang bagus.
sumber
Oracle Apex . Lingkungan aplikasi web yang praktis dan mudah digunakan yang dibangun langsung ke dalam basis data. Sederhananya membuatnya sangat mudah untuk menyebarkan aplikasi 'kotak tunggal' dengan ui web / logika aplikasi / database dalam satu paket terintegrasi.
PS. 11g XE (saat ini dalam versi beta) memperluas penyimpanan hingga lebih dari 10GB.
sumber
Meskipun opsi kilas balik Oracle lainnya tidak tersedia dalam Edisi Express, Flashback Query adalah. Menurut pertanyaan di atasnya , tidak ada database lain yang memiliki fitur ini yang memungkinkan pernyataan pilih untuk meminta data pada titik waktu di masa lalu. Data kilas balik dapat digabungkan dengan data saat ini dan dimasukkan ke dalam tabel saat ini sehingga berguna untuk membatalkan operasi jenis, perubahan sementara, dan membandingkan perubahan yang dibuat oleh suatu metode di satu tempat.
Beberapa hal lain yang tidak dimiliki oleh database lain yang dimiliki oleh Oracle Express Edition.
sumber
Pertama-tama, saya pikir Anda tidak boleh meremehkan faktor yang sudah ada Oracle Know-How hadir tetapi tidak untuk RDBMS lainnya. Membangun pengetahuan untuk yang lain membutuhkan waktu & uang dan mungkin juga disertai dengan beberapa kesalahan di awal.
Selain itu, Anda tidak pernah tahu apakah proyek kecil tidak akan tumbuh di suatu tempat. Kemudian, Anda dapat dengan sangat lancar & cepat memutakhirkan dari XE ke Edisi Standar Satu ke Edisi Standar ke Edisi Perusahaan. Migrasi dari RDBMS lain lagi akan membutuhkan lebih banyak waktu & uang. Intinya: Saya pikir perusahaan Anda melakukannya dengan benar - ok, saya mungkin sedikit bias :-)
sumber
count()
, yang tampaknya menjadi tumit achilles postgres). Saya harus bertanya pada stackoverflow bagaimana memengaruhi perencanaSalah satu fitur bagus dari Oracle adalah mereka seperti Oracle Resource Manager yang membuat konsolidasi aplikasi dalam satu basis data jauh lebih mudah daripada memiliki basis data terpisah untuk setiap aplikasi. Sepertinya ini tidak digunakan di organisasi Anda. Saya telah merancang basis data konsolidasi di masa lalu untuk proyek-proyek seperti yang Anda sebutkan.
Hal ini menyebabkan bahwa bahkan yang paling sederhana dari semua proyek membutuhkan waktu berbulan-bulan bahkan untuk memulai dan dalam waktu di mana waktu untuk pasar sangat penting, ini mematikan. Untuk beberapa alasan ini dilewatkan oleh banyak orang, bahkan sering diabaikan karena alasan politik.
Solusi untuk ini cukup sederhana. Buat satu database serius, berikan setiap proyek / aplikasi skema mereka sendiri dan akses pengguna dan jalankan dalam hitungan jam, bukan bulan. Jika Anda akan melakukan sesuatu seperti ini, itu bisa bermanfaat untuk menggabungkan aplikasi yang memiliki persyaratan up-time yang sama. Oracle mendapatkan lebih banyak dan lebih banyak opsi pemeliharaan on-line tetapi untuk kadang-kadang, mendapatkan beberapa jam downtime jauh lebih mudah. Memiliki jendela waktu untuk hal ini didefinisikan sebelumnya dapat mencegah banyak masalah. Anda akan membutuhkan waktu henti.
Jangan izinkan aplikasi terhubung ke database, buat mereka terhubung ke layanan yang didedikasikan untuk aplikasi menggunakan tns-aliass mereka sendiri. Melakukannya memungkinkan Anda untuk memindahkan aplikasi ke database lain, tanpa harus mengkonfigurasi ulang aplikasi.
BTW: perusahaan yang menggunakan cara konsolidasi ini menghemat banyak uang tunai setiap tahun, lebih dari izin yang diperlukan untuk mulai bergulir.
sumber