Database

Bag om Elasticsearch: Søgning og aggregering

Med Lucene som fundament har man med ElasticSearch naturligvis en førsteklasses søgemaskine. Lucenes modenhed er en stor fordel når vi kigger på featuresættet, men med i prisen er der også en del legacy-baggage. Elasticsearch abstraherer ikke Lucene væk – dens JSON-baserede REST-interface giver adgang til alle Lucenes funktioner. Men Elasticsearch er ikke bare en indpakning af Lucene – derudover indeholder den et lag der…

CQRS med ElasticSearch

Når data gemmes i ElasticSearch, sker det ved hjælp af en struktur kaldet et dokument. Hvert dokument består af de felter man som bruger kommer med, samt et antal faste felter. Ét af disse felter er et id der unikt identificerer dokumentet og kan, fra grænsefladens side, bruges til at lave opdateringer og overskrivninger af dokumentet. Under overfladen foregår tingene lidt anderledes. Lucene, der…

Bag om Elasticsearch: Skalering

Noget der virkelig har givet NoSQL medvind er behovet for skalering; data mængder har det med at vokse. Uanset om der er tale om en lille opstartsvirksomhed med ambitioner om international succes eller blot almindelig tilvækst af data, så er der behov for at kunne skalere. Ydermere kan behovet opstå pludselig. Elasticsarch er fra starten forberedt på skalering med henholdsvis sharding og replikering; selv…

Bag om Elasticsearch: Indeksering med Lucene

Med Elasticsearch har man en hel palette af måder at strukturere sine fritekstsøgninger på, lige fra simple termer til advancerede geografiske søgninger. Den grundlæggende teknologi der muliggør dette finder man nederst i teknologistakken. Her ligger et, i IT sammenhæng, nærmest antikt produkt Lucene fra 1999, skrevet i Java men oversat til mange andre sprog. Lucene er en ren søgemaskine, dens primære rolle er at…

Elasticsearch – fordele og ulemper

Elasticsearch har på det seneste fået meget opmærksomhed; en del store websites som fx. SoundCloud og Foursqare bruger det, og firmaet bag modtog i februar 2013 $24 mio. i ekstra funding og lige pt. nærmer produktet sig version 1.0. Men handler Elasticsearch ikke kun om søgning? Jeg er ikke sikker på at Elasticsearch er et velvalgt navn. Det er rigtigt at produktet er eminent…

Fra SQL til NoSQL – en saga

Det kode du skrev i går er legacy i dag, en floskel for softwareudviklere. Men det gælder ikke kun kode, det handler i høj grad også om de valg der foretages omkring infrastruktur; en verden der flytter sig mindst lige så hurtigt som udviklingstalent. I 2010 startede vi et projekt der skulle indsamle, gemme og analysere data fra diverse sociale sites – vi var…