Big data verwerking | CL Web
Bijna alle sites en webapplicaties hebben we een database nodig om gegevens op te slaan. Welke database geschikt is voor uw toepassing hangt sterk af van het gebruik en de functie. ElesticSearch is een ander type database dan het veel bekendere en door ons veel gebruikte MySQL / SQL. ElasticSearch is een non-ralational database. Maar wat betekend dat en wanneer is dit een goede keuze?
ElasticSearch is een database die bedoeld is om veel data op te slaan en snel te doorzoeken. We spreken dan van zogenaamde Big Data omdat dit teveel is om in een reguliere database op te slaan. ElasticSearch gebruikt bijvoorbeeld het werkgeheugen om grote dele van zijn database in te laden en is daarmee veel sneller dan een MySQL database die veel meer lees en schijf handelingen moet doen op de harde schijf. ElasticSearch is Near Real time, het kan zoeken in een database van 100 miljoen producten binnen 100miliseconden.
Een MySQL database is een relationele database waarmee gemakkelijk relaties tussen tabellen kunnen worden gelegd. Met MySQL kun je een hele webwinkel bouwen of een hele applicatie maar met ElasticSearch zul je alleen een beperkt deel van je applicatie hiermee laten werken. Denk dan bijvoorbeeld aan een snel zoek systeem waarmee je kunt zoeken en filteren door miljoenen producten. ElasticSearch zul je juist niet gebruiken voor het opslaan van wachtwoorden of facturen gekoppeld aan diensten. ElasticSearch is dus bedoeld voor heel veel data snel doorzoekbaar maken, het is daarom zo ontwikkeld dat het systeem schaalbaar is over verschillende servers, zoekopdrachen kunnen worden verdeeld over vele servers en de trage hardeschijf wordt ontzien. Voor het gebruiken van een elasticSearch database is het ideaal om meerdere servers te gebruiken. MySQL draait juist bijna altijd op 1 server en kan moeilijk worden gerepliceerd naar een andere server. Elke wijziging moet dan worden gesynchonisserd naar server twee. Dit is niet ideaal als je je e-mail adres aanpast en het duurt een tijd voor de aanpassing is doorgevoerd.
ElasticSearch is dus geen vervanging van MySQL maar vervult vaak de functies in van MySQL waar MySQL te traag voor zou zijn. Zoals het zoeken door de beschrijvingen van 10 miljoen producten. ElasticSearch is uiterst schaalbaar is kan feiloos blijven werken ook als een van de servers uitvalt. Data wordt automatisch gerepliceerd zonder dat de server in de tussentijd geblokkeerd wordt. Andere mooie voordelen van ElasticSearch zijn de Full text Search automatische aanvulling en ordening op basis van relevatie bij zoeken.
Wil je een database die schaalbaar is omdat je veel bezoekers verwacht en je wilt heel veel data opslaan en snel kunnen zoeken dan is ElasticSearch een database die dat mogelijk maakt.