Programiranje

Prižgite ogenj pod Kasandro z Apache Ignite

Nikita Ivanov je soustanovitelj in tehnični direktor podjetja GridGain Systems.

Apache Cassandra je priljubljena baza podatkov iz več razlogov. Odprtokodna, distribuirana baza podatkov NoSQL nima ene same točke okvare, zato je zelo primerna za aplikacije z visoko razpoložljivostjo. Podpira kopiranje več podatkovnih centrov, kar organizacijam omogoča večjo odpornost, na primer s shranjevanjem podatkov v več območjih razpoložljivosti spletnih storitev Amazon. Ponuja tudi obsežno in linearno razširljivost, tako da je poljubno število vozlišč enostavno dodati v katero koli grozd Cassandra v katerem koli podatkovnem središču. Iz teh razlogov podjetja, kot so Netflix, eBay, Expedia in številna druga, Cassandro že vrsto let uporabljajo za ključne dele svojega podjetja.

Vendar pa se sčasoma, ko se poslovne zahteve razvijajo in razmestitve Cassandre razširijo, se številne organizacije omejijo zaradi nekaterih omejitev Cassandre, ki pa omejujejo, kaj lahko storijo s svojimi podatki. Apache Ignite, računalniška platforma v pomnilniku, tem organizacijam ponuja nov način dostopa do njihove infrastrukture Cassandra in upravljanja z njimi, tako da podatke Cassandre dajo na voljo novim primerom uporabe OLTP in OLAP, hkrati pa zagotavlja izjemno visoko zmogljivost.

Omejitve Cassandre

Temeljna omejitev Cassandre je, da temelji na disku in ne v bazi podatkov v pomnilniku. To pomeni, da so zmogljivosti branja vedno omejene z V / I specifikacijami, kar na koncu omejuje delovanje aplikacije in omejuje zmožnost doseganja sprejemljive uporabniške izkušnje. Upoštevajte to primerjavo: tisto, kar lahko v eni minuti obdelamo v pomnilniškem sistemu, bi v diskovnem sistemu trajalo desetletja. Tudi z uporabo bliskovnih pogonov bi to še vedno trajalo mesece.

Medtem ko Cassandra ponuja zelo hitro zapisovanje podatkov, doseganje optimalne učinkovitosti branja zahteva, da se podatki Cassandre zapisujejo na disk zaporedoma, tako da lahko glava diska ob branju čim dlje skenira, ne da bi pri tem latentno skakala glava od lokacije do lokacije . Da bi to dosegli, morajo biti poizvedbe preproste, brez kakršnih koli PRIDRUŽITE SEs, SKUPINA POs ali združevanje, podatki pa morajo biti modelirani za te poizvedbe. Zato Cassandra ponuja št ad hoc ali zmožnost poizvedbe SQL.

Podjetje DataStax, ki razvija in podpira komercialno izdajo Apache Cassandra, je dodalo možnost povezovanja Cassandre z Apache Spark in Apache Solr za podporo analitiki. Vendar ta strategija prinaša omejene koristi, ker je uporaba konektorjev zelo drag način za dostop do podskupine podatkov. Podatke je treba še vedno določiti zaporedno, sicer bo zmogljivost slaba, ker bi morala Cassandra opraviti celotno pregledovanje tabel, kar je pristop razprševanja / zbiranja, ki vključuje veliko zakasnitev diska.

Druga potencialno pomembna omejitev Cassandre je, da podpira le morebitno doslednost. Pomanjkanje popolne skladnosti s kislino pomeni, da je ni mogoče uporabljati za aplikacije, ki prenašajo denar ali zahtevajo informacije o zalogah v realnem času.

Zaradi teh omejitev se organizacije, ki želijo uporabiti podatke, shranjene v Cassandri, za nove poslovne pobude pogosto spopadajo s tem, kako to storiti.

Vnesite Apache Ignite

Apache Ignite je računalniška platforma v pomnilniku, ki lahko pomaga premagati te omejitve v Cassandri, hkrati pa se izogne ​​režijskim stroškom pristopa konektorjev. Apache Ignite lahko vstavite med Apache Cassandra in obstoječo plast aplikacije brez sprememb podatkov Cassandre in le minimalne spremembe aplikacije. Podatki Cassandre se naložijo v gručo Ignite v pomnilniku, aplikacija pa pregledno dostopa do podatkov iz RAM-a namesto z diska in pospeši delovanje vsaj za 1000x. Podatki, ki jih zapiše aplikacija, se najprej zapišejo v gručo Ignite za takojšnjo, stalno porabo. Nato se zapiše na disk v Cassandri za trajno shranjevanje s sinhronim ali asinhronim zapisovanjem.

