sql >> Database teknologi >  >> RDS >> Oracle

Hvordan designer jeg en tabel, som gemmer meget store data?

Den størrelse placerer dig i VLDB-området (meget store databaser). Tingene er fundamentalt anderledes i den højde.

Dit spørgsmål kan ikke besvares uden de fulde krav til ansvarsområdet for din ansøgning. Du skal designe til ydeevne i forhold til, hvad din applikation skal GØRE med dataene.

Mit råd er at få nogen ombord, som har tidligere erfaring, ellers er du tæt på 100% garanteret fejl.

Hvis du går med Oracle, giver det flere typer partitionering, som du vil bruge meget omhyggeligt. Du har brug for partitioner til administrative formål (flytning af data, opbygning af indekser, gendannelse af data) samt til forespørgselsydeevne:

  • Områdeopdeling, for eksempel efter et datointerval
  • Listepartitionering, til lagring af udsnit af data siger landemæssigt ('SE', 'US', 'GB')
  • Hash-partitionering. Gemmer dine data i en af ​​partitionerne baseret på en hash-funktion
  • Eller en hvilken som helst kombination af ovenstående

Du har også brug for nogen, der ved, hvordan man bygger og konfigurerer en monstermaskine med en virkelig fantastisk I/O-gennemstrømning. Du skal bruge mere end 1GB/s, hvilket ikke er særlig billigt, når du samtidig skal opbevare 200 TB. Faktisk, hvis disse 200 TB kun er tabeldata, skal du fordoble eller tredoble det for at kunne oprette indekser, samle tabeller, sikkerhedskopier osv.

Beklager, jeg kunne ikke give dig en løsning klar til brug, men jeg ville gerne sikre dig, at du forstår, at du ikke bare bygger en database af over gennemsnittet størrelse. Det er massivt!



  1. org.hibernate.MappingException:Ingen dialekttilknytning for JDBC-type:2002

  2. MySQL Vælg Where In Many to Many

  3. Konverter tal til ord i Oracle BI Publisher

  4. Hvordan kan vi i PostgreSQL se, om hvert indeks i en tabel er klynget eller ej?