Enkele interessante verschillen tussen PostgreSQL en MySQL. Welke database u moet kiezen: MySQL versus PostgreSQL

    Open source software die voldoet aan de SQL-standaard - PostgreSQL is gratis en open source software. Dit DBMS is een zeer krachtig systeem.

    Grote community - er is een vrij grote community waarin je gemakkelijk antwoorden op je vragen kunt vinden

    Een groot aantal toevoegingen - ondanks enorme hoeveelheid ingebouwde functies, er zijn veel add-ons waarmee u gegevens voor dit DBMS kunt ontwikkelen en beheren.

    Uitbreidingen - het is mogelijk om de functionaliteit uit te breiden door uw procedures op te slaan.

    Objectiviteit - PostrgreSQL is niet alleen relationele DBMS, maar ook objectgeoriënteerd met ondersteuning voor overerving en nog veel meer

Nadelen van PostgreSql

    Productiviteit - op eenvoudige handelingen PostgreSQL-lezingen kunnen de server aanzienlijk vertragen en langzamer zijn dan zijn concurrenten, zoals MySQL

    Populariteit - dit DBMS kan van nature niet bogen op populariteit, hoewel er een vrij grote gemeenschap is.

    Hosting - vanwege bovenstaande factoren is het soms behoorlijk moeilijk om hosting te vinden die dit DBMS ondersteunt.

Wanneer PostgreSql gebruiken?

    Gegevensintegriteit - Wanneer betrouwbaarheid en gegevensintegriteit uw vereisten zijn, zal PostgreSQL dat misschien wel doen beste keuze

    Complexe gebruikersprocedures - als u gebruikersprocedures moet gebruiken, heeft PostgreSQL ingebouwde ondersteuning hiervoor

    Integratie - als u in de toekomst van plan bent over te stappen naar betaalde DBMS's, bijvoorbeeld Oracle, dan zal dit met PostgreSQL vrij eenvoudig zijn vergeleken met andere gratis DBMS's

    Complexe datastructuur - Vergeleken met andere open source DBMS'en biedt PostgreSQL meer mogelijkheden om complexe datastructuren te creëren zonder dat dit ten koste gaat van bepaalde aspecten.

Wanneer u PostgreSql niet gebruikt

    Snelheid - als snel lezen de enige factor voor u is, moet u andere DBMS'en eens nader bekijken

    Eenvoudige installatie - Als u geen data-integriteit, ACID-compliance of complexe datastructuren nodig heeft, dan PostgreSQL instellen kan echt op je zenuwen werken

    Replicatie - als u niet bereid bent tijd en energie te besteden aan iets dat MySQL gemakkelijk zou kunnen doen, dan is het waarschijnlijk gemakkelijker om erbij te blijven.

NoSQL databasebeheersysteem

Door hun ontwerp impliceren NoSQL-databases en DBMS'en geen interne verbindingen. Ze zijn niet gebaseerd op één enkel model en elke database gebruikt verschillende modellen, afhankelijk van het doel ervan.

Het zijn er behoorlijk veel diverse modellen en functionele systemen voor NoSQL-databases:

    Sleutel/waarde-opslag - Redis, MemcacheDB, etc. (slaat meestal gegevens op in het geheugen)

    Gedistribueerde opslag (kolomgeoriënteerd) - Cassandra, HBase, enz. (ontworpen voor zeer grote hoeveelheden gegevens).

    Documentgeoriënteerde DBMS - MongoDB, Couchbase, enz. (ontworpen voor het opslaan van hiërarchische datastructuren - documenten)

    Op grafieken gebaseerde databases - OrientDB, Neo4J, enz.

Laten we ze eens bekijken om beter te begrijpen hoe al deze typen DBMS verschillen.

Databases zijn logisch gemodelleerde opslagplaatsen van elk type gegevens. Elke database die niet schemaloos is, volgt een model dat een specifieke gegevensverwerkingsstructuur definieert. DBMS zijn applicaties (of bibliotheken) die databases beheren verschillende vormen, maten en soorten.

Om het DBMS beter te begrijpen, ga naar.

Relationele databasebeheersystemen

Relationele systemen implementeren relationeel model werken met data, waarbij alle opgeslagen informatie als een set wordt gedefinieerd gerelateerde records en attributen in de tabel.

DBMS van dit type gebruiken structuren (tabellen) om gegevens op te slaan en ermee te werken. Elke kolom (attribuut) bevat zijn eigen type informatie. Elk record in de database dat unieke sleutel, wordt doorgegeven aan een tabelrij en de attributen ervan worden weergegeven in de tabelkolommen.

