Milloin – ja milloin Ei-käyttää avoimen lähdekoodin Apache Cassandraa, Kafkaa, Sparkia ja Elasticsearchia

lähes kaikki teknologian päätöksenteon on täytettävä kaksi keskeistä kriteeriä: sen on mahdollistettava liiketoiminnan tavoitteiden saavuttaminen ja sen on toimittava hyvin muun teknologiapinon rinnalla. Avoimen lähdekoodin Apache Cassandra, Apache Kafka, Apache Spark ja Elasticsearch kasvattavat suosiotaan.

ne eivät kuitenkaan ole oikea valinta jokaiseen käyttötapaukseen.

tarkastellaan syvällisemmin kutakin näistä teknologioista ja joitakin käyttötapauksia, jotka ovat – ja eivät ole – hyödyllisiä sovelluksia näille avoimen lähdekoodin ratkaisuille.

Apache Cassandra

Facebook loi alun perin vuonna 2007, ja Cassandra hyödyntää Dynamo-arkkitehtuuria ja Bigtable-tyylistä tietomallia tarjotakseen NoSQL-tietovaraston, joka tarjoaa korkean käytettävyyden ja suuren skaalautuvuuden.

kun sinun tulee käyttää Apache Cassandraa

Cassandra on ihanteellinen valinta käyttötapauksiin, joissa vaaditaan aina saatavilla olevaa korkeinta tasoa. Tietokanta soveltuu myös erityisen hyvin palvelemaan organisaatioita, jotka ennakoivat massiivisia työmääriä tai haluavat varmistaa, että heidän palvelunsa voivat kasvaa joustavasti työmäärän kasvaessa (ja tarvitsevat Siksi Cassandran tarjoamaa helppoa skaalautuvuutta). Cassandra tarjoaa luotettavaa tietojen redundanssia ja aktiivista toimintaa useissa datakeskuksissa.

When you Shouldn ’ t

Cassandra on vaihtoehtoja resurssitehokkaampi tehtävänään tietovarastointi tai puhdas analytiikkatallennus (jopa saatavilla olevien Kipinäliittimien sekä Tableau-ja Hadoop-liitännäisten käytön huomioon ottaminen). Cassandra soveltuu huonosti myös reaaliaikaiseen analytiikkaan, erityisesti loppukäyttäjän ad-hoc – tai custom-kyselyjen muodossa, koska tarve toteuttaa koodia sovelluspuolella voi mutkistua. Cassandra ei myöskään täytä useimpia HAPPOVAATIMUKSIA.

Apache Kafka

LinkedInin teknisen tiimin ensimmäisenä luoma Apache Kafka tarjoaa erittäin skaalautuvan ja helposti saatavilla olevan suoratoistoalustan ja viestiväylän. Kafka toimii hajautettuna lokina, jossa vastaantulevat viestit lisätään jonon kärkeen ja lukijat (kuluttajat) kuluttavat ne offset-arvon perusteella.

kun pitäisi käyttää Apache Kafkaa

Apache Kafka on yleensä fiksu valinta mikropalveluihin ja palvelukeskeiseen arkkitehtuuriin liittyviin käyttötapauksiin. Kafka voi toimia myös erittäin tehokkaana työjonona, joka pystyy koordinoimaan erillisiä työpolkuja Varaamalla laskentatehoa kuuntelemalla ja odottamalla töiden saapumista. Alustan stream-prosessointiominaisuudet ovat hyödyllisiä poikkeamien havaitsemisessa, rullaamisessa ja aggregaatioissa sekä metriikan läpiviennissä. Kafka on myös erittäin pätevä vaihtoehto tapahtumien hankintaan, tietojen yhteensovittamiseen eri mikropalveluissa ja ulkoisen toimituslokin tarjoamiseen hajautetuille järjestelmille. Muita asianmukaisia käyttötapauksia ovat lokin yhdistäminen, tietojen peittäminen ja suodatus, tietojen rikastaminen ja petosten havaitseminen.

kun ei pitäisi

vaikka se voi joissakin tapauksissa olla houkuttelevaa, voi olla harkitsematonta käyttää Kafkaa tietokantana tai tietueiden lähteenä, ainakin ilman kovin vankkaa ymmärrystä Kafkan rajoituksista ja ominaisuuksista tässä käyttötapauksessa. Todellinen tietokanta on lähes aina yksinkertaisempi käyttää ja joustavampi. Kafka on samalla tavalla sopimaton valinta tilauskäsittelyyn koko aiheen osalta. Kaikissa käyttötapauksissa, joissa tavoitteena on siirtää datapaketteja päätelähteeseen nopeasti, kuten reaaliaikaiset ääni-ja videovirrat tai muut häviölliset datavirrat, organisaatioiden tulisi käyttää tarkoitukseen rakennettuja ratkaisuja Kafkan sijaan.

