Behandling i databasen - In-database processing

Behandling i databasen , noen ganger referert til som analyse i databasen , refererer til integrering av dataanalyse i datalagringsfunksjonalitet . I dag bruker mange store databaser, for eksempel de som brukes til å oppdage svindel med kredittkort og risikostyring av investeringsbanker , denne teknologien fordi den gir betydelige ytelsesforbedringer i forhold til tradisjonelle metoder.

Historie

Tradisjonelle tilnærminger til dataanalyse krever at data flyttes ut av databasen til et eget analysemiljø for behandling, og deretter tilbake til databasen. ( SPSS fra IBM er eksempler på verktøy som fortsatt gjør dette i dag). Å gjøre analysen i databasen, der dataene ligger, eliminerer kostnader, tid og sikkerhetsproblemer knyttet til den gamle tilnærmingen ved å gjøre behandlingen i selve datalageret.

Selv om in-database-muligheter først ble tilbudt kommersielt på midten av 1990-tallet, som objektrelaterte databasesystemer fra leverandører inkludert IBM, Illustra / Informix (nå IBM) og Oracle , begynte teknologien ikke å ta fatt før på midten av 2000-tallet. Konseptet med å migrere analyse fra den analytiske arbeidsstasjonen og inn i Enterprise Data Warehouse ble først introdusert av Thomas Tileston i sin presentasjon med tittelen "Have Your Cake & Eat It Too! Accelerate Data Mining Combining SAS & Teradata ”på Teradata Partners 2005” Experience the Possabilities ”-konferansen i Orlando, FL, 18. – 22. September 2005. Tileston presenterte senere denne teknikken globalt i 2006, 2007 og 2008.

På det tidspunktet hadde behovet for behandling i databasen blitt mer presserende ettersom mengden data som er tilgjengelig for innsamling og analyse fortsetter å vokse eksponensielt (hovedsakelig på grunn av Internett-veksten), fra megabyte til gigabyte, terabyte og petabyte. Disse " store dataene " er en av de viktigste grunnene til at det har blitt viktig å samle, behandle og analysere data effektivt og nøyaktig.

Også hastigheten på virksomheten har akselerert til et punkt der en ytelsesøkning på nanosekunder kan gjøre en forskjell i noen bransjer. Etter hvert som flere mennesker og bransjer bruker data for å svare på viktige spørsmål, blir spørsmålene de stiller mer komplekse, krever mer sofistikerte verktøy og mer presise resultater.

Alle disse faktorene i kombinasjon har skapt behovet for behandling i databasen. Innføringen av den kolonneorienterte databasen , spesielt designet for analyse, datavarehus og rapportering, har bidratt til å gjøre teknologien mulig.

Typer

Det er tre hovedtyper av behandling i databasen: å oversette en modell til SQL-kode, laste C- eller C ++ -biblioteker inn i databaseprosessområdet som en innebygd brukerdefinert funksjon (UDF) og bibliotek som ikke er prosessert, vanligvis skrevet i C, C ++ eller Java og registrere dem i databasen som en innebygd UDF i en SQL-setning.

Oversette modeller til SQL -kode

I denne typen behandling i databasen konverteres en prediktiv modell fra kildespråket til SQL som vanligvis kan kjøres i databasen i en lagret prosedyre . Mange analytiske modellbyggingsverktøy har muligheten til å eksportere modellene sine i enten SQL eller PMML (Predictive Modeling Markup Language). Når SQL er lastet inn i en lagret prosedyre, kan verdier sendes inn via parametere og modellen kjøres naturlig i databasen. Verktøy som kan bruke denne tilnærmingen inkluderer SAS, SPSS, R og KXEN.

Laster inn C- eller C ++ - biblioteker i databaseprosessområdet

Med C- eller C ++ UDF-biblioteker som kjører i gang, blir funksjonene vanligvis registrert som innebygde funksjoner i databaseserveren og kalles som alle andre innebygde funksjoner i en SQL-setning. Ved å kjøre i prosessen kan funksjonen ha full tilgang til databaseserverens minne, parallellitet og prosessstyringsfunksjoner. På grunn av dette må funksjonene være veloppdragen for ikke å påvirke databasen eller motoren negativt. Denne typen UDF gir den høyeste ytelsen ut av noen metode for OLAP, matematiske, statistiske, univariate distribusjoner og data mining algoritmer.

Ute av prosess

UDF-er som ikke er i bruk, skrives vanligvis i C, C ++ eller Java. Ved å gå tom for prosess, løper de ikke den samme risikoen for databasen eller motoren som de kjører i sitt eget prosessrom med egne ressurser. Her ville de ikke forventes å ha samme ytelse som en UDF i ferd. De er fortsatt vanligvis registrert i databasemotoren og kalles gjennom standard SQL, vanligvis i en lagret prosedyre. UDF-er som er ute av prosess, er en trygg måte å utvide mulighetene til en databaseserver, og er en ideell måte å legge til tilpassede data mining-biblioteker.

Bruker

Behandlingen i databasen gjør dataanalyse mer tilgjengelig og relevant for applikasjoner med høy gjennomstrømning i sanntid, inkludert påvisning av svindel, kredittscoring, risikostyring, transaksjonsbehandling, prising og marginanalyse, bruksbasert mikrosegmentering, adferdsmessig annonsemålretting og anbefaling motorer, for eksempel de som brukes av kundeserviceorganisasjoner for å bestemme de nest beste handlingene.

Leverandører

In-database-behandling utføres og markedsføres som en funksjon av mange av de store datavarehusleverandørene, inkludert Teradata (og Aster Data Systems , som den anskaffet), IBM (med sine Netezza , PureData Systems og Db2 Warehouse- produkter), IEMC Greenplum , Sybase , ParAccel , SAS og EXASOL . Noen av produktene som tilbys av disse leverandørene, for eksempel CWI's MonetDB eller IBMs Db2 Warehouse, gir brukerne mulighet til å skrive sine egne funksjoner (UDF) eller utvidelser (UDX) for å forbedre produktets evner. Fuzzy Logix tilbyr biblioteker med modeller i databasen som brukes til matematisk, statistisk, datamining, simulering og klassifiseringsmodellering, samt finansielle modeller for egenkapital, fast inntekt, rente og porteføljeoptimalisering. In-DataBase Pioneers samarbeider med markedsførings- og IT-team for å institusjonalisere data mining og analytiske prosesser inne i datalageret for rask, pålitelig og tilpassbar forbrukeratferd og prediktiv analyse.

Relatert teknologi

In-database-behandling er en av flere teknologier som er fokusert på å forbedre ytelsen til datalagring. Andre inkluderer parallell databehandling , delte alt arkitektur, delte ingenting arkitektur og massiv parallell behandling . Det er et viktig skritt mot forbedring av prediktive analysemuligheter .

Eksterne linker

Referanser