Gå til innhold

Anbefalte innlegg

Videoannonse
Annonse

PostgreSQL er uten tvil en mye bedre database enn MySQL, men som Manfred sa så er altså PostgreSQL mer komplisert enn MySQL, så hvis du har planer om å kun sette opp en mindre database så er nok MySQL en bra nok løsning.

 

Forresten så bruker Nettby.no MySQL og denne portalen har slitt en del de siste dagene (har vel rett og slett blitt for populært). Jeg vil tro at med 20K++ brukere som er logget på samtidig så er nok ikke MySQL det beste valget.

Lenke til kommentar
PostgreSQL er uten tvil en mye bedre database enn MySQL, men som Manfred sa så er altså PostgreSQL mer komplisert enn MySQL, så hvis du har planer om å kun sette opp en mindre database så er nok MySQL en bra nok løsning.

 

Forresten så bruker Nettby.no MySQL og denne portalen har slitt en del de siste dagene (har vel rett og slett blitt for populært). Jeg vil tro at med 20K++ brukere som er logget på samtidig så er nok ikke MySQL det beste valget.

8292344[/snapback]

Rett tweaket kan MySQL fint klare veldig mye trafikk, men _alt_ avhenger av oppset av databasestruktur, databasemotorer, konfigurasjon, og ikke minst tilgjengelig maskinkraft. Vi har flere ganger møtt på "spennende" ytelsesproblemer med MySQL som vi kjører på alle våre databaseløsninger, også detet forumet. Bla dette forumet kjører kun på MyISAM/HEAP tabeller, men jeg tror det vil bli gjort om på det snart da jeg har merket en del flaskehalser knyttet til MyISAM som begynner å dukke opp.

 

Men når man begynner å snakke med 20K brukere pålogget med en gang har jo og koden som kjører det mye å si, ting som at det ikke kjøres en f.eks spørringer for hver eneste sidevisning er jo et must da men det er vel utviklerene ganske klar over. :)

 

Når man kommer til store løsninger som Nettby/oss begynner nok Postgre å ta forbi MySQL ytelsesmessig, selv om MySQL fungerer Ok. Men er det snakk om en vanlig side som ligger på shared hosting er det ikke vits med noe mer avansert en MySQL.

Lenke til kommentar

Etter hva jeg har fått med meg, så har hw.no forumet måttet restore databasen fra backup noen ganger pga kræsjer av diverse slag...

 

Som det blir kommentert her:

http://dev.mysql.com/books/mysqlpress/mysq...orial/ch10.html

 

...så er jo ikke MyISAM ACID compliant, for at MySQL skal være ACID compliant må man bruke InnoDB.

 

I linken ovenfor er det forklart hva ACID compliant betyr, men kort forklart, i denne sammenheng, vil det si at du ikke vil få korrupte data i databasen din hvis noe feiler midtveis i en oppdatering (maskinen slår seg av midt i en oppdatering, noe som kan skje med hvem som helst).

 

Hvis dataene som er lagret er verdt å spare på, kjør InnoDB eller en annen ACID compliant database, som f.eks PostgreSql.

 

Hastighetsmessig så har det nok mer å si hvor godt applikasjonen er optimalisert enn hvilken database-engine den kjører på som Ueland nevner.

Lenke til kommentar

blackbrrd: Vi har aldri måttet gjenopprette en database grunnet et rent databasekrasj, de gangene MyISAM tabellene har havarert har det gått fint å bruke "repair table" på de. At maskinvaren sviker vil skje overalt og har null med databasestruktur å gjøre :)

 

(Ulempen med InnoDB er at man ikke kan kopiere databasefilene i backupsammenheng, noe som fungerer greit med MyISAM, men samtidig har InnoDB flere fordeler som gjør at det går opp i opp.)

Endret av Ueland
Lenke til kommentar

Ueland: da har jeg nok misforstått, det hørtes ut som om det tok timesvis å få restore en backup, men det var kanskje repair table som tok det istedet? Eller kanskje jeg bare husker helt feil her ;)

 

Postgresql fungerer ihvertfall slik at evt hardware failure ikke får noe mer betydning enn at man må bytte evt defekt del og starte maskinen igjen. Ikkenoe repair table e.l. nødvendig. Ufullstendige transaksjoner blir effektivt sett rollbacket.

 

Ueland: hvordan går det å kopiere databasefilene i backupsammenheng samtidig som updates/insertes blir kjørt mot MyISAM samtidig? Vil du ikke da potensielt kunne ha halvferdige "transaksjoner" i backupen din?

 

