Uzziniet PostgreSQL: sāciet darbu ar citu bezmaksas datu bāzi

Atklāšana: Jūsu atbalsts palīdz vietnei darboties! Mēs nopelnām nodošanas maksu par dažiem pakalpojumiem, kurus mēs iesakām šajā lapā.


PostgreSQL (dažreiz to sauc tikai par Postgres) ir atvērtā koda objektu-relāciju datu bāzes pārvaldības sistēma (ORDBMS). PostgreSQL attīstības kopienas mērķis ir padarīt to par “vismodernāko atvērtā koda datu bāzi”. Tas ievieš lielāko daļu SQL standarta, bet arī pievieno vairākas uzlabotas funkcijas, kas nav atrodamas citās relāciju datu bāzu sistēmās.

Īsa PostgreSQL vēsture

1973. gadā divi UC Berkeley datorzinātnieki Eugene Wong un Michael Stonebraker sāka strādāt pie datu bāzes sistēmas, kuru viņi sauca par Ingres (INteractive GRaphics REtreival System). Darbu sākotnēji bija paredzēts izmantot universitātes ekonomistu vajadzībām, bet Stounbrakers un Wong paplašināja projektu, lai strādātu pie relāciju datu bāzes sistēmas, kuru iedvesmoja IBM’s System R un jaunās strukturētās vaicājumu valodas koncepcijas..

1982. gadā Stonebraker atstāja Bērkliju, lai strādātu pie patentētas relāciju datu bāzes sistēmas, kuru viņš sauca par POSTGRES (Post-Ingres). POSTGRES izmantoja daudzas Ingres idejas, taču tā nebija tās kodoldaļas priekšzīme. Stonebraker bija iecerējis datu bāzei pievienot skaidru atbalstu datu tipiem un attiecībām.

Pirmais jaunās sistēmas prototips tika demonstrēts 1988. gadā, un 1. versijas izlaišana iznāca 1989. gadā. 2. versija nāca nākamajā gadā, bet 3. versija – nākamgad, katru reizi ar pārrakstītu vaicājumu noteikumiem. Līdz 1993. gadam bija tik daudz lietotāju, ka POSTGRES komanda nevarēja sekot līdzi atbalsta pieprasījumiem. 1994. gadā komanda izlaida 4. versiju un projektu pabeidza. Viņi izlaida visu darbu ar atvērtu (MIT stila) licenci, ļaujot citiem izstrādātājiem pārņemt projektu.

Tajā pašā gadā divi UC Berkeley studenti aizstāja POSTGRES vaicājumu valodu ar SQL un tīmeklī izlaida jauno versiju (Postgres95). 1996. gadā Marc Fournier no Hub.org nodrošināja attīstības serveri, un Postgres kļuva par atvērtā pirmkoda attīstības projektu. Tas tika pārdēvēts par PostgreSQL (post-gres-cue-ell). Kopš tā laika attīstību ir turpinājusi plaša brīvprātīgo un izstrādātāju kopiena, kas pazīstama kā The PostgreSQL globālās attīstības grupa.

Par PostgreSQL

PostgreSQL veic visas lietas, kuras jūs varētu gaidīt no relāciju datu bāzes sistēmas. Dati tiek glabāti lietotāju izveidotās tabulās, un katrs ieraksts ir noteiktas tabulas rinda. Kolonnas uz tabulas atbilst dažādiem atribūtiem. Tabulas var būt savstarpēji saistītas, lai izveidotu sarežģītas datu struktūras. Postgres, tāpat kā vairums RDBMS, vaicājumiem izmanto SQL. PostgreSQL padara interesantu tā piedāvāto papildu funkciju skaits.

Objekta relācija

PostgreSQL nav tikai relāciju datu bāze, tā ir objektu-relāciju datu bāze. Tas nozīmē, ka tiek atbalstīti uz objektu orientētas programmēšanas principi, piemēram, mantojums un polimorfisms. Šīs funkcijas ir mēģinājums pievērsties dažām grūtībām, ar kurām bieži sastopas, kartējot relāciju datu struktūras objektiem.

Datu veidi

PostgreSQL nodrošina paplašinātu datu tipu kopu. Visi RDBMS atbalsta vairākas ciparu, peldošā komata, virknes, Būla un datuma veidu variācijas. PostgreSQL nodrošina arī:

  • uuid, universāli unikāli ID, kas ir nepieciešami izplatītām datu bāzu sistēmām;
  • monetārs – fiksēts decimālais tips, kas novērš noapaļošanas un aprēķina kļūdas, kas atrastas peldošā komata skaitļos;
  • uzskaitīts, statisks iespēju kopums;
  • ģeometriskie tipi: punkts, lodziņš, līnijas segments, līnija, ceļš, daudzstūris un aplis;
  • binārs, līdzīgs SQL blob objektam;
  • tīkla adreses, saskaņā ar vairākiem protokoliem;
  • bitu virknes, fiksēta garuma binārās virknes, kuras var izmantot kā bitu maskas;
  • teksta vektori, kas noder pilna teksta meklēšanas funkcijām;
  • datu reprezentācijas tipi, piemēram, XML, JSON un masīvi;
  • salikti tipi, kas sagrupē vairākus citus tipus;
  • diapazona tipi, ieskaitot skaitliskos diapazonus, datumu diapazonus un laika diapazonus;
  • lietotāja definēti tipi.

Datu lielums un integritāte

PostgreSQL var apstrādāt milzīgu datu daudzumu. Paši dati var būt milzīgi – rindas lieluma ierobežojums ir 1,6 TB, un vienā laukā var ietilpt 1 GB datu.

Sistēma ir arī ACID (atomu, konsekvences, izolācijas un izturības) saderīga, ar ļoti spēcīgu darījumu un atsauces integritāti.

Virtuālie galdi

Palaižot SQL vaicājumu pret datu bāzes tabulu kopu, rezultāts ir vēl viena tabula. Virtuālās tabulas ir datu bāzes funkcija, kas ļauj jums izveidot šīs rezultātu tabulas un pēc tam pret tām palaist papildu vaicājumus. Tas ļauj sarežģītākai vaicāšanai un lasīšanas veiktspējas uzlabojumu iespējām.

PostgreSQL atbalsta vairākas virtuālās tabulas funkcijas. Divi, kas raksturīgi tikai PostgreSQL, ir rekursijas un materializētie skati. Rekursija ļauj to pašu vaicājumu palaist uz rezultātu kopu, kuru tas jau ir izveidojis. To var izdarīt vairākas reizes, līdz tiek atrasti visi iespējamie apkopotie rezultāti. Rekursija ir noderīga hierarhiski strukturētiem datiem. Realizētie skati rada noturīgas (glabātas) virtuālās tabulas, kuras var atjaunināt pēc nepieciešamības (vienu reizi dienā, rakstot). Bieži izpildītiem vaicājumiem ar sarežģītu pievienošanos tas var ievērojami paātrināt veiktspēju.

PostgreSQL resursi

PostgreSQL sevi dēvē par “vismodernāko atvērtā koda datu bāzi”, kas, iespējams, ir taisnība. Tas nozīmē, ka, runājot par PostgreSQL, ir daudz ko mācīties. Šeit ir vislabākie resursi pārejai no Postgres iesācēja līdz ekspertam.

Tiešsaistē

Pirmā vieta, kur sākt, ir oficiālā PostgreSQL vietne.

Pamācības

  • Oficiālā apmācība no postgresql.org, iespējams, pirmā lieta, kas jums jālasa;
  • Apmācība PostgreSQL, visa vietne, kas veltīta Postgres pamācībām;
  • Postgres Guide, vēl viena viena mērķa vietne, ar virkni konsultāciju par īpašiem PostgreSQL izmantošanas aspektiem.
  • PostgreSQL Tutrorial ļoti vienkāršs un saprotams ievads no konsultāciju punkta;
  • PostgreSQL apmācība – vēl viens pamata ievads no w3resource;
  • PostgreSQL datu bāze un Linux, Linux specifiska apmācība (īpaši noderīga, ja veicat tīmekļa izvietošanu, jo jūs, iespējams, izmantosit Linux mitināšanu).

Video konsultācijas

  • Iesācēja ceļvedis PostgreSQL, kas ir maksas video balstīta apmācība Udemy;
  • Iesācējiem PostgreSQL datu bāze 1. apmācība – PostgreSQL instalēšana un iestatīšana;
  • SQL 1. apmācība: PostgreSQL instalēšana un iestatīšana;
  • Mode ir cieta; PostgreSQL ir viegli;
  • Postgres Demystified.

Atsauce

  • PostgreSQL dokumentācija, jums vajadzētu labi iepazīties ar šo dokumentu; ja vēlaties papīru, ir sešu sējumu drukas versija (saite uz 1. sējumu);
  • PostgreSQL Wiki, sabiedrības virzīts avots visai dokumentācijai, kuras nav oficiālajā dokumentācijā – nenovērtējams praktiskas informācijas avots;
  • PostgreSQL apkrāpšanas lapa, ja jums ir nepieciešams ātrs SQL atgādinājums;
  • Komandrindas PostgreSQL cheatsheet, ja jums ir nepieciešams ātrs atgādinājums par PostgreSQL psql komandām.

Rīki

  • PostgreSQL programmatūras katalogs, simtiem Postgres rīku kategorizēts saraksts;
  • PostGIS, telpiskie un ģeogrāfiskie objekti PostgreSQL;
  • pgAdmin, gandrīz neaizstājams darbvirsmas GUI rīks datu bāzes pārvaldībai;
  • phpPgAdmin, Web GUI PostgreSQL, pieejams no vairākiem tīmekļa mitināšanas uzņēmumiem;
  • PostgreSQL faktiski ir liels skaits GUI pārvaldības rīku;
  • Postgresql-orm pakotne;

Draiveri un bibliotēkas

  • Psycopg un PyGreSQL Python un django.contrib.postgres Django;
  • Pg dārgakmens Rubīnam;
  • PostgreSQL paplašinājums PHP;
  • Node-postgres vietnei Node.js;
  • JDBC Java.

Sabiedrība un notiekošās mācības

  • Postgres Weekly, regulāru svarīgu PostreSQL ziņu apkopojums;
  • PGCon – PostgreSQL konference lietotājiem un izstrādātājiem, oficiāla ikgadēja PostgreSQL izstrādātāju sanāksme;
  • Planet Postgres, svarīgu PostgreSQL emuāru apkopojums;
  • Vietējā PostgreSQL Meetups grupa;
  • Forumi:
    • Postgres Plus forums;
    • dBforums: PostgreSQL.

Grāmatas

  • Mācības PostgreSQL, autori Džuba, Vannahme un Volkovs;
  • PostgreSQL: izveidošana un darbība: praktisks ievads uzlabotajā atvērtā pirmkoda datu bāzē, Obe un Hsu;
  • PostgreSQL datu arhitektiem, autore Jayadevan Maymala;
  • Datu bāzes izveidošana ar PostgreSQL: No iesācējiem līdz profesionāļiem, autori Stones un Metjū;
  • PostgreSQL 9 administrēšanas pavārgrāmata, Autors: Riggs, et al;
  • PostgreSQL izstrādātāja rokasgrāmata, autori Ahmeds, Fayyaz un Shahzad;
  • PostgreSQL servera programmēšana, autori Dar, et al;
  • PostgreSQL 9 augstas pieejamības pavārgrāmata, autors Šauns M Tomass;
  • Traucējummeklēšana PostgreSQL, autors Hans-Jurgen Schonig;
  • PostgreSQL administrēšanas pamati, autors: Hans-Jurgen Schonig;
  • PostgreSQL, autors Korijs Douglass.

Vispārējie SQL un relāciju datu bāzes principi

Jūs iegūsit daudz vairāk no PostgreSQL, ja jums ir laba izpratne par RDBMS pamatprincipiem, jo ​​īpaši ar datu modelēšanu (māksla un zinātne izdomāt, kā attēlot informāciju kā relācijas datus).

  • Sākot relāciju datu modelēšanu, autori Allens un Terijs;
  • Mācīšanās SQL, autore Alan Beaulieu;
  • Anthony Molinaro, SQL pavārgrāmata;
  • SQL antipatterns: izvairīšanās no datu bāzu programmēšanas kļūmēm, autors Bils Karvins.

Datu bāzu salīdzināšana

PostgreSQL ir viena no vairākām relāciju datu bāzes pārvaldības sistēmu (RDBMS) iespējām. Galvenās alternatīvas PostgreSQL ir:

  • Orākuls,
  • MySQL un tā aizvietojošā rezerves MariaDB;
  • Microsoft SQL Server;
  • SQLite.

Protams, lielākajā daļā projektu jums nav izvēles starp šiem projektiem. Oracle ir slēgta avota patentēta lietojumprogramma, ko izmanto lieliem uzņēmumiem; ja tas nav jūs, jums tas nebūs vajadzīgs. MS SQL Server ir arī slēgts avots, un tā ir priekšrocība tikai tad, ja veidojat un izvietojat Windows vidē. SQLite ir lieliska datu bāze daudziem netradicionāliem mērķiem, taču tā nav labi piemērota lielākajai daļai datu bāzu balstītu lietojumprogrammu.

Tātad, kā jūs varat izvēlēties starp PostgreSQL un MySQL? Šeit ir daži palīdzības avoti:

  • MySQL vs PostgreSQL, iespējams, visdetalizētākais un objektīvākais pieejamais salīdzinājums;
  • SQLite vs MySQL vs PostgreSQL: Relāciju datu bāzu pārvaldības sistēmu salīdzinājums;
  • Kāpēc es izvēlos PostgreSQL, nevis MySQL / MariaDB;
  • Sistēmas īpašību salīdzinājums MariaDB vs MySQL vs PostgreSQL;
  • PostgreSQL Vs. MySQL.

