webForumDet fria alternativet

Journaling istället för databas, var hittar jag info?

Databaser & SQL

6 svar · 564 visningar · startad av erciz

Medlem sedan maj 20011 826 inlägg
Frågan#1

Jag har läst lite om företag som använder journaling, dvs skriva binärt till disk istället för att använda databaser som är långsammare. Finns det något bra framework/bibliotek för sånt? Någon som vet var jag kan hitta mer info om detta? Tycker det låter som en intressant teknik, även om det inte ersätter databaser på nåt sätt.

Medlem sedan juni 20014 290 inlägg
#2

Tror du blandar ihop saker. :)

Journaling är att man för en logg/journal äver vad som görs så att man kan återskapa vad som hänt om något går fel.

Detta kan man göra mot databaser, filer, filsystem ....

Medlem sedan juni 20014 290 inlägg
#3

/edit: dubbelpost, sorry :)

Medlem sedan juli 200012 978 inlägg
#4

Filsystemet Ext4 använder sig av det Kolla där.

Medlem sedan maj 20011 826 inlägg
#5

GunnarD skrev:

Tror du blandar ihop saker. :)

Journaling är att man för en logg/journal äver vad som görs så att man kan återskapa vad som hänt om något går fel.

Detta kan man göra mot databaser, filer, filsystem ....

Nja, kan hända att jag blandar ihop ord.

Ja, det är i princip den journaling jag är ute efter. T.ex. Har du en väldigt välbesökt webbshop så kan du välja att ta emot alla beställningar och skriva var och en binärt till disk, innan du klumpvis hämtar in dom i databasen eller liknande scenario, för att vinna prestanda. Jag vet att både svenskaspel och bwin kör med sån teknik. Vore intressant att veta mer om det och om det finns några färdiga APIer eller liknande för det.

Medlem sedan maj 20011 826 inlägg
#6

Lasp skrev:

Filsystemet Ext4 använder sig av det Kolla där.

Tror tyvärr inte det är riktigt samma sak. I filsystemet är det väl för att kunna återställa saker, om jag inte minns rätt. Men det jag menar är för att kunna hantera skrivningar snabbare än en databas, som jag har förstått det.

Medlem sedan juni 20014 290 inlägg
#7

erciz skrev:

Ja, det är i princip den journaling jag är ute efter. T.ex. Har du en väldigt välbesökt webbshop så kan du välja att ta emot alla beställningar och skriva var och en binärt till disk, innan du klumpvis hämtar in dom i databasen eller liknande scenario, för att vinna prestanda. Jag vet att både svenskaspel och bwin kör med sån teknik. Vore intressant att veta mer om det och om det finns några färdiga APIer eller liknande för det.

Det som är absolut långsammast i ett system är skrivning till disk så jag tror inte man tjänar något på att först skriva till disk för att sedan lägga in det i databasen. Visst det skadar inte att ha snabba diskar och att dom är anslutna på snabbaste sättet, men inget slår att läsa från RAM. :)

Sedan skall databasmotorn kunna skriva direkt till en raw diskdevice för att slippa ha ett filsystemlager i mellan som ev. kan påverka prestandan.

En riktigt databasmotor håller rätt mycket i cache för att just snabba upp skrivningar och läsningar till databaserna, så det gäller att ha mycket minne i maskinen som motorn kan använda för cache. Sedan är det viktigt att bygga upp sin databas på ett optimalt sätt och se till så att indexen används på rätt sätt.

271 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
130 ms — deklarationer (db)
0 ms — hämta statistik (cache)
138 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)