Relaties en gegevenstypen

Relaties kunnen worden gedefinieerd als wiskundige sets die sets attributen bevatten die opgeslagen informatie vertegenwoordigen.

Elk element dat een record vormt, moet voldoen een bepaald type gegevens (geheel getal, datum, enz.). Verschillende RDBMS'en gebruiken verschillende soorten gegevens die niet altijd uitwisselbaar zijn.

Dit soort beperkingen zijn gebruikelijk relationele databases gegevens. In feite vormen ze de essentie van de relatie.

Populaire RDBMS

In dit artikel zullen we het hebben over de 3 populairste RDBMS’en:

  • SQLite: zeer krachtige ingebedde RDBMS.
  • MySQL: het meest populaire en meest gebruikte RDBMS.
  • PostgreSQL: het meest geavanceerde en flexibele RDBMS.

SQLiet

SQLite is een geweldige bibliotheek die is ingebouwd in de applicatie die er gebruik van maakt. Omdat het een bestandsdatabase is, biedt het een uitstekende set hulpmiddelen voor eenvoudigere verwerking (vergeleken met serverdatabases) van elk type gegevens.

Wanneer een applicatie SQLite gebruikt, gebeurt de communicatie via functieaanroepen en directe aanroepen naar bestanden die gegevens bevatten (bijvoorbeeld databases). SQLite-gegevens), in plaats van een soort interface, die de snelheid en productiviteit van de bewerkingen verhoogt.

Ondersteunde gegevenstypen

  • NUL: NULL-waarde.
  • GEHEEL GETAL: een geheel getal met teken opgeslagen in 1, 2, 3, 4, 6 of 8 bytes.
  • ECHT: Een getal met drijvende komma opgeslagen in IEEE-indeling van 8 bytes.
  • TEKST: tekstreeks met UTF-8-, UTF-16BE- of UTF-16LE-codering.
  • BLOB: een soort gegevens die precies in dezelfde vorm zijn opgeslagen als waarin ze zijn ontvangen.

Opmerking: om meer te krijgen gedetailleerde informatie bekijk de documentatie.

Voordelen

  • Bestand: de gehele database wordt in één bestand opgeslagen, waardoor deze eenvoudig te verplaatsen is.
  • Gestandaardiseerd: SQLite maakt gebruik van SQL; Sommige functies zijn weggelaten (RIGHT OUTER JOIN of FOR EACH STATEMENT), maar er zijn enkele nieuwe.
  • Geweldig voor ontwikkeling en zelfs testen: Tijdens de ontwikkelingsfase hebben de meeste een schaalbare oplossing nodig. SQLite kan met zijn rijke functieset meer dan voldoende functionaliteit bieden en tegelijkertijd eenvoudig genoeg zijn om met een enkel bestand en de bijbehorende C-bibliotheek te werken.

Gebreken

  • Gebrek aan gebruikerscontrole: geavanceerde databases bieden gebruikers de mogelijkheid om relaties in tabellen te beheren op basis van bevoegdheden, maar SQLite heeft zo'n functie niet.
  • Onvermogen om verder te configureren: Nogmaals, SQLite kan niet productiever worden gemaakt door met de instellingen te rommelen - zo is het nu eenmaal ontworpen.

Wanneer SQLite gebruiken?

  • Ingebouwde toepassingen: alle geporteerde applicaties die niet zijn ontworpen om te schalen - bijvoorbeeld lokale applicaties voor één gebruiker, mobiele applicaties of spelletjes.
  • Schijftoegangssysteem: In de meeste gevallen kunnen applicaties die regelmatig directe lees-/schrijfbewerkingen naar schijf uitvoeren, naar SQLite worden gemigreerd om de prestaties te verbeteren.
  • Testen: Perfect voor de meeste toepassingen, waarvan een deel van de functionaliteit het testen van bedrijfslogica is.

Wanneer mag u SQLite niet gebruiken?

  • Toepassingen voor meerdere gebruikers: Als u aan een applicatie werkt waarin meerdere mensen tegelijkertijd toegang hebben tot de database, is het beter om een ​​volledig uitgerust RDBMS te kiezen, bijvoorbeeld MySQL.
  • Applicaties die grote hoeveelheden gegevens registreren: Een van de beperkingen van SQLite zijn schrijfbewerkingen. Met dit RDBMS kan slechts één schrijfbewerking tegelijk worden uitgevoerd.

MySQL

MySQL is de populairste van alle grote serverdatabases. Het is heel gemakkelijk te begrijpen en u kunt er online informatie over vinden groot aantal informatie. Hoewel MySQL niet probeert SQL-standaarden volledig te implementeren, biedt het wel veel functionaliteit. Applicaties communiceren met de database via een daemonproces.

Ondersteunde gegevenstypen

  • KLEININT: heel klein geheel.
  • KLEININT: klein geheel.
  • MEDIUMINT: middelgroot geheel.
  • INT of INTEGER: het geheel is van normale grootte.
  • BIGINT: groot geheel.
  • VLOT: ondertekend drijvende-kommagetal met enkele precisie.
  • DUBBELE, DUBBELE PRECISIE, ECHT: ondertekend drijvende-kommagetal met dubbele precisie.
  • DECIMAAL, NUMERIEK: ondertekend drijvende-kommagetal.
  • DATUM: datum.
  • DATUMTIJD: combinatie van datum en tijd.
  • TIJDSTEMPEL: tijdstempel.
  • TIJD: tijd.
  • JAAR: jaar in het formaat JJ of JJJJ.
  • TEKEN: lijn vaste maat, rechts opgevuld met spaties tot de maximale lengte.
  • VARCHAR: string met variabele lengte.
  • KLEINE BLOB, KLEINE TEKST: Een BLOB- of TEXT-kolom met een maximale lengte van 255 (2^8 - 1) tekens.
  • BLOB, TEKST: Een BLOB- of TEXT-kolom met een maximale lengte van 65535 (2^16 - 1) tekens.
  • MEDIUMBLOB, MEDIUMTEKST: Een BLOB- of TEXT-kolom met een maximale lengte van 16777215 (2^24 - 1) tekens.
  • LONGBLOB, LONGTEKST: Een BLOB- of TEXT-kolom met een maximale lengte van 4294967295 (2^32 - 1) tekens.
  • ENUM: overdracht.
  • SET: menigten.

Voordelen

  • Eenvoud: MySQL is eenvoudig te installeren. Er zijn er veel hulpmiddelen van derden, inclusief visuele, waardoor het gemakkelijker wordt om met de database aan de slag te gaan.
  • Veel functies: MySQL ondersteunt de meeste SQL-functionaliteit.
  • Veiligheid: MySQL heeft veel ingebouwde beveiligingsfuncties.
  • Kracht en schaalbaarheid: MySQL kan er echt mee werken grote volumes data, en is zeer geschikt voor schaalbare toepassingen.
  • Snelheid: Door bepaalde standaarden te verwaarlozen, kan MySQL efficiënter werken, en soms bezuinigen.

Gebreken

  • Bekende beperkingen: MySQL kan per definitie niet alles en heeft bepaalde functionaliteitsbeperkingen.
  • Betrouwbaarheidsproblemen: sommige bewerkingen worden minder betrouwbaar geïmplementeerd dan in andere RDBMS's.
  • Stagnatie in ontwikkeling: Hoewel MySQL een open-sourceproduct is, gaat het werken eraan erg traag. Er zijn echter verschillende databases die volledig op MySQL zijn gebaseerd (bijvoorbeeld MariaDB). Je kunt trouwens meer leren over de relatie tussen MariaDB en MySQL uit ons gesprek met de maker van beide RDBMS's, James Bottomley.

Wanneer moet u MySQL gebruiken?

  • Gedistribueerde operaties: Als u meer functionaliteit nodig heeft dan SQLite kan bieden, moet u MySQL gebruiken.
  • Websites en applicaties: De meeste webbronnen kunnen ondanks de beperkingen goed werken met MySQL. Deze tool is zeer flexibel en gemakkelijk te gebruiken, wat op de lange termijn gunstig is.
  • Maatwerkoplossingen: Als u aan een heel specifiek product werkt, past MySQL zich aan uw behoeften aan met een breed scala aan instellingen en bedieningsmodi.

Wanneer mag u MySQL niet gebruiken?

  • SQL-compatibiliteit: Omdat MySQL niet probeert SQL-standaarden volledig te implementeren, is het niet volledig SQL-compatibel. Hierdoor kunnen er problemen optreden bij de integratie met andere RDBMS'en.
  • Concurrentievermogen: Hoewel MySQL leesbewerkingen goed afhandelt, kunnen gelijktijdige lees- en schrijfbewerkingen problemen veroorzaken.
  • Gebrek aan functies: Afhankelijk van de keuze van de MySQL-engine kunnen sommige functies ontbreken.

