Mellomlang sikt midlertidige tabeller - lage tabeller på fly til å vare 15-30 dager?

stemmer
2

Kontekst

Jeg er for tiden å utvikle et verktøy for å håndtere bestillinger og kommunisere mellom teknikere og tjenester. Den industrielle sammenheng er kringkasting og TV. Flere klienter forventer mediefiler hvert gjort til sine egne spesifikasjoner innebære ulik arbeidsflyt selv innenfor det begrensede omfanget av et enkelt kundens ordre.

En klient kan spørre en dag for en enkelt SD-fil og neste for en fullverdig HD-pakke som inneholder opp til fjorten filer ... I en MySQL db Jeg prøver å lagre nøyaktig informasjon om alle de små oppgaver komponere arbeidsflyten, i flere former:

  • Datetime-verdier hver gang en oppgave er fullført, for nøyaktig sporing
  • veier til de nyopprettede filer i selskapets filsystemet i VARCHARs
  • arkivering bakgrunnsinformasjon i tekstverdier (info som bruker kommentarer, for eksempel når en hendelse skjer, og hindrer fremover, kan de kommentere om det i dette fôret)

Multipliserer det med 30 forskjellige filtyper, og dette er altfor mye for en enkelt tabell. Så jeg tenkte jeg skulle bryte den opp med klienten: en tabell per klient, slik at hvilken som helst rekkefølge bare noen gang krever bruk av som en tabell som ikke manipulere mer enn 15 felt. Likevel dette en ganske stiv løsning når en kunde har 9 forskjellige transkodings spesifikasjoner og at en bestemt rekkefølge krever bare ett. Jeg tror jeg hadde behov for å legge til flagg felt for hver transcoding feltet for å indikere hvilke som er nødvendig for den aktuelle ordren.

Konsept

Jeg hadde da denne vanvittige ideen om at kanskje jeg kunne lage en midlertidig tabell for å vare mens ordre kjører (som kan variere fra en dag til en måned). Vi har sjelden mer enn 25 bestillinger som kjører samtidig slik at det ikke ville bli altfor overfylt.

Ideen er å lage et bord skreddersydd for hver bestilling, eliminerer behovet for flagg og unødvendige alltid tomme felt. Når bestillingen er fullført bordet ville bli tømt, JSON-kodet, i en tekst eller BLOB slik at det kan gjenopprettes senere hvis endringer må gjøres.

Har du erfaring med DBMS-tallet (MySQL spesielt) sliter fra slik praksis hvis det noen gang har eksistert? Høres dette ut som et levedyktig alternativ? Jeg er glad for å prøve (som jeg allerede startet) og jeg søker råd, slik som å holde det gående eller stoppe akkurat her.

Takk for innspill!

Publisert på 08/04/2012 klokken 00:51
kilden bruker
På andre språk...                            


1 svar

stemmer
1

Vel, selvfølgelig det er mulig å gjøre. Du kan imidlertid ikke bruke MySQL midlertidige tabeller for slike langtidslagring, må du bruke "normale" bord, og har noen opprydding rutine ...

Men jeg kan ikke se hvorfor den mengden data ville bli for mye for en enkelt tabell. Hvis dine spørsmål begynner å kjøre sakte på grunn av mye data, bør du legge til noen indekser i databasen. Jeg tror også det er en annen con: Det vil være mye vanskeligere å bygge rapporter senere, når du har 25 bord med samme type data, må du kjøre 25 spørringer og flette dataene.

Jeg ser ikke poenget, egentlig. De samme typer data skal være i samme tabell.

Svarte 08/04/2012 kl. 08:34
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more