NoSQL datu bāzes

Salīdzinot Postgres ar MySQL, tiek izslēgta strauji augoša datu bāzu sistēmu kategorija: nerelatīvās jeb “NoSQL” datu bāzes. Šeit salīdzinājums nav veikts starp divām salīdzinoši līdzīgām tehnoloģijām, bet gan starp pilnīgi atšķirīgiem datu apstrādes un pārvaldības veidiem.

Vispopulārākā (līdz šim) NoSQL datu bāze ir MongoDB. Citas salīdzinoši populārās izvēles ir Cassandra, Couchbase un Redis.

Šeit ir daži resursi, kas palīdzēs jums padomāt, izvēloties PostgreSQL un NoSQL alternatīvu:

  • SQL vs NoSQL KO. Postgres vs Mongo;
  • PostgreSQL vs NoSQL: Kāpēc struktūra ir svarīga (PDF);
  • Sistēmas īpašību salīdzinājums MongoDB vs PostgreSQL;
  • Salīdziniet nesalīdzināmi: PostgreSQL vs MySQL vs MongoDB;
  • 9 datu bāzes 45 minūtēs.

Interesanti, ka PostgreSQL nesen ir pievienojis dažas NoSQL funkcijas, savukārt MongoDB dažos no saviem analītikas rīkiem izmanto PostgreSQL..

Vai man jāapgūst PostgreSQL?

PostgreSQL “mācīšanās” ietver (vismaz) divas lietas: vispārējos relāciju datu bāzes principus (SQL, datu modelēšana) un PostgreSQL unikālo pieeju šīm lietām..

Lielākajai daļai funkciju, kas balstītas uz relāciju datu bāzu sistēmām, no izstrādātāja viedokļa nav lielas atšķirības starp darbu ar PostgreSQL un citu RDBMS, piemēram, MySQL. Šis SQL kodols ir svarīgi zināt lielākajai daļai tīmekļa izstrādātāju, un tas labi kalpos lielākajai daļai darbu.

Vai jums jāzina īpašās lietas, kas padara PostgreSQL unikālu? Tas ir atkarīgs no tā, kādas citas prasmes jums jau ir, un kāda veida sistēmā jūs strādājat.

Kopumā MySQL dod priekšroka PHP izstrādātājiem – tā ir WordPress, Joomla! Un Drupal noklusējuma RDBMS. .NET izstrādātāji un citi, kas strādā Microsoft serveros, parasti dod priekšroku MS SQL Server. Lieliem uzņēmumiem izstrādātājiem, visticamāk, būs jāzina Oracle.

Kas tad īsti ir PostgreSQL? Šķiet, ka tā ir vēlamā datu bāze lielākajai daļai Ruby un Python kopienu, it īpaši Ruby on Rails un Django. Node.js izstrādātāji bieži izmanto Mongo, bet, kad tiek pieprasīta relāciju datu krātuve, tā parasti ir PostgreSQL. Mākonis pakalpojumu sniedzēji mēdz dot priekšroku Postgres, nevis MySQL, pat nodrošinot WordPress izvietošanu.

Pateicoties ORM un datu bāzes abstrakcijai, ko nodrošina tādi ietvari kā Ruby on Rails, Django un Laravel, jūs varat paveikt diezgan daudz, nezinot īpaši PostgreSQL, tāpēc jūs, iespējams, vispirms vēlaties koncentrēties uz citām valodām. Bet, ja jūs jau esat iedomājies par dažām programmēšanas valodām un vēlaties iedziļināties datu bāzes tehnoloģijā, PostgreSQL ir lieliska vieta, kur sākt.

Turpmākie lasījumi un resursi

Mums ir vairāk ceļvežu, mācību materiālu un infografiku, kas saistīti ar kodēšanu un attīstību:

  • SQL resursi: mūsu vispārīgais SQL resurss, kas ir kritisks visiem relāciju datu bāzu izstrādātājiem.
  • Ievads ADO.NET: uzziniet visu par šo sistēmu jebkuras datu bāzes izmantošanai .NET ietvarā.
  • Ievads vietnē Ruby on Rails: sāciet apgūt vienu no populārākajām tīmekļa attīstības platformām.

Galīgais Web mitināšanas ceļvedis

Ja jūs veidojat uz datu bāzēm balstītas lietojumprogrammas, jums tās vajadzēs kaut kur mitināt. Iepazīstieties ar mūsu galīgo tīmekļa mitināšanas rokasgrāmatu. Tas izskaidros visu, kas jums jāzina, lai izdarītu apzinātu izvēli.

Galīgais Web mitināšanas ceļvedis
Galīgais Web mitināšanas ceļvedis

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