Tudi Apache Ignite ima enako strategijo pisanja kot Apache Cassandra, zato se bo uporabnikom Cassandre zdel znan. Tako kot Cassandra je tudi Ignite odprtokodna in njeni uporabniki imajo koristi od velike in aktivne skupnosti, podpora pa je na voljo na številnih spletnih mestih skupnosti. Kot računalniška platforma v pomnilniku pa Apache Ignite organizacijam omogoča veliko več s svojimi podatki Cassandra - in to hitreje. Evo kako.

  • Več podatkovnih možnosti - ANSI SQL-99 in garancije za transakcije ACID

    Apache Ignite, ki ga poganja sistem ANSI SQL-99, ponuja garancije za transakcije ACID za porazdeljene transakcije. Njena mreža In-Memory SQL ponuja zmožnosti zbirke podatkov v pomnilniku, vključeni pa so tudi API-ji ODBC in JDBC. Z združitvijo Ignite z Apache Cassandra lahko zapišemo katero koli vrsto OLAP ali zapleteno poizvedbo SQL proti Cassandrinim podatkom, ki so bili naloženi v Ignite. Ignite je mogoče upravljati tudi v več načinih, od morebitne doslednosti do popolne skladnosti s kislino v realnem času, kar organizacijam omogoča uporabo podatkov, shranjenih v Cassandri (vendar prebranih v Ignite), za številne nove aplikacije in pobude.
  • Brez preoblikovanja podatkov Cassandre

    Apache Ignite bere iz Apache Cassandre in drugih zbirk podatkov NoSQL, zato premikanje podatkov Cassandre v Ignite ne zahteva sprememb podatkov. Podatkovno shemo je mogoče preseliti tudi neposredno v Ignite, kakršna je.
  • Večja hitrost za podatkovno intenzivne aplikacije

    Premik vseh podatkov Apache Cassandra v RAM ponuja najhitrejšo možno zmogljivost in močno izboljša hitrost poizvedbe, ker se podatki ne berejo in zapisujejo na disk. Prav tako je mogoče uporabiti Apache Ignite za predpomnjenje samo aktivnega dela podatkov Cassandre, da se doseže znatno povečanje hitrosti. Indeksi Ignitea se nahajajo tudi v pomnilniku, kar omogoča izvajanje zelo hitrih poizvedb SQL na podatkih Cassandra, ki so bili premaknjeni v Ignite.
  • Preprosto vodoravno in navpično skaliranje

    Tako kot Apache Cassandra, tudi Apache Ignite zlahka skalira vodoravno z dodajanjem vozlišč v gručo Ignite. Nova vozlišča takoj zagotovijo dodaten pomnilnik za predpomnjenje podatkov Cassandre. Vendar pa Ignite tudi zlahka skalira navpično. Ignite lahko izkoristi ves pomnilnik na vozlišču, ne samo pomnilnik JVM, in predmete je mogoče definirati tako, da živijo na kopici ali zunaj nje in uporabljajo ves pomnilnik na strojih. Na ta način preprosto povečanje količine pomnilnika na vsakem vozlišču samodejno prilagodi gručo Ignite navpično.
  • Povečana razpoložljivost

    Tako kot Apache Cassandra je tudi računalniška platforma Apache Ignite enakovredna vedno na voljo. Napaka vozlišča aplikacijam ne preprečuje pisanja in branja iz definiranih varnostnih vozlišč. Porazdelitev podatkov je tudi samodejna, ko raste grozd Ignite. Ker Ignite ponuja prefinjeno podporo za združevanje, na primer odkrivanje in sanacijo razcepljenih možganskih stanj, je kombinirani sistem Cassandra / Ignite bolj na voljo kot samostojni sistem Cassandra.
  • Preprostejši in hitrejši od Hadoopa

    Mnoge organizacije, ki bi želele v svoje podatke Apache Cassandra vnesti poizvedbe SQL, razmišljajo o nalaganju podatkov v Hadoop. Slaba stran tega pristopa je, da bi bile po rešitvi izzivov ETL in sinhronizacije podatkov, ki se pojavijo, poizvedbe v Hadoop še vedno razmeroma počasne. Medtem ko bo kombinacija Cassandre in Ignite zaradi dodatnega sistema in predpomnjenja povzročila tudi majhen hit uspešnosti, se poizvedbe kljub temu izvajajo z izjemno hitrostjo, zaradi česar je rešitev popolna za sprotno analitiko. In upravljanje razmerja med podatki Ignite in Cassandra je veliko preprostejše.