Apache Spark

Apache Spark jakaa dataa ja suorittaa laskentaa kyseisillä segmenteillä siten, että työntekijät tekevät kaiken mahdollisen työn, kunnes he vaativat tietoja muilta työntekijöiltä. Tämä muotoilu antaa Sparkille valtavan skaalautuvuuden ja käytettävyyden, samalla tehden siitä erittäin joustavan tietojen menetystä vastaan.

kun pitäisi käyttää Apache Spark

Spark soveltuu käytettäväksi tapauksissa, joihin liittyy laajamittaista Analytiikkaa, erityisesti tapauksissa, joissa tieto saapuu useiden lähteiden kautta. Spark on tehokas ratkaisu ETL: lle tai mille tahansa käyttötapaukselle, joka sisältää tietojen siirtämisen järjestelmien välillä, joko silloin, kun sitä käytetään jatkuvasti kansoittamaan tietovarastoa tai datajärveä transaktioiduista tietovarastoista, tai kertaluonteisissa skenaarioissa, kuten tietokanta-tai järjestelmämigraatioissa. Organisaatiot, jotka rakentavat koneoppimisen putkistoja olemassa olevien tietojen päällä, työskentelevät korkean latenssin suoratoiston kanssa tai suorittavat interaktiivisia, ad-hoc-tai eksploratorisia analyysejä, löytävät kipinän vahvan istuvuuden. Spark auttaa myös organisaatioita täyttämään vaatimustenmukaisuuden tarpeet tarjoamalla tietojen peittämistä, tietojen suodatusta ja suurten tietokokonaisuuksien auditointia vaatimustenmukaisuuden näkökulmasta.

kun ei pitäisi

ylipäätään, kipinä ei tule olemaan paras valinta käyttötapauksiin, joihin liittyy reaaliaikaista tai matalan viiveen käsittelyä. (Apache Kafka tai muut teknologiat tarjoavat erinomaisen päästä päähän latenssin näihin tarpeisiin, mukaan lukien reaaliaikainen stream-käsittely.) Pienten tai yksittäisten tietokokonaisuuksien kanssa työskenneltäessä kipinä on useimmiten liian liiallinen vaihtoehto. Myös, kun se tulee tietovarastointi ja data lakes, on parempi käyttää korkeamman tason teknologiaa sijasta Apache Spark, vaikka tällaisia tuotteita Spark on olemassa.

Elasticsearch

Elasticsearch tarjoaa kokotekstisen hakukoneen, jossa on laaja valikoima toimintoja jäsentämättömien tietojen etsimiseen ja analysointiin. Teknologia tarjoaa skaalautuvaa lineaarista hakua lähes reaaliajassa, tarjoaa vankan pudotushaun korvaavan haun ja merkittäviä analytiikkaominaisuuksia.

kun pitäisi käyttää Elasticsearch

Elasticsearch soveltuu vahvasti käyttötapauksiin, jotka vaativat kokotekstihakua, maantieteellistä hakua, julkisen datan kaavimista ja yhdistämistä, kirjaamista ja lokianalyysiä, visualisointia sekä pienimuotoista tapahtumatietoa ja mittareita.

When you Shouldn ’ t

Elasticsearchia ei tule käyttää tietokantana tai tietueiden lähteenä, relaatiotietoineen tai HAPPOVAATIMUSTEN täyttämiseksi.

täydentävien teknologioiden valitseminen

parhaan teknologiayhdistelmän valitseminen organisaatiollesi (joko avoimeen lähdekoodiin tai muuhun) edellyttää tietenkin muutakin kuin ratkaisujen arviointia – päättäjien on myös visioitava, miten organisaatio ottaa käyttöön ja hyödyntää jokaisen ratkaisun osana teknologiaansa. Apache Cassandra, Apache Kafka, Apache Spark ja Elasticsearch tarjoavat erityisen täydentäviä teknologioita, joita organisaatioiden on järkevää käyttää yhdessä ja jotka tarjoavat vapauden lisenssimaksuista tai toimittajan lock-in ansiosta avoimen lähdekoodin luonne. Yhdistämällä nämä teknologiat ja toteuttamalla niiden keräämät edut organisaatiot voivat saavuttaa tavoitteensa ja mahdollistaa sovellusten kehittämisen, jotka ovat erittäin skaalautuvia, saatavilla, kannettavia ja joustavia.

Ben Slater on Instaclustr: n tuotepäällikkö, joka tarjoaa avoimen lähdekoodin teknologioiden, kuten Apache Cassandran, Apache Sparkin, Elasticsearchin ja Apache Kafkan hallitun palvelualustan.

Related Items:

Here ’s What Doug Cutting Says Is Hadoop’ s Biggest Contribution

a Decade Later, Apache Spark Still Going Strong

Vastaa

Sähköpostiosoitettasi ei julkaista.