PostgreSQL

PostgreSQL is het meest geavanceerde RDBMS, dat zich primair richt op volledige naleving van standaarden en uitbreidbaarheid. PostgreSQL, of Postgres, probeert volledig te voldoen aan ANSI/ISO SQL-standaarden.

PostgreSQL verschilt van andere RDBMS's doordat het objectgeoriënteerde functionaliteit heeft, waaronder volledige ondersteuning ACID-concept (atomiciteit, consistentie, isolatie, duurzaamheid).

Omdat het gebaseerd is op krachtige technologie, blinkt Postgres uit in het tegelijkertijd verwerken van meerdere opdrachten. Concurrency-ondersteuning wordt geïmplementeerd met behulp van MVCC (Multiversion Concurrency Control), wat ook ACID-compatibiliteit garandeert.

Hoewel dit RDBMS niet zo populair is als MySQL, zijn er veel tools en bibliotheken van derden om het werken met PostgreSQL eenvoudiger te maken.

Ondersteunde gegevenstypen

  • grootint: ondertekend geheel getal van 8 bytes.
  • grootserie: een automatisch verhoogd 8-bits geheel getal.
  • beetje [(n)]: bitstring met vaste lengte.
  • beetje variërend [(n)]: bitstring met variabele lengte.
  • booleaans: Booleaanse waarde.
  • doos: rechthoek op een vlak.
  • bytea: binaire gegevens.
  • karakter variërend [(n)]: een tekenreeks met een vaste lengte.
  • karakter [(n)]:
  • cider: IPv4- of IPv6-netwerkadres.
  • cirkel: cirkel in een vlak.
  • datum: kalender datum.
  • dubbele precisie: drijvende-kommagetal met dubbele precisie.
  • inet: IPv4- of IPv6-hostadres.
  • geheel getal: ondertekend geheel getal van 4 bytes.
  • interval [(p)]: tijdsperiode.
  • lijn: een oneindige rechte lijn in een vlak.
  • lseg: een segment op een vlak.
  • macaddr: MAC-adres.
  • geld: monetaire waarde.
  • pad: geometrisch pad op een vlak.
  • punt: geometrisch punt op een vlak.
  • veelhoek: veelhoek op een vlak.
  • echt: drijvende-kommagetal met enkele precisie.
  • kleineint: ondertekend geheel getal van 2 bytes.
  • serieel: een automatisch verhoogd 4-bits geheel getal.
  • tekst: tekenreeks met variabele lengte.
  • tijd [(p)] : tijdstip van de dag (geen tijdzone).
  • tijd [(p)] met tijdzone: tijdstip van de dag (met tijdzone).
  • tijdstempel [(p)] : datum en tijd (geen tijdzone).
  • tijdstempel [(p)] met tijdzone: datum en tijd (met tijdzone).
  • vragen: tekstzoekopdracht.
  • tsvector: tekstzoekdocument.
  • txid_snapshot: momentopname gebruikerstransactie-ID.
  • uuid: unieke identificatie.
  • xml: XML-gegevens.

Voordelen

  • Volledige SQL-compatibiliteit.
  • Gemeenschap: PostgreSQL wordt 24/7 ondersteund door een ervaren community.
  • Ondersteuning van derden: Ondanks de zeer geavanceerde functies wordt PostgreSQL in veel RDBMS-gerelateerde tools gebruikt.
  • Uitbreidbaarheid: PostgreSQL kan programmatisch worden uitgebreid met opgeslagen procedures.
  • Objectoriëntatie: PostgreSQL is niet alleen een relationeel, maar ook een objectgeoriënteerd DBMS.

Gebreken

  • Prestatie: Bij eenvoudige leesbewerkingen kan PostgreSQL inferieur zijn aan zijn concurrenten.
  • Populariteit: Vanwege de complexiteit is de tool niet erg populair.
  • Hosting: Door bovenstaande factoren is het lastig om een ​​geschikte aanbieder te vinden.

Wanneer PostgreSQL gebruiken?

  • Gegevensintegriteit: Als de prioriteit ligt bij de betrouwbaarheid en integriteit van gegevens, is PostgreSQL de beste keuze.
  • Complexe procedures: als uw database complexe procedures moet uitvoeren, moet u PostgreSQL kiezen vanwege de uitbreidbaarheid ervan.
  • Integratie: Als je in de toekomst de hele database naar een andere oplossing moet verhuizen, zal PostgreSQL de minste problemen hebben.

