/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
Hurtigste databaseprodukt
Fra : Anders Johannsen


Dato : 21-05-01 14:07

Er der konsensus om hvad det hurtigste open-source-agtige databasesoftware
er, når det drejer sig om meget simple operationer. Dataintegritet / SQL-92
understøttelse er mindre vigtige i denne sammenhæng.

Målet er, at det skal kunne lave et komplet tablescan på en tabel med
omtrent en mio. rækker, på kortest muligt tid. Rene rambaserede løsninger
eller snedig indeksering er nok mest interesante.

/A



 
 
Peter Lykkegaard (21-05-2001)
Kommentar
Fra : Peter Lykkegaard


Dato : 21-05-01 14:40


"Anders Johannsen" <anders@ignition.dk> wrote in message
news:9eb404$t88$1@news.inet.tele.dk...

Jeg har desværre ikke selv nogen bud, men blot nogle kommentarer hvordan du
får et fornuftigt bud

> Er der konsensus om hvad det hurtigste open-source-agtige databasesoftware
> er, når det drejer sig om meget simple operationer. Dataintegritet /
SQL-92
> understøttelse er mindre vigtige i denne sammenhæng.
>
Du kan ikke snakke om hurtighed uden i samme åndedrag at nævne krav til
hardware - de to ting hænger uløseligt sammen
Hvis pris på hardware er underordnet, så er der mange ting der kan lade sig
gøre
Hvad hardware skal systemet arbejde på?
Og hvilket OS? - Jeg går ud fra at du tænker på noget Linux?

> Målet er, at det skal kunne lave et komplet tablescan på en tabel med
> omtrent en mio. rækker, på kortest muligt tid. Rene rambaserede løsninger
> eller snedig indeksering er nok mest interesante.
>
Hastigheden afhænger af antallet af rækker der skal hentes, men så sandelig
også hvor brede rækkerne er (antal atributter eller felter om du vil)
Vil du hente en million rækker i et hug, eller er det dele af tabellen du
vil hente?

Når et RDBMS udfører en tablescan så er det netop fordi at den ikke kan/vil
bruge de indexes der er oprettet - så snedig indeksering giver ikke megen
mening i dette tilfælde

En rambaseret løsning kunne være fin, men igen mangler der oplysninger om
datamængden
Hvor meget fylder den mio rækker Mb/Gb/Tb?

mvh/Peter Lykkegaard



Anders Johannsen (21-05-2001)
Kommentar
Fra : Anders Johannsen


Dato : 21-05-01 15:00

> Hvad hardware skal systemet arbejde på?
> Og hvilket OS? - Jeg går ud fra at du tænker på noget Linux?

Systemet kommer til arbejde på standard intelbaseret hardware med et *nix
som OS -- sandsynligvis Linux.

> Hastigheden afhænger af antallet af rækker der skal hentes, men så
sandelig
> også hvor brede rækkerne er (antal atributter eller felter om du vil)
> Vil du hente en million rækker i et hug, eller er det dele af tabellen du
> vil hente?

Tabellen er kun 5-6 felter 'bred' -- og det felt jeg ønsker at søge på er i
det højeste 250 tegn langt. Det jeg søger at opnå, er basalt nedenstående:

SELECT id, field FROM table WHERE field LIKE '%query%'

> En rambaseret løsning kunne være fin, men igen mangler der oplysninger om
> datamængden
> Hvor meget fylder den mio rækker Mb/Gb/Tb?

De testdata jeg har i øjeblikket fylder ca . 100 MB uden indexes.

/A



Lauritz Jensen (21-05-2001)
Kommentar
Fra : Lauritz Jensen


Dato : 21-05-01 15:20

Anders Johannsen wrote:
>
> Tabellen er kun 5-6 felter 'bred' -- og det felt jeg ønsker at
> søge på er i det højeste 250 tegn langt. Det jeg søger at opnå,
> er basalt nedenstående:
>
> SELECT id, field FROM table WHERE field LIKE '%query%'

Det lugter lidt af en fritekstsøgning. Hvis det er det, hvorfor så ikke
bare lave et index, der kan klare det? Sagt på en anden måde: Hvis du
laver dine forspørgsler med hovedet under armen, så kan du få en hver
database i knæ.

--
Lauritz

Anders Johannsen (21-05-2001)
Kommentar
Fra : Anders Johannsen


Dato : 21-05-01 15:30

> Det lugter lidt af en fritekstsøgning. Hvis det er det, hvorfor så ikke
> bare lave et index, der kan klare det?

De indexes jeg har brugt indtil videre, har enten ikke haft en gavnlig
virkning på søgetiden eller er ikke blevet brugt. Jeg er dog altid
interesseret i at blive oplyst.

field er i denne sammenhæng een lang streng.

/A



Lauritz Jensen (21-05-2001)
Kommentar
Fra : Lauritz Jensen


Dato : 21-05-01 15:46

Anders Johannsen wrote:
>
> > Det lugter lidt af en fritekstsøgning. Hvis det er det, hvorfor så ikke
> > bare lave et index, der kan klare det?
>
> De indexes jeg har brugt indtil videre, har enten ikke haft en gavnlig
> virkning på søgetiden eller er ikke blevet brugt. Jeg er dog altid
> interesseret i at blive oplyst.
>
> field er i denne sammenhæng een lang streng.

