Citat:
Ursprungligen postat av Gimbo
Just nu ligger vi på en windows testserver med stöd för php och mysql databas, sedan gör vi enkla sql queries till databasen. Då vi går i produktion kommer vi att ha 3 servrar 1 webfront och 2 klustrade servrar med mySQL i.
Funderar på att köra memcache och sedan för att öka prestandan än mer gå över till NoSQL.
@ITisGood hur skulle en nosql query se ut i php koden om man skall skriva till en mySQL databas, vad gäller memcache (värt att notera har ingen erfarenhet av varken det ena eller andra) fyller det någon funktion om datat man selectar alltid är annorlunda? eller faller dess funktion då? för antar att det är det som selectas cachas och sedan hämtar man det från memcachen istället för databasen? I vårt fall är det konstant nytt data som man hämtar från DBn kan hända att det är samma i vissa fall då vi alltid requestar databasen för att se om någon ny info har tillkommit DBn, detta för att få en realtid känsla på det hela.
|
"Gå över till nosql" är ett otroligt luddigt begrepp. Om du inte ens vet varför du gör det mer än att det nog ska vara snabbare enligt vad du hört så kommer det skapa fler problem än det löser för dig. NoSQL är ett samlingsnamn för alla nya databas-system som inte är relationsdatabaser i stort sett. Förvirrande nog kan man använda SQL mot vissa av dom. Det finns inget som säger att du får bättre prestanda genom dom, det beror helt på vilken NOSQL-databas du använder och hur du strukturerar din data. Många av de vanligaste är t ex key-value-stores, vilket ofta gör att koden och tabellstrukturen (många NOSQL-databaser har inget som kallas tabeller, but that's beyond the point) måste skrivas om en hel del. Ett råd är att aldrig använda en databas du inte känner till väl innan du vet att den löser ett problem mycket bättre än vad du redan använder.
Använder du memcache är poängen att du INTE ska kolla av databasen varje request. Istället dubbellagrar du informationen du behöver kolla av, ofta denormaliserat i memcache och normaliserat i databasen. På så sätt går du vid varje read request och kollar om datan du behöver finns i memcache (man brukar sätta en time to live på data i memcache så det finns risk att den har expirerat) och går bara till databasen när den inte finns. Fördelen är att både svarstider och last på servern sjunker rejält. Det finns i princip inga sajter med mycket trafik som inte har denna funktionalitet på några delar av sajten (inte alltid memcache, men någon typ av minnescache). Allt annat är att kasta pengar i sjön och skapa problem i onödan.