WN

WN (https://www.wn.se/forum/index.php)
-   Webbhotell (https://www.wn.se/forum/forumdisplay.php?f=13)
-   -   MongoDB hosting? (https://www.wn.se/forum/showthread.php?t=1052117)

jayzee 2012-02-08 20:46

Citat:

Ursprungligen postat av Adestro (Inlägg 20432152)
Vilka datamängder rör det sig om? Hur presterar MongoDB när databasen inte längre ryms i primärminnet?

Databasen ligger på ca. 3Gb vilket är ganska stort, servern har dock 48Gb RAM så några problem med att databasen inte ryms i minnet lär vi inte stöta på ett bra tag.

Vill man undvika problem som Foursquare tidigare stött på kan man förallokera fält, dvs. tror man att man kommer lägga till 14.000 entries i ett dokument skapar man 14.000 entries med 0 som värde. Oreilly's senaste "PHP & mongoDB" bok förklarar mer ingående hur man undviker sådana fallgropar, rekommenderas varmt.

Clarence 2012-02-09 14:41

Citat:

Ursprungligen postat av jayzee (Inlägg 20432145)
Nu pratar du i nattmössan Clarence :)
"Fördubbla" är att ta i ganska hårt när vi nu pratar några byte/objekt, sen så är priserna på diskarna på väg ner igen och utrymmet per disk ökar. För att vara helt ärlig har jag aldrig någonsin fyllt upp mina diskar på någon av mina servrar, tittar jag ligger användningen på max ca. 50% - så det är inget problem, iaf. för mig.

Ang. prestanda, vi bytte nyligen från Percona Server 5.5 till mongoDB i ett av större projekten och jag kan säga att prestandan är bra mycket bättre och att programmera OOP mot mongoDB är en dröm i jämförelse med PDO, mysqli & co. Dataintegriteten och stabiliteten har vi inte haft några som helst problem med och jag är väldigt positivt överraskad av atomiska operationerna

Jag har prestanda-testat ett par databaser som redan i MySQL har en dokument-lik struktur pga dess denormalisering och fått helt annorlunda resultat. Minnet räckte inte till varken med innodb eller mongodb då databasen är ca 60gb och med mongodb hamnade den väl över 100gb.

Sen var det svårt att utnyttja all CPU trots att svarstiderna steg rejält trots tillräckligt med minne för att bli CPU-bound. Sedan har QPS:en alltid legat ca 50% lägre. Största problemet är förmodligen att jag inte försökte sätta upp en instans per CPU core då det var tungt med writes och reads. Men då kommer man dit igen, mongodb ska vara lätt att skala. Men tungt med både write och read gör det svårt att skala vertikalt vilket nu för tiden är väldigt lätt att göra med innodb.

Angående data-integrtiteten finns det knappt möjligheter att upptäcka problemen. Dels det grundläggande att du helt saknar constraints utöver unika index. Men sedan att disk-skrivningen kanske inte sker alls och det saknas information om varför eftersom den inte kör någon integritetskontroll, journalling eller fsync - det finns ingen som helst skyddsmekanism som de klassika databas-systemen har överflöd av. Hell, ett elavbrott kan korrumpera din databas så att den inte ens går att reparera med lite otur, med tur förlorar du bara 100 random inserts i ditt kluster. Back to backup.

Jag vill inte säga att mongodb är ett dåligt val. Det finns dock väldigt många nackdelar som man bör vara medveten om - om man väljer det som en primär databas för ett större projekt.

jayzee 2012-02-09 14:58

Citat:

Ursprungligen postat av Clarence (Inlägg 20432239)
Angående data-integrtiteten finns det knappt möjligheter att upptäcka problemen. Dels det grundläggande att du helt saknar constraints utöver unika index. Men sedan att disk-skrivningen kanske inte sker alls och det saknas information om varför eftersom den inte kör någon integritetskontroll, journalling eller fsync - det finns ingen som helst skyddsmekanism som de klassika databas-systemen har överflöd av.

"MongoDB v1.7.5+ supports write-ahead journaling of operations to facilitate fast crash recovery and durability in the storage engine."
Källa: http://www.mongodb.org/display/DOCS/Journaling

Just saying...

abergman 2012-02-09 15:09

Citat:

Ursprungligen postat av Clarence (Inlägg 20432239)
Jag har prestanda-testat ett par databaser som redan i MySQL har en dokument-lik struktur pga dess denormalisering och fått helt annorlunda resultat. Minnet räckte inte till varken med innodb eller mongodb då databasen är ca 60gb och med mongodb hamnade den väl över 100gb.

Sen var det svårt att utnyttja all CPU trots att svarstiderna steg rejält trots tillräckligt med minne för att bli CPU-bound. Sedan har QPS:en alltid legat ca 50% lägre. Största problemet är förmodligen att jag inte försökte sätta upp en instans per CPU core då det var tungt med writes och reads. Men då kommer man dit igen, mongodb ska vara lätt att skala. Men tungt med både write och read gör det svårt att skala vertikalt vilket nu för tiden är väldigt lätt att göra med innodb.

Angående data-integrtiteten finns det knappt möjligheter att upptäcka problemen. Dels det grundläggande att du helt saknar constraints utöver unika index. Men sedan att disk-skrivningen kanske inte sker alls och det saknas information om varför eftersom den inte kör någon integritetskontroll, journalling eller fsync - det finns ingen som helst skyddsmekanism som de klassika databas-systemen har överflöd av. Hell, ett elavbrott kan korrumpera din databas så att den inte ens går att reparera med lite otur, med tur förlorar du bara 100 random inserts i ditt kluster. Back to backup.

Jag vill inte säga att mongodb är ett dåligt val. Det finns dock väldigt många nackdelar som man bör vara medveten om - om man väljer det som en primär databas för ett större projekt.

Konstigt att du hade så stora problem med MySQL.. om det är tungt med read/write, vad körde/kör du för disksystem?

Clarence 2012-02-09 15:24

Citat:

Ursprungligen postat av abergman (Inlägg 20432247)
Konstigt att du hade så stora problem med MySQL.. om det är tungt med read/write, vad körde/kör du för disksystem?

Tvärtom, det var ett test för att se hur mongodb skulle prestera.

Clarence 2012-02-09 15:27

Citat:

Ursprungligen postat av jayzee (Inlägg 20432244)
"MongoDB v1.7.5+ supports write-ahead journaling of operations to facilitate fast crash recovery and durability in the storage engine."
Källa: http://www.mongodb.org/display/DOCS/Journaling

Just saying...

Riktigt positivt att de gör något åt sina brister, hade jag inte sett. Fast det förändrar inget för mig förräns den kommit med i stable och testats ordentligt under något år.

jayzee 2012-02-09 15:42

Senaste stable är 2.0.2, ändringen tillkom i 1.7.5 för mer än ett år sedan, nur får du fasen i mig vakna Calarence.

Clarence 2012-02-09 16:19

Ajdå, ligger hemma med feber och förkylning och läste förmodligen fel årtal. Men dina spydiga delar av kommentarerna får du gärna undvika, detta är andra gången i en tråd pga meningsskiljaktigheter och ett misstag.

jayzee 2012-02-09 17:22

Citat:

Ursprungligen postat av Clarence (Inlägg 20432259)
Ajdå, ligger hemma med feber och förkylning och läste förmodligen fel årtal. Men dina spydiga delar av kommentarerna får du gärna undvika, detta är andra gången i en tråd pga meningsskiljaktigheter och ett misstag.

Not to worry, är lite cynisk av naturen - inget illa menat ;)


Alla tider är GMT +2. Klockan är nu 05:34.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson