Pelajari PostgreSQL: Mulakan dengan Pangkalan Data Percuma yang Lain

Pendedahan: Sokongan anda membantu mengekalkan laman web ini! Kami memperoleh bayaran rujukan untuk beberapa perkhidmatan yang kami cadangkan di halaman ini.


PostgreSQL (kadang-kadang hanya disebut Postgres) adalah sistem pengurusan pangkalan data hubungan sumber terbuka (ORDBMS). Tujuan komuniti pembangunan PostgreSQL adalah menjadikannya “pangkalan data sumber terbuka paling maju di dunia.” Ini menerapkan sebilangan besar standard SQL, tetapi juga menambahkan sejumlah fitur canggih yang tidak terdapat dalam sistem pangkalan data hubungan lain.

Sejarah Ringkas PostgreSQL

Pada tahun 1973, dua saintis komputer di UC Berkeley, Eugene Wong dan Michael Stonebraker, mula mengerjakan sistem pangkalan data yang mereka namakan Ingres (INteractive GRaphics REtreival System). Karya ini pada mulanya bertujuan untuk digunakan oleh ahli ekonomi Universiti, tetapi Stonebraker dan Wong memperluas projek ini untuk bekerja pada sistem pangkalan data relasional, yang diilhamkan oleh Sistem R IBM dan konsep-konsep dalam Bahasa Pertanyaan Berstruktur yang baru.

Pada tahun 1982, Stonebraker meninggalkan Berkeley untuk mengerjakan sistem pangkalan data hubungan proprietari, yang disebutnya POSTGRES (Post-Ingres). POSTGRES menggunakan banyak idea dari Ingres, tetapi bukan garisan pangkalan kodenya. Stonebraker bermaksud menambahkan sokongan eksplisit untuk jenis data dan hubungan ke dalam pangkalan data.

Prototaip pertama untuk sistem baru ditunjukkan pada tahun 1988, dan versi 1 dikeluarkan pada tahun 1989. Versi 2 muncul pada tahun berikutnya dan Versi 3 pada tahun berikutnya, setiap kali dengan peraturan pertanyaan yang ditulis semula. Menjelang tahun 1993, terdapat begitu banyak pengguna sehingga pasukan POSTGRES tidak dapat memenuhi permintaan sokongan. Pada tahun 1994, pasukan melancarkan Versi 4 dan menamatkan projek. Mereka melepaskan semua pekerjaan di bawah lesen terbuka (gaya MIT), yang membolehkan pemaju lain mengambil alih projek ini.

Pada tahun yang sama, dua pelajar UC Berkeley menggantikan bahasa pertanyaan POSTGRES dengan SQL dan mengeluarkan versi baru mereka (Postgres95) di web. Pada tahun 1996, Marc Fournier dari Hub.org menyediakan pelayan pembangunan dan Postgres menjadi projek pembangunan sumber terbuka. Ia dinamakan semula PostgreSQL (post-gres-cue-ell). Pembangunan berterusan sejak itu oleh komuniti sukarelawan dan pemaju yang dikenali sebagai The PostgreSQL Global Development Group.

Mengenai PostgreSQL

PostgreSQL melakukan semua perkara yang anda harapkan untuk dilakukan oleh sistem pangkalan data hubungan. Data disimpan dalam jadual yang dibuat pengguna, dengan setiap entri menjadi deretan jadual tertentu. Lajur di atas meja sesuai dengan pelbagai atribut. Jadual boleh saling berkaitan untuk membuat struktur data yang kompleks. Postgres, seperti kebanyakan RDBMS, menggunakan SQL untuk pertanyaan. Apa yang menarik PostgreSQL adalah jumlah ciri tambahan yang ditawarkannya.

Perkaitan Objek

PostgreSQL bukan hanya pangkalan data relasional, tetapi juga pangkalan data objek-hubungan. Ini bermaksud bahawa menyokong prinsip pengaturcaraan berorientasikan objek seperti pewarisan dan polimorfisme. Ciri-ciri ini adalah usaha untuk mengatasi beberapa kesulitan yang sering dihadapi ketika memetakan struktur data hubungan ke objek.

Jenis Data

PostgreSQL menyediakan sekumpulan jenis data yang diperluas. Semua RDBMS menyokong beberapa jenis jenis angka, titik terapung, rentetan, boolean dan tarikh. PostgreSQL juga menyediakan:

  • uuid, ID Unik Unik, yang penting untuk sistem pangkalan data yang diedarkan;
  • wang, jenis tetap-perpuluhan yang menghilangkan kesalahan pembundaran dan pengiraan yang terdapat dalam nombor titik terapung;
  • dikira, satu set pilihan statik;
  • jenis geometri: titik, kotak, segmen garis, garis, jalur, poligon, dan bulatan;
  • binari, serupa dengan objek gumpalan SQL;
  • alamat rangkaian, menurut beberapa protokol;
  • rentetan bit, rentetan binari panjang tetap yang boleh digunakan sebagai topeng bit;
  • vektor teks berguna untuk fungsi carian teks penuh;
  • jenis perwakilan data seperti XML, JSON, dan tatasusunan;
  • jenis komposit, yang mengumpulkan beberapa jenis lain bersama-sama;
  • jenis julat, termasuk julat berangka, julat tarikh, dan julat waktu;
  • jenis yang ditentukan pengguna.

Saiz dan Integriti Data

PostgreSQL dapat menangani sejumlah besar data. Data itu sendiri sangat besar – had ukuran baris adalah 1,6 TB, dan satu bidang dapat menyimpan 1 GB data.

Sistem ini juga mematuhi ACID (Atomicity, Consistency, Isolation and Durability), dengan integriti transaksi dan rujukan yang sangat kuat.

Jadual Maya

Apabila anda menjalankan pertanyaan SQL terhadap sekumpulan jadual pangkalan data, hasilnya adalah jadual lain. Meja Maya adalah ciri pangkalan data yang membolehkan anda membuat jadual hasil tersebut dan kemudian menjalankan pertanyaan tambahan terhadapnya. Ini memungkinkan untuk membuat pertanyaan yang lebih kompleks dan peluang untuk peningkatan prestasi membaca.

PostgreSQL menyokong beberapa ciri Jadual Maya. Dua yang unik untuk PostgreSQL adalah pandangan rekursi dan terwujud. Pengulangan membolehkan pertanyaan yang sama dijalankan pada set hasil yang telah dihasilkan. Ini dapat dilakukan berkali-kali sehingga semua hasil agregat yang mungkin dijumpai. Rekursi berguna untuk data berstruktur hierarki. Paparan yang terwujud membuat jadual maya yang berterusan (disimpan), yang dapat dikemas kini bila diperlukan (sekali sehari, semasa menulis). Untuk pertanyaan yang sering dijalankan dengan gabungan yang kompleks, ini dapat mempercepat prestasi.

Sumber PostgreSQL

PostgreSQL menjadikan dirinya sebagai “pangkalan data sumber terbuka paling maju di dunia,” yang mungkin benar. Ini bermaksud bahawa mengenai PostgreSQL, ada banyak yang perlu dipelajari. Berikut adalah sumber terbaik untuk pergi dari pemula Postgres ke pakar.

Dalam talian

Tempat pertama untuk memulakan adalah laman web PostgreSQL rasmi.

Tutorial

  • Tutorial Rasmi dari postgresql.org, mungkin perkara pertama yang harus anda baca;
  • Tutorial PostgreSQL, keseluruhan laman web yang dikhaskan untuk tutorial Postgres;
  • Postgres Guide, satu lagi laman web satu tujuan, dengan banyak tutorial mengenai aspek-aspek tertentu dalam menggunakan PostgreSQL.
  • PostgreSQL Tutrorial pengenalan yang sangat mudah dan mudah dari Tutorials Point;
  • Tutorial PostgreSQL satu lagi intro asas dari w3resource;
  • Pangkalan Data PostgreSQL dan Linux, tutorial khusus Linux (sangat berguna jika anda melakukan penyebaran web, kerana anda mungkin akan menggunakan Linux Hosting).

Tutorial Video

  • Panduan Permulaan untuk PostgreSQL, tutorial berasaskan video berbayar di Udemy;
  • Tutorial pangkalan data PostgreSQL Pemula 1 – Memasang dan Menyiapkan PostgreSQL;
  • Tutorial SQL 1: Memasang dan Menyiapkan PostgreSQL;
  • Fesyen Keras; PostgreSQL Mudah;
  • Postgres Tidak Diketahui.

Rujukan

  • Dokumentasi PostgreSQL, anda harus mengenali dokumen ini dengan baik; terdapat versi cetak enam jilid (pautan ke Jilid 1) jika anda lebih suka kertas;
  • PostgreSQL Wiki, sumber yang didorong oleh komuniti untuk semua dokumentasi yang tidak terdapat dalam dokumentasi rasmi – sumber maklumat praktikal yang tidak ternilai;
  • Lembaran Menipu PostgreSQL, sekiranya anda memerlukan peringatan SQL yang cepat;
  • Cheatsheet baris arahan PostgreSQL, sekiranya anda memerlukan peringatan cepat mengenai perintah psql PostgreSQL.

