PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Oracle ke PostgreSQL:Alasan untuk Bermigrasi

PostgreSQL memiliki beberapa keunggulan menarik, beberapa di antaranya tidak ditemukan di sistem manajemen basis data lainnya. Artikel ini akan menguraikan yang paling menarik bagi pengembang Oracle yang ingin melakukan migrasi atau menyelidiki alternatif untuk pengembangan baru.

Untuk mencegah artikel ini menjadi daftar fitur PostgreSQL lainnya, artikel ini akan tetap menggunakan fitur yang membedakannya dari Oracle secara khusus, dan keuntungan yang dihasilkan oleh perbedaan tersebut.

Federation vs. Foreign Data Wrapper

Oracle memiliki fitur yang disebut Federation yang memungkinkan tabel dari database lain diperlakukan sebagai data lokal. PostgreSQL meningkatkan ini hingga 11 dengan pembungkus data asing. Ini jauh lebih unggul daripada sistem federasi, dapat dihubungkan ke apa pun yang menyerupai data dari jarak jauh, dan tidak memerlukan biaya apa pun. Hal ini membuat PostgreSQL menjadi platform ETL yang hebat, meskipun Anda hanya menggunakannya untuk penyerapan data.

plSQL vs. yang lainnya

Oracle memiliki bahasa pemrograman built-in yang disebut plSQL. PostgreSQL memiliki sekitar 80 atau lebih. Betulkah. Sistem ekstensi PostgreSQL digunakan untuk membuat bahasa prosedural sebagai plug-in, dan ada ikatan untuk hampir semua bahasa yang dapat Anda pikirkan. Dan jika tidak ada, Anda selalu dapat mengikuti Mark Wong untuk mengetahui cara membuat bungkus untuk favorit pribadi Anda.

Pemrograman aplikasi

Oracle menyediakan API aplikasi untuk berkomunikasi dengan database. PostgreSQL juga menyediakan API untuk kenyamanan dan bahasa tepercaya. Namun, produk ini open source, jadi tidak ada warga pengembangan kelas dua. Anda dapat mengakses apa pun yang ditawarkan PostgreSQL dengan menyertakan file header di proyek Anda. Lakukan apa pun yang Anda inginkan dengannya.

Internasionalisasi dan Lokalisasi

Oracle menyediakan perangkat globalisasi. PostgreSQL dibangun dari bawah ke atas untuk mengandalkan sepenuhnya pada layanan sistem yang terkenal dan kompatibel secara luas untuk pelokalan. Itu dapat menggunakan pengkodean karakter, susunan, dan halaman kode apa pun yang disediakan oleh sistem operasi.

Pengembangan Web

Oracle mengakui keberadaan HTML melalui HTML DB. PostgreSQL secara native mendukung JSON, XML, dan plugin dalam Javascript sebagai back end bahasa pengkodean, yang dapat Anda gunakan bersamaan dengan Java atau bahasa ujung depan lainnya pilihan Anda.

Otentikasi

Oracle memiliki sistem otentikasi bawaan (angguk di sini untuk Proxy Auth, yang sedikit lebih fleksibel). PostgreSQL bergantung pada Otentikasi Berbasis Host dan protokol SASL untuk menyambungkan sistem otentikasi apa pun yang dapat didukung oleh host, dan beberapa yang menyambungkan langsung ke PostgreSQL. Ini memberikan banyak sekali kemungkinan untuk autentikasi bersama dengan potensi untuk memindahkan proses autentikasi ke mesin lain.

Ekstensibilitas

Oracle memiliki sistem plug-in dengan sebagian besar plug-in berpemilik. PostgreSQL memiliki sistem ekstensi yang didukung oleh komunitas umum, dengan ribuan plugin yang tersedia.

Baca Skalabilitas

Oracle memiliki skalabilitas baca vertikal yang cukup baik. PostgreSQL dapat membuat cluster baca yang hampir tidak terbatas. Jumlah node hanya dibatasi oleh jumlah sumber daya yang ingin Anda gunakan.

Biaya

Sulit untuk mengalahkan "gratis", dan Oracle bahkan tidak berusaha keras. Jujur saja, Oracle sangat mahal, dan mereka tidak keberatan menagih Anda lagi untuk setiap instance.

Ini juga bukan perbandingan linier. Salah satu keuntungan terbesar PostgreSQL adalah Anda dapat memiliki semua instans yang Anda inginkan, tanpa biaya tambahan. (Saya kira itu adalah biaya tambahan sebesar +$0,00, atau dikalikan dengan $0,00, terserah Anda).

Tidak adil (bagi PostgreSQL) untuk membandingkan biaya satu instance Oracle dengan satu instance PostgreSQL. Setelah Anda merasakan kebebasan yang gratis, akan sulit untuk kembali memasukkan semuanya ke dalam satu instans hanya untuk mengurangi biaya.

Berapa biaya database sementara yang mengubah data dalam perjalanan ke gudang? Saya pikir gratis sudah cukup. Bagaimana dengan database sementara untuk pelaporan? Saya akan mengambil gratis untuk itu juga. Bagaimana dengan yang merupakan titik penyerapan data untuk ETL? Gratis itu bagus. saya suka gratis. Ini sangat, uh… membebaskan.

Kinerja

Tidak, tunggu! Dengarkan aku untuk yang satu ini. Saya telah menyebutkan bahwa PostgreSQL dapat membuat jumlah node yang tidak terbatas dalam cluster baca. Itu dapat mengurangi biaya operasi baca tertentu hingga mendekati nol. Namun ada juga cara lain agar PostgreSQL lebih berperforma daripada Oracle.

Karena PostgreSQL tidak memerlukan biaya per node, Anda dapat menyetelnya secara berbeda untuk setiap beban kerja. Tentu saja, Anda juga dapat melakukan ini dengan Oracle, tetapi Anda akan membayar per node untuk kemampuan menyetelnya dengan cara ini. Jadi, jika Anda ingin membedakan parameter penyetelan untuk gudang Anda ke OLTP hingga pelaporan ke data lake, PostgreSQL membuatnya cukup mudah, dan tetap mudah di dompet.

Tentu saja ada lebih banyak fitur menarik di PostgreSQL, tetapi saya sudah menulis artikel itu beberapa bulan yang lalu. Beri tahu saya di komentar jika Anda telah bermigrasi ke PostgreSQL karena alasan lain.


No
  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL tidak menggunakan indeks parsial

  2. Tentang kegunaan indeks ekspresi

  3. Apa yang dimaksud dengan pemindaian tumpukan Bitmap dalam paket kueri?

  4. Migrasi dari MSSQL ke PostgreSQL - Yang Harus Anda Ketahui

  5. Perbedaan antara bahasa sql dan bahasa plpgsql dalam fungsi PostgreSQL