sql >> Databasteknik >  >> RDS >> Mysql

MySql vs NoSql - Kommentarer och meddelanden om sociala nätverksdatastruktur och implementering

Frågan är extremt bred, men jag ska försöka besvara den efter bästa förmåga.

Jag tycker i allmänhet inte om att svara på sådana här frågor eftersom det verkar som om du gjorde väldigt lite research innan du kom till SO. Det verkar också som om du är förvirrad med applikations- och databasroller. Jag börjar åtminstone med lite material/idéer och låter dig bestämma på egen hand.

Det finns ingen "silverkula" för en backend-design, speciellt när det kommer till databaser. SQL-databaser är generellt sett mycket bra på de flesta databasfunktioner, och med rätta; det är en teknik som är väldigt mogen och har stått sig genom tiderna av en anledning. De flesta NOSQL-lösningar är specialiserade för särskilda ändamål. Till exempel:om du loggade mycket information kanske du vill titta på Cassandra. Om du hade att göra med mycket relationsdata skulle du vilja använda något som Neo4j (eller PostgreSQL/MySQL för RMDBS). Om du hade att göra med mycket realtidsdata kanske du vill titta på Redis.

Det är dumt att fråga NOSQL vs SQL av några anledningar:

NOSQL är ett dåligt begrepp i allmänhet. Och det betyder inte "Ingen SQL". Det betyder "Inte bara SQL". Tyvärr har termen kapslat in även den mest polära motsatsen till databaser.

Det är bara du som känner till din applikations fulla funktion. Även om jag visste grunderna i vad du ville uppnå, kunde jag fortfarande inte ge dig ett definitivt svar. Det kan ingen annan heller. Det är mycket subjektivt, och återigen, bara DU vet EXAKT vad din ansökan ska göra.

Den största anledningen:Det är 2014. Varför en databas? För tio år sedan hade "DatabaseX vs DatabaseY" varit en praktisk fråga. Nu kan du konfigurera många applikationsramverk för att tillförlitligt använda flera databaser på några minuter. Berättelsens moral:Använd varje databas för dess speciella syfte. Mer om polyglot persistence här .

När det gäller Facebook:en fem minuters Google-sökning avslöjar vilka backend-teknologier de har använt tidigare, och det är inte så svårt att undersöka några av deras nuvarande backend-lösningar. Du är inte Facebook. Du behöver inte förbereda dig för en miljard användare just nu. Börja med enkla, beprövade tekniker. Detta låter dig skala din applikation på ett naturligt sätt. När dessa tekniker börjar bli en flaskhals, oroa dig för skalbarhet.

Jag hoppas att detta hjälpte dig med att starta din kodningsresa, men använd Stack Overflow som en sista utväg om du har problem med koden. Inte ett omedelbart val.




  1. Uppdatera och välj i en fråga

  2. MySQL infoga från ett textområde till flera rader

  3. Kan inte kompilera GI 12.1.0.2 och segmenteringsfel

  4. Django + MySQL - Admin Site - Lägg till användare - Operational Error - SAVEPOINT existerar inte