InnoDB bruker nok copy statements til å ta backup noe som gjør at alt som blir gjort etter at backupen er startet ikke har noe å si for hva som er med i backupen, akkurat som man forventer av en database som støtter transaksjoner.

Endret av blackbrrd
Lenke til kommentar

Det er så utroleg mange grunner til å ikkje bruke MySQL. Det er ein oppskrytt database som har surfa på bølgen altfor lenge. Eg skal nevne nokre grunner her:

 

Klient bibloteket til MySQL er GPL, ergo alle programmer du skriver mot MySQL blir automatisk GPL. Det finnes alternative bibloteker for nokre språk, men dei kan ikkje akkurat anbefales for produksjon.

 

Connections i PostgreSQL er mykje betre bygd opp enn MySQL's tråder. Ein ny connection i PostgreSQL fører til at ein ny prosess blir starta. Dermed blir det beskytta i minnet. MySQL derimot starter ein tråd men blir ikkje beskytta i minnet. Når det kjem til ein database så er dette farleg då korrupt data kan forekomme! Det mange argumenterer mot her er at tråder er raskare å starte enn prosesser, men for å løyse det så lager ein connection pools.

 

PostgreSQL har meir funksjonalitet og det er like tungt å koma i gong med PostgreSQL som med MySQL. Men når du kanskje ein dag begynner å mangle funksjonalitet som feks pl/sql så er det greit å ikkje måtte bytte database.

 

PostgreSQL surrer ikkje med datoane som MySQL, feks så er "0000-00-00" eller "9999-99-99" gyldig i MySQL.

 

Og det er masse meir. PostgreSQL har eit solidt community bak seg og er ein ekte fri communityutvikla database. Ikkje minst har den ein veldig fri lisens...BSD.

 

MySQL sin styrke er SELECT/Read data for webbruk. Men her meiner eg faktisk at SQLite gjer ein mykje betre jobb. Rett og slett fordi den er så liten at den kan bli integrert i din webapplikasjon sånn at det blir ingen TCP/IP overhead og du trenger ingen database host.

Lenke til kommentar

Nå er jeg på litt tynn is, er en stund siden jeg brukte noe annet en MS SQL Server, men jeg mener at MySQL ikke implementerer hele SQL-standarden og heller ikke tar sikte på å være en "fullverdig" database, men mer et produkt rettet mot appliksjoner som ikke har strenge krav til transaksjonsstøtte osv, så om du har ambisjoner om å bli en relasjonsdatabaseekspert kan det være verdt å titte på noe som er mer avansert, dvs PostreSQL, men skal du lage noen enkle greier/leke deg litt, holder garantert MySQL i massevis og vel så det.

Lenke til kommentar
Nå er jeg på litt tynn is, er en stund siden jeg brukte noe annet en MS SQL Server, men jeg mener at MySQL ikke implementerer hele SQL-standarden og heller ikke tar sikte på å være en "fullverdig" database, men mer et produkt rettet mot appliksjoner som ikke har strenge krav til transaksjonsstøtte osv, så om du har ambisjoner om å bli en relasjonsdatabaseekspert kan det være verdt å titte på noe som er mer avansert, dvs PostreSQL, men skal du lage noen enkle greier/leke deg litt, holder garantert MySQL i massevis og vel så det.

8321160[/snapback]

Ganske tynn is ja :) MySQL tar sikte på å bli en fullverdig database også, og såvidt meg bekjent er det INGEN databaser som implementerer "hele SQL-standarden" (Hvilken sulle det være foresten? Vi har i hvert fall SQL89, SQL92, SQL:1999 og SQL:2003 å velge blant). Den databasen jeg føler ligger tettest opp til SQL-standardene er forøvrig IBM DB2, kanskje ikke så rart siden en del av funksjonaliteten som har kommet inn i SQL Standardene faktisk kommer fra DB2.

 

Men, når vi nå er inne på databaser, la meg gjenta meg selv: Det finnes en rekke gode gratis databaseservere, deriblant Oracle XE, Microsoft SQL Server Express og IBM DB2 Express. Funksjonalitetsmessig føler jeg at samtlige av disse løper i sirkel rundt MySQL, men for all del, det er funksjonalitet som er implementert i MySQL også som man finner i få (om noen) andre databaseservere. Dessverre er ingen av disse tilgjengelige for trådstarter.

 