Jo, men har du brug et almidelig index? De databaser jeg kender, kan
ikke bruge et almindeligt index ved venstretrunkeringer (eks. '%bla').
Hvis du vil lave fritekstsøgning, skal du bruge indexer, der er designet
til det. MS Sql-server, oracle m.f. har det indbygget og moduler findes
til postgress og mysql
(http://www.mysql.com/doc/M/y/MySQL_full-text_search.html). Hvis dine
data ikke kan opdeles i ord, kan du jo kigge på n-grammer.

--
Lauritz

Anders Johannsen (21-05-2001)
Kommentar
Fra : Anders Johannsen


Dato : 21-05-01 16:14

>> field er i denne sammenhæng een lang streng.
>
> Jo, men har du brug et almidelig index? De databaser jeg kender, kan
> ikke bruge et almindeligt index ved venstretrunkeringer (eks. '%bla').

Jeg har primært forsøgt mig med fulltext-indexes.

> Hvis dine data ikke kan opdeles i ord, kan du jo kigge på n-grammer.

Det lyder interessant. Jeg er ikke bekendt med det, og google ved
tilsyneladende heller ikke noget om emnet?

/A

Lauritz Jensen (21-05-2001)
Kommentar
Fra : Lauritz Jensen


Dato : 21-05-01 16:30

Anders Johannsen wrote:
>
> > Hvis dine data ikke kan opdeles i ord, kan du jo kigge på n-grammer.
>
> Det lyder interessant. Jeg er ikke bekendt med det, og google ved
> tilsyneladende heller ikke noget om emnet?

Det her er en artikel jeg engang faldt over:
http://www.heise.de/ct/english/97/04/386/
Men nu ved jeg jo intet om, hvad du prøver at gøre.
--
Lauritz

Peter Lykkegaard (21-05-2001)
Kommentar
Fra : Peter Lykkegaard


Dato : 21-05-01 16:21


"Anders Johannsen" <anders@ignition.dk> wrote in message
news:9eb8pg$gdm$1@news.inet.tele.dk...
> > Det lugter lidt af en fritekstsøgning. Hvis det er det, hvorfor så ikke
> > bare lave et index, der kan klare det?
>
> De indexes jeg har brugt indtil videre, har enten ikke haft en gavnlig
> virkning på søgetiden eller er ikke blevet brugt. Jeg er dog altid
> interesseret i at blive oplyst.
>
Du nævner ikke noget om hvilket database produkt du har forsøgt dig med
Men konstellationer ala '%a%' vil altid resulterer i tablescan ved brug af
alm indexes

Du skal have gang i noget fulltext search implementering

mvh/Peter Lykkegaard



Anders Johannsen (21-05-2001)
Kommentar
Fra : Anders Johannsen


Dato : 21-05-01 17:20

> Du nævner ikke noget om hvilket database produkt du har forsøgt dig med

Postgres og mysql er testet, men ingen er optimale.

> Men konstellationer ala '%a%' vil altid resulterer i tablescan ved brug
> af alm indexes

Ja ... det tænker jeg.

> Du skal have gang i noget fulltext search implementering

Jeg er ikke sikker. Det felt jeg søger på indeholder en lang streng,
og søgeordet er en evt. matchende delstreng (heraf '%query%').

Efter hvad jeg har erfaret, er der ikke nogen indekse der kan klare det,
hvorfor jeg bliver nødt til at traverse hele tabellen -- og er egentligt
på udkig efter den hurtigste måde at gøre dette på.

/A

Peter Lykkegaard (22-05-2001)
Kommentar
Fra : Peter Lykkegaard


Dato : 22-05-01 07:37


"Anders Johannsen" <anders@ignition.dk> wrote in message
news:20010521.182012.496987743.501@ignition.dk...

> > Du skal have gang i noget fulltext search implementering
>
> Jeg er ikke sikker. Det felt jeg søger på indeholder en lang streng,
> og søgeordet er en evt. matchende delstreng (heraf '%query%').
>
MSSQL arbejder fint med fulltext søgninger, men det jo desværre ikke
opensource

mvh/Peter Lykkegaard



Jesper Stocholm (22-05-2001)
Kommentar
Fra : Jesper Stocholm


Dato : 22-05-01 09:05

"Peter Lykkegaard" <polonline@hot.mail.com> wrote in <aKnO6.28$Zc4.582
@news.get2net.dk>:

>
>"Anders Johannsen" <anders@ignition.dk> wrote in message
>news:20010521.182012.496987743.501@ignition.dk...
>
>> > Du skal have gang i noget fulltext search implementering
>>
>> Jeg er ikke sikker. Det felt jeg søger på indeholder en lang streng,
>> og søgeordet er en evt. matchende delstreng (heraf '%query%').
>>
>MSSQL arbejder fint med fulltext søgninger, men det jo desværre ikke
>opensource
>

endsige gratis ...

--
I wrote to George W. Bush - you should do the same
- http://stocholm.dk/emailgeorgewbush.asp

Jesper Stocholm - http://stocholm.dk

Søg
Reklame
Statistik
Spørgsmål : 177517
Tips : 31968
Nyheder : 719565
Indlæg : 6408638
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste