Cara menggunakan cassandra vs postgresql

Difference between Cassandra and PostgreSQL

Improve Article

Save Article

Like Article

  • Last Updated : 22 Jun, 2020

  • Read
  • Discuss
  • Courses
  • Practice
  • Video
  • Improve Article

    Save Article

    1. Cassandra :
    Cassandra is a free and open-source, distributed, wide column store, NoSQL database management system. It was developed by Apache Software foundation and initially released on July 2008. Cassandra is designed to handle large amounts of data across many commodity servers, providing high availability with no single point of failure.

    2. PostgreSQL :
    PostgreSQL is a powerful, open-source Object-relational database system. It provides good performance with low maintenance efforts because of its high stability. PostgreSQL was the first DBMS that implemented multi-version concurrency control (MVCC) feature.



    Difference between Cassandra and PostgreSQL :

    S.NO.CASSANDRAPOSTGRESQL1.Developed by Apache Software foundation and released on July 2008.Developed By  PostgreSQL Global Development Group on 1989.2.It is wide-column store based on ideas of BigTable and DynamoDB.It is widely used open source RDBMS.3.Cassandra is written in Java languages.PostgreSQL is written in C languages.4.The primary database model for Cassandra is Wide column store.The primary database model for PostgreSQL is Relational DBMS.5.It has no Secondary database models.It has Document store as Secondary database models.6.Server operating systems for Cassandra are BSD, Linux, OS X and Windows.Server operating systems for PostgreSQL are FreeBSD, HP-UX, Linux, NetBSD, OpenBSD, OS X, Solaris, Unix and Windows.7.It does not support XML format.It supports XML format.8.It supports Secondary indexing but in a restricted way, i.e., only equality queries, not always the best performing solution.It supports Secondary indexing.9.It does not supports Server-side scripting.It has user defined functions for Server-side scripts.10.It supports selectable replication factor method.It supports Master-master replication method.11.In Cassandra, partitioning can be done Sharding.In PostgreSQL, partitioning can be done by range, list and hash.12.It offers an API for user-defined Map/Reduce methods.It does not offers an API for user-defined Map/Reduce method.13.Cassandra does not provides the concept of Referential Integrity. Hence, no Foreign Keys.PostgreSQL provides the concept of Referential Integrity and have Foreign keys.

    My Personal Notes arrow_drop_up

    Save

    Please Login to comment...

    Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

    Saat Anda mengonversi database Oracle ke RDS untuk PostgreSQL atau Amazon Aurora PostgreSQL, perhatikan hal berikut.

    Ketika mengkonversi objek sistem Oracle ke PostgreSQL,AWS SCT melakukan konversi seperti yang ditunjukkan dalam tabel berikut.

    Objek sistem OracleDeskripsiDikonversi objek PostgreSQLV $ VERSIMenampilkan nomor versi komponen pustaka inti di Oracle Databaseaws_oracle_ext.v $ versiV $ CONTOHTampilan yang menunjukkan keadaan instance saat ini.aws_oracle_ext.v $ contoh

    Anda dapat menggunakanAWS SCT untuk mengkonversi file Oracle SQL* Plus ke psql, yang merupakan front-end berbasis terminal untuk PostgreSQL. Untuk informasi selengkapnya, lihat Mengonversi aplikasi SQL menggunakanAWS SCT.

    Hak untuk PostgreSQL sebagai basis data target

    Untuk menggunakan PostgreSQL sebagai target,AWS SCT memerlukanCREATE ON DATABASE hak istimewa. Pastikan Anda memberikan hak istimewa ini untuk setiap database PostgreSQL target.

    Untuk menggunakan sinonim publik yang dikonversi, ubah jalur pencarian default basis data ke"$user", public_synonyms, public.

    Anda dapat menggunakan contoh kode berikut untuk membuat pengguna database dan memberikan hak istimewa.

    CREATE ROLE user_name LOGIN PASSWORD 'your_password';
    GRANT CREATE ON DATABASE db_name TO user_name;
    ALTER DATABASE db_name SET SEARCH_PATH = "$user", public_synonyms, public;

    Di contoh sebelumnya, ganti user_name dengan nama pengguna Anda. Kemudian, ganti db_name dengan nama database target Anda. Terakhir, ganti kata sandi Anda dengan kata sandi yang aman.

    Untuk menggunakan Amazon RDS for PostgreSQL sebagai target,AWS SCT memerlukanrds_superuser hak istimewa.

    Di PostgreSQL, hanya pemilik skema atausuperuser dapat menjatuhkan skema. Pemilik dapat menjatuhkan skema dan semua objek yang disertakan skema ini bahkan jika pemilik skema tidak memiliki beberapa objeknya.

    Bila Anda menggunakan pengguna yang berbeda untuk mengkonversi dan menerapkan skema yang berbeda ke database target Anda, Anda bisa mendapatkan pesan kesalahan ketika tidakAWS SCT dapat menjatuhkan skema. Untuk menghindari pesan galat ini, gunakansuperuser peran.

    Pengaturan konversi Oracle ke PostgreSQL

    Untuk mengedit pengaturan konversi Oracle ke PostgreSQL, pilih Pengaturan diAWS SCT, lalu pilih Pengaturan konversi. Dari daftar atas, pilih Oracle, dan kemudian pilih Oracle - PostgreSQL. AWS SCTmenampilkan semua pengaturan yang tersedia untuk konversi Oracle ke PostgreSQL.

    Pengaturan konversi Oracle ke PostgreSQL diAWS SCT termasuk pilihan untuk berikut:

    • Untuk membatasi jumlah komentar dengan item tindakan dalam kode yang dikonversi.

      Untuk Seberapa detail komentar di SQL yang dikonversi, pilih tingkat keparahan item tindakan. AWS SCTmenambahkan komentar dalam kode dikonversi untuk item tindakan tingkat keparahan yang dipilih dan lebih tinggi.

      Misalnya, untuk meminimalkan jumlah komentar dalam kode Anda yang dikonversi, pilih Kesalahan saja. Untuk menyertakan komentar untuk semua item tindakan dalam kode yang telah dikonversi, pilih Semua pesan.

    • Untuk memungkinkanAWS SCT untuk mengkonversi Oracle terwujud pandangan ke tabel atau tampilan terwujud pada PostgreSQL. Untuk konversi tampilan terwujud sebagai, pilih cara mengonversi tampilan terwujud sumber Anda.

    • Untuk bekerja dengan kode Oracle sumber Anda saat menyertakanTO_CHAR,CREATE ON DATABASE0, danCREATE ON DATABASE1 fungsi dengan parameter yang tidak didukung PostgreSQL. Secara default,AWS SCT mengemulasi penggunaan parameter ini dalam kode yang dikonversi.

      Ketika kode Oracle sumber Anda hanya menyertakan parameter yang didukung PostgreSQL, Anda dapat menggunakan PostgreSQLTO_CHAR,CREATE ON DATABASE0, danCREATE ON DATABASE1 fungsi asli. Dalam hal ini, kode yang dikonversi bekerja lebih cepat. Untuk menyertakan hanya parameter ini, pilih nilai berikut:

      • Fungsi TO_CHAR () tidak menggunakan string format khusus Oracle

      • Fungsi TO_DATE () tidak menggunakan string format khusus Oracle

      • Fungsi TO_NUMBER () tidak menggunakan string format khusus Oracle

    • Untuk mengatasi ketika sumber database Oracle menyimpan hanya nilai integer di kolom kunci primer atau asing dari tipeCREATE ON DATABASE5 data,AWS SCT dapat mengkonversi kolom ini ke tipeCREATE ON DATABASE6 data. Pendekatan ini meningkatkan kinerja kode Anda yang dikonversi. Untuk mengambil pendekatan ini, pilih Convert NUMBER primary/foreign key column ke BIGINT. Pastikan bahwa sumber Anda tidak menyertakan nilai floating point di kolom ini untuk menghindari kehilangan data.

    • Untuk melewati pemicu dan kendala yang dinonaktifkan dalam kode sumber Anda. Untuk melakukannya, pilih Abaikan pemicu dan batasan yang dinonaktifkan.

    • Untuk menggunakanAWS SCT untuk mengkonversi variabel string yang disebut sebagai SQL dinamis. Kode database Anda dapat mengubah nilai variabel string ini. Untuk memastikan bahwaAWS SCT selalu mengubah nilai terbaru dari variabel string ini, pilih Mengkonversi kode SQL dinamis yang dibuat dalam disebut rutinitas.

    • Untuk mengatasi PostgreSQL versi 10 dan sebelumnya tidak mendukung prosedur. Jika Anda atau pengguna Anda tidak terbiasa menggunakan prosedur di PostgreSQL,AWS SCT dapat mengonversi prosedur Oracle ke fungsi PostgreSQL. Untuk melakukannya, pilih Convert procedures to functions.

    • Untuk melihat informasi tambahan tentang item tindakan yang terjadi. Untuk melakukannya, Anda dapat menambahkan fungsi tertentu ke paket ekstensi dengan memilih Add on exception raise block untuk masalah migrasi dengan tingkat keparahan berikutnya. Kemudian pilih tingkat keparahan untuk meningkatkan pengecualian yang ditentukan pengguna.

    • Untuk bekerja dengan database Oracle sumber yang mungkin menyertakan kendala dengan nama yang dihasilkan secara otomatis. Jika kode sumber menggunakan nama-nama ini, pastikan Anda memilih Konversikan nama pembatas yang dihasilkan sistem menggunakan nama asli sumber. Jika kode sumber Anda menggunakan batasan ini tetapi tidak menggunakan namanya, kosongkan opsi ini untuk meningkatkan kecepatan konversi.

    • Untuk mengatasi apakah database dan aplikasi Anda berjalan di zona waktu yang berbeda. Secara default,AWS SCT mengemulasi zona waktu dalam kode yang dikonversi. Namun, Anda tidak memerlukan emulasi ini ketika database dan aplikasi Anda menggunakan zona waktu yang sama. Dalam hal ini, pilih Zona waktu di sisi klien cocok dengan zona waktu di server.

    • Untuk mengatasi apakah database sumber dan target Anda berjalan di zona waktu yang berbeda. Jika ya, fungsi yang mengemulasi fungsi OracleCREATE ON DATABASE7 bawaan mengembalikan nilai yang berbeda dibandingkan dengan fungsi sumber. Untuk memastikan bahwa sumber dan fungsi target Anda mengembalikan nilai yang sama, pilih Tetapkan zona waktu default untuk emulasi SYSDATE.

    • Untuk menggunakan fungsi dari ekstensi orafce dalam kode Anda dikonversi. Untuk melakukannya, untuk implementasi Gunakan orafce, pilih fungsi yang akan digunakan. Untuk informasi lebih lanjut tentang orafce, lihat orafceon GitHub.

    Mengubah urutan Oracle

    AWS SCTmengkonversi urutan dari Oracle ke PostgreSQL. Jika Anda menggunakan urutan untuk mempertahankan batasan integritas, pastikan bahwa nilai baru dari urutan yang dimigrasi tidak tumpang tindih dengan nilai yang ada.

    Untuk mengisi urutan dikonversi dengan nilai terakhir dari database sumber

    1. BukaAWS SCT proyek Anda dengan Oracle sebagai sumbernya.

    2. Pilih Pengaturan, lalu pilih Pengaturan konversi.

    3. Dari daftar atas, pilih Oracle, dan kemudian pilih Oracle - PostgreSQL. AWS SCTmenampilkan semua pengaturan yang tersedia untuk konversi Oracle ke PostgreSQL.

    4. Pilih Isi urutan yang dikonversi dengan nilai terakhir yang dihasilkan di sisi sumber.

    5. Memilih OK untuk menyimpan pengaturan dan menutup Pengaturan konversi kotak dialog.

    Mengubah Oracle ROWID

    Dalam database Oracle, pseudocolumn ROWID berisi alamat baris tabel. Pseudocolumn ROWID unik untuk Oracle, sehinggaAWS SCT mengubah pseudocolumn ROWID ke kolom data di PostgreSQL. Dengan menggunakan konversi ini, Anda dapat menyimpan informasi ROWID.

    Ketika mengkonversi pseudocolumn ROWID,AWS SCT dapat membuat kolom data dengan tipeCREATE ON DATABASE8 data. Jika tidak ada kunci primer,AWS SCT atur kolom ROWID sebagai kunci primer. Jika kunci primer ada,AWS SCT atur kolom ROWID dengan kendala unik.

    Jika kode database sumber Anda mencakup operasi dengan ROWID, yang tidak dapat Anda jalankan menggunakan tipe data numerik,AWS SCT dapat membuat kolom data dengan tipeCREATE ON DATABASE9 data.

    Untuk membuat kolom data untuk Oracle ROWID untuk sebuah proyek

    1. BukaAWS SCT proyek Anda dengan Oracle sebagai sumbernya.

    2. Pilih Pengaturan, lalu pilih Pengaturan konversi.

    3. Dari daftar atas, pilih Oracle, dan kemudian pilih Oracle - PostgreSQL. AWS SCTmenampilkan semua pengaturan yang tersedia untuk konversi Oracle ke PostgreSQL.

    4. Untuk Buat ID baris, lakukan salah satu hal berikut:

      • Pilih Hasilkan sebagai identitas untuk membuat kolom data numerik.

      • Pilih Hasilkan sebagai tipe domain karakter untuk membuat kolom data karakter.

    5. Memilih OK untuk menyimpan pengaturan dan menutup Pengaturan konversi kotak dialog.

    Mengkonversi Oracle SQL dinamis

    Oracle menyediakan dua cara untuk menerapkan SQL dinamis: menggunakan pernyataan EXECUTE IMMEDIATE atau memanggil prosedur dalam paket DBMS_SQL. Jika database Oracle sumber Anda menyertakan objek dengan SQL dinamis, gunakanAWS SCT untuk mengonversi pernyataan SQL dinamis Oracle ke PostgreSQL.

    Untuk mengkonversi Oracle dynamic SQL ke PostgreSQL

    1. BukaAWS SCT proyek Anda dengan Oracle sebagai sumbernya.

    2. Pilih objek database yang menggunakan SQL dinamis dalam tampilan pohon sumber Oracle.

    3. Membuka menu konteks (klik kanan) untuk objek, pilih Convert skema, dan setuju untuk mengganti objek jika ada. Screenshot berikut menunjukkan prosedur yang dikonversi di bawah prosedur Oracle dengan SQL dinamis.