Personlig ville jeg i de fleste tilfeller gått for PostgreSQL (gitt de to valgmulighetene), men for løsninger som krever ekstrem ytelse på enkle uthentinger av data ville jeg nok sett nærmere på MySQL

Endret av roac
Lenke til kommentar

Som gammel Oracle-mann synes jeg MySQL er en vits av en databasemotor. Men kanskje det er galt å forlange for mye av en database lansert under GPL? Det blir vel som å sammenligne en delfin med en atomubåt.

 

Personlig liker jeg PostgreSQL mye bedre enn MySQL, fordi PostgreSQL har diverse features jeg er vant til fra Oracle, som ikke MySQL har. (Selv om det i versjon 5 har begynt å ramle inn støtte for disse også.)

 

Men for all del, velg MySQL, da det er lettere å komme i gang, har et større community enn PostGreSQL, og det er laget mange flere løsninger som benytter MySQL.

 

Werner

Lenke til kommentar

Kan ikke annet enn å si meg enig. PostgreSQL er vesentlig mer rubust enn MySQL. Men for all del, MySQL har også sine bruksområder. Det jeg finner spesielt betenkelig er at Høgskoler og tilsvarende institusjoner burker MySQL (eller sågar Access) for å gi opplæring i databaser. Jeg kan ikke se noen annen grunn til dette enn at foreleserern ikke vet bedre...

Lenke til kommentar
  • 2 uker senere...
Nå er jeg på litt tynn is, er en stund siden jeg brukte noe annet en MS SQL Server, men jeg mener at MySQL ikke implementerer hele SQL-standarden og heller ikke tar sikte på å være en "fullverdig" database, men mer et produkt rettet mot appliksjoner som ikke har strenge krav til transaksjonsstøtte osv, så om du har ambisjoner om å bli en relasjonsdatabaseekspert kan det være verdt å titte på noe som er mer avansert, dvs PostreSQL, men skal du lage noen enkle greier/leke deg litt, holder garantert MySQL i massevis og vel så det.

8321160[/snapback]

Ganske tynn is ja :) MySQL tar sikte på å bli en fullverdig database også, og såvidt meg bekjent er det INGEN databaser som implementerer "hele SQL-standarden" (Hvilken sulle det være foresten? Vi har i hvert fall SQL89, SQL92, SQL:1999 og SQL:2003 å velge blant).

Godt mulig _planen_ er at mysql skal bli en ordentlig db-server, men per i dag er det vel ingen tvil om at de ligger milevis unna det som finnes av standarder, selv etter at du har endret alt av defaults for å få den over i strict mode.

 

Den databasen jeg føler ligger tettest opp til SQL-standardene er forøvrig IBM DB2, kanskje ikke så rart siden en del av funksjonaliteten som har kommet inn i SQL Standardene faktisk kommer fra DB2.

 

Men, når vi nå er inne på databaser, la meg gjenta meg selv: Det finnes en rekke gode gratis databaseservere, deriblant Oracle XE, Microsoft SQL Server Express og IBM DB2 Express. Funksjonalitetsmessig føler jeg at samtlige av disse løper i sirkel rundt MySQL, men for all del, det er funksjonalitet som er implementert i MySQL også som man finner i få (om noen) andre databaseservere. Dessverre er ingen av disse tilgjengelige for trådstarter.

PostgreSQL tar deg mye lenger enn disse gratisversjonene.

 

Jeg kjenner til flere selskaper som har byttet til postgres fra sql server, og tipper at 80-90% av verdens oracle/db2 -installasjoner hadde kjørt glatt på pg.

 

Men dersom det er sannsynlig at man vil trenge oracle eller db2 etter hvert, så er det utvilsomt enklere å oppgradere gratisversjonen enn å bytte RDBMS.

 

Personlig ville jeg i de fleste tilfeller gått for PostgreSQL (gitt de to valgmulighetene), men for løsninger som krever ekstrem ytelse på enkle uthentinger av data ville jeg nok sett nærmere på MySQL

8323844[/snapback]

Tilbøylig til å si meg enig med siddis her; finnes nok områder der mysql er ok, men du har som regel et bedre alternativ.

Lenke til kommentar
Det kommer litt an på hvor mye erfaring du har med jobbing mot databaser også. PostgreSQL er litt mer komplisert enn mysql, som er mye lettere å sette opp, konfigurere og jobbe med.

Jasså? Skjønner ikke hvor folk tar det fra, jeg mener postgres er enklere å sette seg inn i..?

 

Edit: dårlig språk..

Endret av Frank2004
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...