Alat

  • Katalog Perisian PostgreSQL, senarai beratus-ratus alat yang dikategorikan untuk Postgres;
  • Objek PostGIS, spatial dan Geografi untuk PostgreSQL;
  • pgAdmin, alat GUI desktop yang hampir diperlukan untuk pengurusan pangkalan data;
  • phpPgAdmin, GUI web untuk PostgreSQL, tersedia dari sebilangan syarikat web hosting;
  • Sebenarnya terdapat sebilangan besar alat pengurusan GUI untuk PostgreSQL;
  • Pakej postgresql-orm;

Pemacu dan Perpustakaan

  • Psycopg dan PyGreSQL untuk Python, dan django.contrib.postgres untuk Django;
  • Permata Pg untuk Ruby;
  • Sambungan PostgreSQL untuk PHP;
  • Node-postgres untuk Node.js;
  • JDBC untuk Java.

Pembelajaran Komuniti dan Berkelanjutan

  • Postgres Weekly, satu bulanan berita PostreSQL yang penting;
  • PGCon – Persidangan PostgreSQL untuk Pengguna dan Pembangun, perhimpunan tahunan rasmi pembangun PostgreSQL;
  • Planet Postgres, gabungan blog PostgreSQL yang penting;
  • Kumpulan Perjumpaan PostgreSQL tempatan;
  • Forum:
    • Forum Postgres Plus;
    • dBforums: PostgreSQL.

Buku

  • Belajar PostgreSQL, oleh Juba, Vannahme, dan Volkov;
  • PostgreSQL: Up and Running: Pengenalan Praktikal kepada Pangkalan Data Sumber Terbuka Lanjutan, oleh Obe dan Hsu;
  • PostgreSQL untuk Arkitek Data, oleh Jayadevan Maymala;
  • Memulakan Pangkalan Data dengan PostgreSQL: Dari Pemula hingga Profesional, oleh Stones dan Matthew;
  • Buku Masak Pentadbiran PostgreSQL 9, oleh Riggs, et al;
  • Panduan Pembangun PostgreSQL, oleh Ahmed, Fayyaz, dan Shahzad;
  • Pengaturcaraan Pelayan PostgreSQL, oleh Dar, et al;
  • Buku Masak Ketersediaan Tinggi PostgreSQL 9, oleh Shaun M Thomas;
  • Menyelesaikan masalah PostgreSQL, oleh Hans-Jurgen Schonig;
  • Keperluan Pentadbiran PostgreSQL, oleh Hans-Jurgen Schonig;
  • PostgreSQL, oleh Korry Douglas.

Prinsip Pangkalan Data SQL Umum dan Hubungan

Anda akan mendapat lebih banyak keuntungan dari PostgreSQL jika anda mempunyai pemahaman yang baik mengenai prinsip asas RDBMS, terutama pemodelan data (seni dan sains untuk mengetahui bagaimana menggambarkan maklumat sebagai data hubungan).

  • Permulaan Pemodelan Data Relasional, oleh Allen dan Terry;
  • Belajar SQL, oleh Alan Beaulieu;
  • Buku SQL Cook, oleh Anthony Molinaro;
  • SQL Antipatterns: Mengelakkan Perangkap Pengaturcaraan Pangkalan Data, oleh Bill Karwin.

Membandingkan Pangkalan Data

PostgreSQL adalah salah satu daripada beberapa pilihan untuk sistem pengurusan pangkalan data relasional (RDBMS). Alternatif utama untuk PostgreSQL adalah:

  • Oracle,
  • MySQL, dan MariaDB penggantinya;
  • Pelayan Microsoft SQL;
  • SQLite.

Sudah tentu, untuk kebanyakan projek, anda sebenarnya tidak mempunyai pilihan antara kedua-duanya. Oracle adalah sumber tertutup, aplikasi proprietari yang digunakan untuk perusahaan besar; jika itu bukan anda, anda tidak akan memerlukannya. MS SQL Server juga merupakan sumber tertutup, dan hanya merupakan kelebihan jika anda membangun dan menggunakan dalam lingkungan Windows. SQLite adalah pangkalan data yang bagus untuk banyak tujuan yang tidak konvensional, tetapi tidak sesuai untuk kebanyakan aplikasi berasaskan pangkalan data.

Jadi, bagaimana anda boleh memilih antara PostgreSQL dan MySQL? Berikut adalah beberapa sumber untuk membantu:

  • MySQL vs PostgreSQL, mungkin perbandingan paling terperinci dan tidak berat sebelah;
  • SQLite vs MySQL vs PostgreSQL: Perbandingan Sistem Pengurusan Pangkalan Data Relasional;
  • Mengapa Saya Memilih PostgreSQL Daripada MySQL / MariaDB;
  • Perbandingan Properti Sistem MariaDB vs MySQL vs PostgreSQL;
  • PostgreSQL Vs. MySQL.

