MultiChain-syötteet tietokantaintegraatioon PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.

MultiChain-syötteet tietokantojen integrointiin

Tietojen hankkiminen lohkoketjusta ja laajempaan maailmaan

Ensimmäisellä MultiChainin julkisella julkaisulla, jo vuonna 2015, näimme kiinnostuksen blockchain-sovelluksiin yllättävän suunnasta. Vaikka olimme alun perin suunnitelleet MultiChainin digitaalisten omaisuuserien liikkeeseen laskemista, siirtämistä ja säilyttämistä varten, yhä useammat käyttäjät olivat kiinnostuneita käyttämään sitä datakeskeisiin sovelluksiin.

Näissä käyttötapauksissa lohkoketjun tarkoituksena on mahdollistaa yleistietojen tallentaminen ja hakeminen, joiden ei tarvitse olla luonteeltaan taloudellisia. Motivaatio käyttää blockchainia normaalin tietokannan sijasta on välttää luotettavan välittäjän luottamista tietokannan isännöintiin ja ylläpitoon. Kaupallisista, lainsäädännöllisistä tai poliittisista syistä tietokannan käyttäjät haluavat, että tämä on hajautettu eikä keskitetty vastuu.

Streams-evoluutio

Vastauksena tähän palautteeseen vuonna 2016 me käyttöön MultiChain-virrat, jotka tarjoavat yksinkertaisen abstraktion yleisen datan tallentamiseksi, indeksoimiseksi ja hakemiseksi lohkoketjussa. Ketju voi sisältää minkä tahansa määrän suoratoistoja, joista jokainen voidaan rajoittaa kirjoittamiseen tietyillä osoitteilla. Jokainen stream-kohde on merkitty julkaisijan osoitteella ja valinnaisella avaimella tulevaa hakua varten. Jokainen solmu voi päättää itsenäisesti tilaamalla jokaisen streamin indeksoimalla kohteitaan reaaliajassa nopeaa hakua varten avaimella, julkaisijalla, ajalla, lohkolla tai sijainnilla. Streams olivat välitön osuma MultiChainin käyttäjille ja erottivat sen voimakkaasti muista yrityksen blockchain-alustoista.

Vuonna 2017 virrat olivat laajennettu tukemaan alkuperäistä JSON- ja Unicode-tekstiä, useita avaimia kohtaa ja useita kohteita tapahtumaa kohden. Tämän viimeisen muutoksen ansiosta yli 10,000 2018 yksittäistä tietoelementtiä voidaan julkaista sekunnissa huippuluokan laitteistoissa. Sitten vuonna XNUMX lisäsimme saumattoman tuen ketjun ulkopuolinen data, jossa vain osa hash-tiedoista julkaistaan ​​ketjussa, ja itse data toimitetaan ketjun ulkopuolella solmuille, jotka sitä haluavat. Ja myöhemmin sinä vuonna julkaisimme MultiChain 2.0 -yhteisön kanssa Älykkäät suodattimet, jonka avulla muokattu JavaScript-koodi voi suorittaa mielivaltaisesti stream-kohteita.

Vuoden 2019 aikana keskityimme MultiChain 2.0 Enterprise -yritykseen, joka on MultiChainin kaupallinen versio suurille asiakkaille. Ensimmäinen Yritysesittely hyödynnetään ketjujen ulkopuolella olevaa dataa virtoissa lukemisen sallimiseksi, salatun datan toimittamiseksi ja yksittäisten kohteiden valinnaiseksi hakemiseksi ja puhdistamiseksi. Kuten aina, taustalla oleva monimutkaisuus on piilotettu käyttöoikeuksia ja stream-kohteita koskevan yksinkertaisen sovellusliittymäjoukon takana. Suoratoistojen avulla tavoitteemme on jatkuvasti ollut auttaa kehittäjiä keskittymään sovelluksensa tietoihin eikä huolehtimaan kulissien takana juoksevasta lohkoketjusta.

Tietokannan ongelma

Kun MultiChain-virrat ovat jatkaneet kehitystä, olemme joutuneet jatkuvaan ongelmaan. Pitäisikö MultiChainin lukea ja analysoida virtaustietoja täydellisen tietokannan luomiseksi? Pitäisikö sen tarjota JSON-kentän indeksointia, optimoitua kyselyä ja edistynyttä raportointia? Jos näin on, mitä tietokantamalliä sen tulisi käyttää - relaatiot (kuten MySQL tai SQL Server), NoSQL (MongoDB tai Cassandra), haku (joustava tai Solr), aikasarjat (InfluxDB) tai muistissa (SAP HANA)? Loppujen lopuksi on olemassa blockchain-käyttötapoja, jotka sopivat kuhunkin näihin lähestymistapoihin.

Yksi vaihtoehto, jota harkitsimme, on käyttää ulkoista tietokantaa MultiChainin ensisijaisena tietovarastona nykyisen sulautettujen LevelDB- ja binaaritiedostojen yhdistelmän sijasta. Tämän strategian hyväksyi Ketjuydin (Lopetettu), Postiketju (ei vielä julkinen) ja on saatavilla vaihtoehtona Hyperledger-kankaassa. Mutta lopulta päätimme tätä lähestymistapaa vastaan ​​ulkoisesta prosessista riippuvuuden riskien takia. Et todellakaan halua, että blockchain-solmu jäätyy, koska se menetti tietokantayhteytensä tai koska joku suorittaa monimutkaisen kyselyn tietovarastoon.

Toinen huomioon otettava tekijä on tekniikan ja integraation agnosticism. Useita organisaatioita käsittelevässä lohkoketjuverkossa jokaisella osallistujalla on omat tietokantatekniikka-asetukset. Heillä on jo sovelluksia, työkaluja ja työnkulkuja, jotka on rakennettu heidän tarpeitaan vastaaville alustoille. Joten valitessamme tietyn tietokannan tai jopa tarjoamalla muutamia vaihtoehtoja, haluaisimme lopulta tehdä jotkut käyttäjät tyytymättömiä. Aivan kuten jokainen blockchain-osallistuja voi ajaa solmuaan monenlaisilla Linux-aromeilla, heidän tulisi voida integroida valitsemaansa tietokantaan.

Esittelyssä MultiChain-syötteet

Tänään olemme iloisia julkaisemisestamme tietokantaintegraatioon - MultiChain-syötteisiin. Syöte on reaaliaikainen levyn binääriloki tapahtumista, jotka liittyvät yhteen tai useampaan lohkoketjuvirraan ulkoisten prosessien lukemista varten. Tarjoamme myös avoimen lähdekoodin MultiChain-syöttösovitin joka pystyy lukemaan syötteen ja replikoimaan sen sisällön automaattisesti Postgres-, MySQL- tai MongoDB-tietokantaan (tai useampaan kerrallaan). Sovitin on kirjoitettu Python-muodossa ja sillä on liberaali lisenssi, joten sitä voidaan helposti muokata tukemaan ylimääräisiä tietokantoja tai lisäämään tietojen suodattamista ja muuntamista. (Olemme myös dokumentoineet syöttötiedostomuoto niille, jotka haluavat kirjoittaa jäsentäjän toisella kielellä.)

MultiChain-syötteiden kaavio

Solmun ei tarvitse tilata virtaa voidakseen replikoida sen tapahtumat syötteeseen. Tämän avulla MultiChainin sisäänrakennettu streamin indeksointi voidaan kokonaan ohittaa, jotta säästät aikaa ja levytilaa. Syötteet heijastavat myös ketjun ulkopuolisen datan hakemista ja puhdistamista, ja ne voivat kertoa uusien lohkojen saapumisesta ketjuun. Levytilan säästämiseksi voit hallita tarkalleen, mitkä tapahtumat syötetään syötteeseen ja mitkä kentät tallennetaan jokaiselle kyseiselle tapahtumalle. Lisäksi syötetiedostoja kierretään päivittäin, ja tiedostojen poistamiseksi käsittelyn jälkeen on yksinkertainen puhdistuskomento.

Miksi MultiChain-syötteet kirjoitetaan levylle sen sijaan, että ne virtataan prosessien välillä tai verkon kautta? Koska haluamme niiden toimivan erittäin luotettavana replikaatiolokina, joka on kestävä tietokannan seisokkeille, järjestelmän kaatumisille, virrankatkoksille ja vastaaville. Käyttämällä levytiedostoja voimme taata kestävyyden ja sallia kohdetietokannan päivityksen asynkronisesti. Jos jostain syystä tämä tietokanta ylikuormittuu tai katkaistaan, MultiChain voi jatkaa toimintaansa keskeytyksettä, ja tietokanta tulee kiinni, kun asiat palautuvat normaaliksi.

Aloittaminen syötteillä

Syötteet on integroitu MultiChain Enterprise -yrityksen uusimpaan esittelyyn / beetaversioon, joka on ladattavissa nyt. Aloita lukemalla MultiChain-syöttösovitintai tarkistamalla syötteeseen liittyvät sovellusliittymät. Haluaisimme kuule palautetta tämän ominaisuuden suhteen ja kuinka voimme laajentaa sitä tulevaisuudessa.

Syötteiden julkaisun myötä MultiChain Enterprise -sovelluksen versio 2.0 on nyt ominaisuus valmis - katso Lataa ja asenna -sivulta täydellisen vertailun yhteisön ja yritysversioiden välillä. Parin seuraavan kuukauden aikana saamme päätökseen sen testauksen ja optimoinnin, ja odotamme sen olevan valmis tuotantoon ensimmäisen vuosineljänneksen lopulla. Sillä välin, älä epäröi saada tietoa MultiChain Enterprise -lisensoinnista tai hinnoittelusta ota yhteyttä.

Ole hyvä ja lähetä kommentit LinkedIn.

Lähde: https://www.multichain.com/blog/2020/02/multichain-feeds-for-database-integration/

Aikaleima:

Lisää aiheesta moniketjuisille