WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Hur stor är en stor databas? (https://www.wn.se/forum/showthread.php?t=1040003)

jonny 2010-01-14 00:00

Det beror ju rätt mycket på hårdvaran också vad som blir jobbigt ;) Förvånansvärt lite data kan bli ett förvånansvärt stort problem har jag noterat.

studiox 2010-01-14 00:33

Citat:

Ursprungligen postat av Lyx (Inlägg 20338981)
Tack för svar.
Jo, det går ju snabbt om man söker med index. Kanske dumt av att mej att skriva så. Men låt säga att jag vill hitta ett index utifrån en annan nyckel som är på strängformat.

Är det någon som har erfaranhet om detta? Jag har aldrig haft någon stor databas så nu inför ett kommande projekt behöver jag veta hur mycket av datat som jag kan spara på. Förtillfället gör jag runt 10-20.000 insättningar per dag.

Jag är ute efter svar likande "Jag hade en databas som tillslut blev ohanterbar pga... och den var av storleken ~x cirka y records"

Det mesta NORMALA som man gör när man är OSÄKER är att skapa TESTDATA. Före jul var jag med i ett projekt som skulle skapa data i storleksordningen 20M rader i en EV modell (Där kan du fetglömma index) så vi skapade helt enkelt 20M rader random data. På en MSSQL server med 16G ram och QuadCore Dell 2950 tog det nästan en minut att hitta rätt data, då är det ändå MSSQL som är bra på att använda externa keys.

andi 2010-01-14 08:52

Citat:

Ursprungligen postat av studiox (Inlägg 20339014)
...
Före jul var jag med i ett projekt som skulle skapa data i storleksordningen 20M rader i en EV modell (Där kan du fetglömma index)
...

Varför kan man "fetglömma index" med ett sådant upplägg?

Jawn 2010-01-14 09:32

Kör själv med index på tabeller som har runt 20 miljoner rader och utan index så hade det aldrig fungerat.

tartareandesire 2010-01-14 10:23

Citat:

Ursprungligen postat av Lyx (Inlägg 20338979)
Jag trodde jag gjorde mej tydlig över att jag inte är intresserad av ett rakt svar. Självklart vet jag att 100 rader väger mer än 2 rader, men sökkomplexiteten ökar nödvändigtvis inte för det.

Nej, men det beror mycket på hur du använder informationen i databasen också. Har du en bra databasdesign med rätt index så kan du utan problem köra 10-tals miljoner rader. Det finns en bra bok som heter "High Performance MySQL" som jag rekommenderar att du läser. Gör du fulltextsökningar i stora tabeller så bör du titta på exempelvis Sphinx också.

iXam 2010-01-15 19:15

Jag har ett projekt där jag har några tabeller som har några hundra miljoner rader.
För att lösa problemet med joina mellan hundramiuljnerraderstabeller som dessutom kan ge miljoner rader i resultat så gjorde jag en "summary table" där jag förjoinade/avnormaliserade datan. Detta gjorde 10sekundersqueryn till subsekundsquesyn.
För att ytterligare snabba upp saker sorterar jag datan efter den key jag vill ha datan ut vilket gör att resultaten kan fås snabbare pga av att hårddiskens läshuvud inte behöver flyttas lika frenetiskt för att komma till rätt data.
Jag använder Linux och MySQL. Och jag har nyligen dunkat in en 160GB Intel SSD vilket gav otroligt prestandaförbättring på det mesta.

andi 2010-01-15 19:54

Citat:

Ursprungligen postat av iXam (Inlägg 20339232)
...
För att ytterligare snabba upp saker sorterar jag datan efter den key jag vill ha datan ut vilket gör att resultaten kan fås snabbare pga av att hårddiskens läshuvud inte behöver flyttas lika frenetiskt för att komma till rätt data.
...

1. Hur sorterar man datan i själva tabell-filen (om jag inte missförstod dig)?

2. Av ren nyfikenhet, vad är det för typ av data du lagrar som behöver så många rader?

studiox 2010-01-15 22:38

Citat:

Ursprungligen postat av andi (Inlägg 20339033)
Varför kan man "fetglömma index" med ett sådant upplägg?

DU kan läsa lite här http://en.wikipedia.org/wiki/Entity-...te-value_model

iXam 2010-01-16 15:26

Citat:

Ursprungligen postat av andi (Inlägg 20339236)
1. Hur sorterar man datan i själva tabell-filen (om jag inte missförstod dig)?

2. Av ren nyfikenhet, vad är det för typ av data du lagrar som behöver så många rader?

1.
Jag tror myisamchk kan sortera datan efter en nyckel fast jag körde sorteringen utanför MySQL med det gamla hederliga GNU Sort :)

2. DNSDigger.com - Jag sparar alla domäners IP-nummer så jag kan se vilka domäner som finns hostade vart osv.


Alla tider är GMT +2. Klockan är nu 21:32.

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