Izzivi pri izvajanju Cassandre in Ignitea

Kot je navedeno zgoraj, kombinacija Apache Cassandra in Apache Ignite vključuje stroške. Če imate dve omrežji (tako kot ob dodajanju katere koli druge rešitve), boste seveda imeli uspešnost - in stroške ter vzdrževanje -. Stroški strojne opreme za nove blagovne strežnike in dovolj RAM-a ter morda stroški naročnine za različico Apache Ignite, ki ustreza podjetju, in podprto. Poleg tega bo uvedba in vzdrževanje Ignite morda od nekaterih organizacij zahtevala dodatno strokovno znanje. Kot rezultat tega je analiza stroškov in koristi upravičena, da se zagotovi, da bodo strateške koristi vsakega novega primera uporabe skupaj s povečanjem učinkovitosti večje od stroškov.

Pri tej odločitvi so pomembni naslednji premisleki. Prvič, Apache Ignite je v nasprotju s prejšnjo generacijo računalniških rešitev v pomnilniku, ki so zahtevale tlakovanje več izdelkov, popolnoma integrirana in enostavna rešitev. Integriranje Ignite z Apache Cassandra je običajno zelo preprost postopek. Vžge diapozitive med Cassandro in aplikacijo, kot je Apache Kafka ali druga stranka, ki dostopa do podatkov. Ignite vključuje vnaprej vgrajen priključek Cassandra, ki postopek poenostavi. Nato aplikacija prebere in izpiše Ignite namesto Cassandre, zato vedno dostopa do podatkov iz pomnilnika namesto z diska. Ignite samodejno obdela branje in zapisovanje iz in v Cassandro.

Drugič, čeprav mnogi še vedno mislijo, da je računalništvo v pomnilniku previsoko drago, so se stroški RAM-a od šestdesetih let zmanjšali za približno 30 odstotkov na leto. Čeprav je RAM še vedno kilogram za kilogram dražji od SSD-jev, lahko zaradi učinkovitosti uporabe terabajtov RAM-a v računalniški gruči v pomnilniku, zlasti za obsežne, kritične aplikacije, računalništvo v pomnilniku postane najučinkovitejše pristop.

Končno je Apache Ignite varna stava z zrelo kodno bazo. Izšel je kot zasebni projekt leta 2007, leta 2014 je bil podarjen fundaciji Apache Software Foundation, približno leto kasneje pa je diplomiral na vrhunskem projektu - drugi najhitrejši projekt Apache, ki je diplomiral po Apache Spark.

Apache Cassandra je trdna, preizkušena rešitev, ki je lahko ključni element številnih podatkovnih strategij. Z Apache Ignite lahko podatke Cassandre naredimo bolj uporabne. Računalniška platforma Apache Ignite v pomnilniku je cenovno ugodna in učinkovita rešitev, s katero so podatki Cassandre na voljo za nove primere uporabe OLTP in OLAP, hkrati pa izpolnjujejo izjemne zahteve po današnjih aplikacijah v spletnem merilu . Kombinirana rešitev ohranja visoko razpoložljivost in vodoravno razširljivost Cassandre, hkrati pa dodaja poizvedbe, skladne z ANSI SQL-99, vertikalno razširljivost, robustnejšo skladnost z garancijami za transakcije ACID in še več - vse to pa zagotavlja zmogljivost, ki je 1000-krat hitrejša od diskovne pristopi.

Forum New Tech ponuja prizorišče za raziskovanje in razpravo o nastajajoči podjetniški tehnologiji v globini in širini brez primere. Izbor je subjektiven in temelji na našem izboru tehnologij, za katere menimo, da so pomembne in najbolj zanimajo bralce. ne sprejema tržnih zavarovanj za objavo in si pridržuje pravico do urejanja celotne prispevane vsebine. Vsa vprašanja pošljite na [email protected].

$config[zx-auto] not found$config[zx-overlay] not found