Pangkalan Data NoSQL

Membandingkan Postgres ke MySQL akan meninggalkan kategori sistem pangkalan data yang berkembang pesat: pangkalan data tidak berkaitan, atau “NoSQL,”. Di sini perbandingannya bukan antara dua teknologi yang hampir serupa, tetapi antara cara pengendalian dan pengurusan data yang sama sekali berbeza.

Pangkalan data NoSQL yang paling popular (sejauh ini) adalah MongoDB. Pilihan lain yang agak popular adalah Cassandra, Couchbase, dan Redis.

Berikut adalah beberapa sumber untuk membantu anda memikirkan cara memutuskan antara PostgreSQL dan alternatif NoSQL:

  • SQL vs NoSQL KO. Postgres vs Mongo;
  • PostgreSQL vs NoSQL: Mengapa struktur penting (PDF);
  • Perbandingan Properti Sistem MongoDB vs PostgreSQL;
  • Bandingkan Tidak dapat dibandingkan: PostgreSQL vs MySQL vs MongoDB;
  • 9 Pangkalan Data dalam 45 Minit.

Menariknya, PostgreSQL baru-baru ini menambahkan beberapa ciri NoSQL, sementara MongoDB menggunakan PostgreSQL untuk beberapa alat analisisnya.

Adakah Saya Perlu Belajar PostgreSQL?

“Pembelajaran” PostgreSQL melibatkan (sekurang-kurangnya) dua perkara: prinsip pangkalan data hubungan umum (SQL, pemodelan data), dan pendekatan unik PostgreSQL terhadap perkara-perkara ini.

Untuk sebahagian besar ciri yang dibina berdasarkan sistem pangkalan data relasional, terdapat sedikit perbezaan dari sudut pandangan pemaju antara bekerja dengan PostgreSQL dan RDBMS lain seperti MySQL. Inti SQL ini penting untuk diketahui oleh kebanyakan pembangun web, dan akan melayani anda dengan baik untuk kebanyakan pekerjaan.

Adakah anda perlu mengetahui perkara-perkara khusus yang menjadikan PostgreSQL unik? Itu bergantung pada kemahiran lain yang sudah anda miliki, dan jenis sistem apa yang mungkin akan anda gunakan.

Secara umum, MySQL lebih disukai oleh pemaju PHP – ia adalah RDBMS lalai untuk WordPress, Joomla !, dan Drupal. Pembangun .NET dan lain-lain yang bekerja di pelayan Microsoft biasanya akan memilih MS SQL Server. Pemaju perusahaan besar kemungkinan besar perlu mengetahui Oracle.

Oleh itu, siapa sebenarnya yang memasuki PostgreSQL? Nampaknya ia adalah pangkalan data pilihan untuk sebahagian besar komuniti Ruby dan Python, terutama dengan Ruby on Rails dan Django. Pembangun Node.js sering menggunakan Mongo, tetapi apabila sebuah datastore hubungan diperlukan, biasanya PostgreSQL. Penyedia perkhidmatan awan cenderung lebih suka Postgres daripada MySQL, bahkan menyediakan penyebaran WordPress di atasnya.

Terima kasih kepada ORM dan abstraksi pangkalan data yang disediakan oleh kerangka kerja seperti Ruby on Rails, Django, dan Laravel, anda dapat menyelesaikan banyak perkara tanpa mengetahui PostgreSQL secara khusus, jadi anda mungkin ingin memberi tumpuan kepada bahasa lain terlebih dahulu. Tetapi jika anda sudah mengetahui beberapa bahasa pengaturcaraan, dan anda ingin menggali teknologi pangkalan data, PostgreSQL adalah tempat yang bagus untuk memulakan.

Bacaan dan Sumber Lanjut

Kami mempunyai lebih banyak panduan, tutorial, dan infografik yang berkaitan dengan pengekodan dan pengembangan:

  • Sumber SQL: sumber umum SQL kami yang sangat penting untuk semua pembangun pangkalan data hubungan.
  • Pengenalan kepada ADO.NET: pelajari semua mengenai sistem ini untuk menggunakan pangkalan data sama sekali dalam kerangka .NET.
  • Pengenalan Ruby on Rails: mulailah mempelajari salah satu platform pembangunan web yang paling popular.

Panduan Muktamad untuk Web Hosting

Sekiranya anda akan membuat aplikasi berdasarkan pangkalan data, anda perlu menghoskannya di suatu tempat. Lihat Panduan Muktamad untuk Web Hosting kami. Ini akan menjelaskan semua yang anda perlu ketahui untuk membuat pilihan yang tepat.

Panduan Muktamad untuk Web Hosting
Panduan Muktamad untuk Web Hosting

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map