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.
|