Wanneer mag u PostgreSQL niet gebruiken?

  • Snelheid: Als u alleen snelle leesbewerkingen nodig heeft, moet u PostgreSQL niet gebruiken.
  • Eenvoudige situaties: tenzij je meer betrouwbaarheid, ACID-ondersteuning en dergelijke nodig hebt, is het gebruik van PostgreSQL vliegen met een kanon.

Een uitstekende vraag voor een holivar. Maar dat zullen we niet doen. Gepubliceerd door de auteur waarvan beide DBMS vanuit het perspectief worden bekeken zorgvuldige houding data en komt tot de conclusie dat PostgreSQL geschikt is voor serieuze projecten, en MySQL helemaal geen optie.

Een voorbeeld van de superioriteit van PosgreSQL ten opzichte van MySQL

Laten we bijvoorbeeld een tabel maken en het type numeriek(4, 2) instellen voor een van de velden: vier cijfers voor het opslaan van het volledige getal en twee cijfers achter de komma. En dan proberen we een nummer in te voegen dat niet overeenkomt met de beschrijving. Dus wat denk je? Geen probleem!

IN handmatige modus we zien (mogelijk) een waarschuwing (1 waarschuwing), proberen te raden waar het over gaat en herstellen de vorige waarde. Maar de waarschuwing is gemakkelijk te missen. Als u een applicatie schrijft die zich bezighoudt met het opslaan van financiële gegevens, zullen dergelijke fouten zeer kostbaar zijn.

PostgreSQL zorgt voor uw gegevens en gedraagt ​​zich serieuzer:

INVOEGEN IN GEGEVENSWAARDEN (1, 1234.5678); FOUT: NUMERIEKE VELD overflow DETAIL: EEN VELD MET PRECISIE 4 , schaal 2 moet worden afgerond NAAR een absolute WAARDE kleiner dan 10 ^2 .

Ze laten ons eenvoudigweg geen fouten maken. Bovendien zal het bericht details bevatten: welke beperking we precies hebben overtreden en welke maximale grootte nummer gegeven Dat is het.

En nu een beetje mystiek. Weet je nog hoe we hebben beschreven dat het id-veld voor MySQL niet NULL mag zijn? Laten we proberen:

Verrassend genoeg, ondanks het expliciete verbod (NIET NULL), MySQL-DBMS stond mij toe het veld bij te werken en de waarde ervan op 0 te zetten, hoewel we helemaal niets over nul zeiden. 0 en NULL zijn totaal verschillende entiteiten. 0 is een getal. NULL is een speciale indicator die ons vertelt dat we niet weten welk getal in dit veld staat. En het hoeft niet 0 te zijn. Het DBMS heeft dus opnieuw een willekeurige waarde aan onze database toegewezen. Als uw toepassing dezelfde fout vertoont, zorgt MySQL ervoor dat deze fout lange tijd onopgemerkt blijft. Hoe zit het met PostgreSQL? Alles is hier duidelijk.

Er wordt mij vaak gevraagd: "Wat heeft uw voorkeur, PostgreSQL of MySQL?" Mijn antwoord is altijd hetzelfde: “Het is een kwestie van voorkeur.” Je kunt dezelfde vraag aan veel andere ontwikkelaars stellen, en hun antwoorden zullen heel verschillend zijn.

Hier is een vergelijking van databases MySQL-gegevens en PostgreSQL, aangeboden om mijn mening niet te uiten, maar om anderen te helpen deze over te nemen eigen oplossing. Beide systemen hebben iets te bieden op het gebied van stabiliteit, flexibiliteit en prestaties. MySQL heeft functies die PostgreSQL mist, en omgekeerd.

Mijn voornaamste doel is om u te helpen beslissen welke van deze twee databases in uw database zal worden gebruikt eigen ontwikkelingen. Voordat ik deze databases ga vergelijken, moet ik duidelijk maken dat ik me aan de standaardinstallaties zal houden. MySQL heeft er veel verschillende soorten tabellen die transacties en externe sleutels ondersteunen.

Sommige configuraties van deze tabeltypen zijn echter behoorlijk complex. Niet veel webontwikkelaars of programmeurs gebruiken extra soorten tabellen die in MySQL bestaan. Laten we nu deze twee producten vergelijken.

Lijst met functies en mogelijkheden

Tabel A biedt een vergelijking van de meest gebruikte functies en mogelijkheden van de MySQL- en PostgreSQL-databases.
Tabel A is geen uitputtende lijst van functies, gegevenstypen of prestatieproblemen met betrekking tot deze twee databasesystemen; het geeft slechts een idee van wat elk te bieden heeft.

Uit de tabel zien we dat PostgreSQL biedt volledige functies en mogelijkheden van traditionele databaseapplicaties, terwijl MySQL zich richt op een snellere uitvoering van webapplicaties. De ontwikkeling van de open source-industrie zal dit met zich meebrengen meer functies en mogelijkheden in volgende versies van beide databases.

Tabel A: Vergelijking van MySQL en PostgreSQL

EigenaardighedenPostgreSQLMySQL
ANSI SQL-compatibelDicht bij ANSI SQL-standaardVolgt enkele ANSI SQL-standaarden
WerkingssnelheidLangzamerSneller
Geneste selectiesJaNee
TransactiesJaJa, maar het tabeltype moet InnoDB zijn
Database-reactieJaJa
Ondersteuning voor buitenlandse sleutelsJaNee
InzendingenJaNee
Opgeslagen proceduresJaNee
TriggersJaNee
VakbondenJaNee
Volledige joinsJaNee
IntegriteitsbegrenzersJaNee
Windows-ondersteuningJaJa
Stofzuigen (reinigen)JaNee
ODBCJaJa
JDBCJaJa
Verschillende soorten tafelsNeeJa

Wanneer moet u MySQL gebruiken?

Waarom zou je MySQL verkiezen boven PostgreSQL? Ten eerste moeten we de applicatiebehoeften beschouwen in termen van databasevereisten. Als ik een webapplicatie wil maken en het belangrijkste voor mij zijn prestaties en snelheid, dan is MySQL de beste keuze omdat het snel is en ontworpen om goed samen te werken met webservers.

Als ik echter een andere applicatie wil maken waarvoor transacties en externe sleutels nodig zijn, is PostgreSQL een betere keuze. Hoewel MySQL niet volledig compatibel is met de ANSI SQL-standaard, moet ik vermelden dat hoewel PostgreSQL dichter bij de ANSI SQL-standaard ligt, MySQL dichter bij de ODBC-standaard ligt.

Laat me enkele voordelen van het gebruik van MySQL beschrijven:

  • MySQL is relatief sneller dan PostgreSQL.
  • Databaseontwerp en -planning zijn iets eenvoudiger.
  • Met behulp van de basis kunt u een eenvoudige website maken.
  • Antwoorden op MySQL-query's zijn goed getest.
  • Het is niet nodig om reinigingsmethoden (vacuüm) te gebruiken.

Wanneer PostgreSQL gebruiken?

Niet veel webontwikkelaars gebruiken PostgreSQL-werk, omdat ze dat geloven extra functies en mogelijkheden verminderen de productiviteit en snelheid. PostgreSQL heeft echter veel voordelen ten opzichte van MySQL. Enkele van de functies die vaak worden gebruikt, zijn bijvoorbeeld externe sleutels, triggers en weergaven. Hiermee kunt u de complexiteit van de database voor de toepassing verbergen, waardoor u geen complexe SQL-opdrachten hoeft te maken.

Er zijn veel ontwikkelaars die de voorkeur geven aan rijk functionaliteit PostgreSQL SQL-opdrachten. Een van de meest opvallende verschillen tussen MySQL en PostgreSQL is het onvermogen om geneste subquery's (selecties) te maken in MySQL. PostgreSQL voldoet aan veel ANSI SQL-standaarden, waardoor complexe SQL-opdrachten kunnen worden gemaakt.

Verschillende redenen om PostgreSQL te gebruiken:

  • Complex databaseontwerp.
  • Overstappen van Oracle, Sybase of MSSQL.
  • Complexe regels.
  • Gebruik procedurele talen op de server.
  • Transacties
  • Gebruik van opgeslagen procedures.
  • Gebruik van geografische gegevens.
  • R-Trees (bijvoorbeeld met behulp van indexen).

Conclusie

U zult, na alle voor- en nadelen afgewogen te hebben, moeten kiezen welke database de “perfecte” is voor uw toepassing of site. Of het kan gebeuren dat u beide bases wilt gebruiken (er zijn dergelijke gevallen). Mijn conclusie is dat de ene database niet noodzakelijkerwijs beter is dan de andere, en dat elk ervan zijn eigen specifieke niche in de wereld van open source databases inneemt. broncode.