Nul
De mogelijkheid om binnenkrijgen en verwerken van grote hoeveelheden gegevens in real time is iets interessant zijn om meer en meer organisaties. Dit is een gebied zien van snelle groei, als de use cases kunnen vertalen van de directe voordelen.
Wij hebben deze ruimte voor een tijdje nu, en de release van Apache Samza 1.0 is een goede gelegenheid om terug te blikken en te zien hoe dit verandert dingen.
Ook: Veeleisende toegang tot real-time data is het niet onredelijk
Geboren en getogen in LinkedIn
Apache Samza werd ontwikkeld op LinkedIn in 2013. Samza werd een top-niveau Apache project in 2014, en nu, het wordt gebruikt door meer dan 3.000 applicaties in productie op LinkedIn. De use cases zijn het opsporen van afwijkingen, het bestrijden van fraude, het controleren van de prestaties, meldingen, real-time analytics, en nog veel meer.
Als u enigszins vertrouwd zijn met deze ruimte, dit moet een belletje doen rinkelen. Apache Kafka, een ander belangrijk kader voor de real-time verwerking van gegevens, ook ontwikkeld op LinkedIn. Kafka werd de standaard transport mechanisme voor het bijhouden van de gegevens op LinkedIn en met tal van gegevens die zijn gegenereerd dagelijks in Kafka, toepassingen die nodig zijn voor het verkrijgen van inzichten.
Ook: Wat Overstock.com leert over haar klanten, van tientallen jaren van gegevens
Deze toepassingen behandeld met een gemeenschappelijke set van problemen als ze geconsumeerd berichten van Kafka, zoals checkpointing, het beheer van de plaatselijke toestand, afhandeling storingen, schaal-out verwerken, enz. Apache Samza werd gebouwd om deze problemen te verhelpen in de stream processing. Het ding is echter, dat dit kan hebben zin dan. Heeft het zin vandaag?
Dit lijkt misschien een vreemde vraag om te stellen. Immers, de instroom van gegevens niet gestopt is-integendeel, het is toegenomen. Wat is nu anders is, is dat er vele andere kaders rond gebouwd om om te gaan met die exact dezelfde behoeften: Apex, Flink, Vonk, en Storm naar de lijst alleen de Apache open source projecten. We hebben ook een paar vrije oplossingen.

Een momentopname van de streaming landschap. (Afbeelding: Ovum)
Samarth Shetty, Apache Samza team lead bij LinkedIn, zei dat toen ze werden voor het eerst omgaan met stream processing, waren er zeer weinig bestaande stream processing kaders die kan omgaan met de omvang of de technische problemen die ze hebben op LinkedIn. Om die reden, besloten zij dat het het beste zou zijn voor het bouwen van hun eigen kader:
“Bijvoorbeeld, wij moesten bouwen, mogelijkheden, zoals het Incrementele foto’ s en Host Affiniteit in Samza. Deze niet beschikbaar waren op dat moment in de kaders zoals Apache Flink. Kafka Streams is geschikt voor het verwerken van gebeurtenissen in Kafka, maar op LinkedIn, moeten we een mogelijkheid om gebeurtenissen te verwerken van/naar verschillende systemen, zoals Azure EventHubs, AWS Kinesis enz.
Samza biedt dit de mogelijkheid om eenvoudig verbinding te maken met verschillende systemen. Stream processing is een zeer belangrijk use case op LinkedIn, dus we waren toegewijd aan het bouwen van de beste kader mogelijk. Na verloop van tijd, we geloven dat we zijn gebouwd op een van de meest geavanceerde stateful stream processing kaders die het best geschikt is om te verwerken LinkedIn behoefte schaal.”
Dit op een of andere manier lijkt op de situatie die wij hebben met machine learning kaders: Er is gewoon zo veel van hen die er zijn. Met de vele opties is op zich niet slecht natuurlijk, maar de lijn tussen “veel” en “te veel” is een dunne. Soumith Chintala, Facebook team lead voor PyTorch, antwoordde langs dezelfde lijnen: We wilden iets dat werkte voor ons, dus we bouwden.
Ook: Het verleden, het heden en de toekomst van de streaming
Een Stralend API
In tegenstelling tot Kafka en Samenvloeiende, echter, Samza nooit uitgroeide tot een product met een verkoper van zijn eigen. Shetty gezegd: er is een groep van ingenieurs die stream processing op LinkedIn, en Samza is een integraal onderdeel van dat werk. Hij ging op aan toevoegen, maar dat zien ze niet Samza als een product:
“We zien het als een open source project. LinkedIn is altijd betrokken geweest bij open source op deze manier — wanneer we build tools waarvan we denken dat het waardevol kan zijn buiten het bedrijf, willen we deze terug te geven aan de gemeenschap, indien mogelijk.
Hoewel er is op dit moment niet een leverancier gebonden aan Samza, meerdere bedrijven, waaronder Slack, TripAdvisor, Redfin, en Optimizely, worden gebruikt in de productie. Iets dat we voelen dat trekt andere organisaties om met behulp van Samza is het feit dat het strijd-getest op schaal, want we gebruiken het zelf op LinkedIn.”
Zoals we opgemerkt toen we de laatste gedekt streaming, we zagen net DataTorrent, de verkoper achter Apex, go out of business onlangs. Misschien is er gewoon niet genoeg ruimte voor een meer open-core streaming leveranciers op dit punt. Dus, als u wilt te gebruiken Samza, u zal hebben om het te achterhalen, en voer het uit in de productie, het op uw eigen. Dat is niet veranderd met versie 1.0. Maar andere dingen zijn veranderd, op een manier die invloed kunnen hebben op het bredere landschap.
Met name Samza heeft nu een nieuwe API, en het is Apache Beam compatibel. Apache-Beam is een open-source project dat voorziet in een uniforme API, waardoor leidingen te dragen over de uitvoering van de motoren, met inbegrip van Samza, Vonk, of Flink. Het staat ook voor de verwerking van gegevens in andere talen, zoals Python, die veel gebruikt wordt in de gegevens wetenschap.
Apache Samza 1.0 brengt ondersteuning voor Apache Beam API, en dat is misschien wel de meest interessante ding erover. (Afbeelding: Kelly Sikkema / Unsplash)
De Samza team gerealiseerd op een bepaald punt dat terwijl de stabiliteit en prestaties zijn Samza ‘ s kracht, de programmering van de API was een vrij laag niveau. Samza aangeboden een eenvoudige callback-gebaseerde API, waardoor activiteiten worden vastgesteld op het niveau van een afzonderlijk bericht.
Ontwikkelaars moesten implementeren van complexe bewerkingen zoals windows en joins maken door zelf op de top van deze API. Bovendien, meerdere Samza banen dat nodig is om te worden aangesloten samen met Kafka onderwerpen, waardoor het bouwen van applicaties tijdrovend en foutgevoelig.
Ook: Deze opstarten denkt dat hij weet hoe de snelheid van real-time analytics
Samza 1.0 komt met een high-level API waarmee ontwikkelaars express complexe data pijpleidingen gemakkelijk door het combineren van meerdere operators. Maar de Samza team ging nog een stap verder, het maken van hun API compatibel is met Apache Bundel.
Wat dit betekent is dat je nu kunt schrijven streaming toepassingen op de top van de Lichtbundel met behulp van Java, Scala, of Python, en je kunt ze de haven binnen alle kaders die het ondersteunen, en u kunt uitvoeren op Google Cloud Dataflow-tenminste in theorie.
Beide Flink en Vonk hebben private extensies buiten de Bundel API, en de Vonk makers zijn niet erg geïnteresseerd in het ondersteunen van de Straal. Balk-ondersteuning op de Spark is via de gemeenschap bijdragen.
Maar als u zich aan de kern van Balk, draagbaarheid mogelijk zou moeten zijn. In ieder geval, een andere vermelding in de lijst van projecten die ondersteuning kunnen Bundel geven een impuls. Het kan ook helpen Google Cloud Dataflow. Dit is waar de Straal was begonnen, en de Breedte kan dienen als een manier om aan boord van streaming applicaties die Google Cloud.
SQL, DevOps, en wat dit allemaal betekent
Dat is nog niet alles voor Samza 1.0 hoewel, als het gaat, en met een paar belangrijke nieuwe functies: SQL en DevOps imporovements. Op een bepaald punt, de Samza team besefte dat, hoewel hun API kreeg een upgrade, Api ‘ s zijn niet ieders kopje thee. Niet-ingenieurs zou veel liever hebben toegang via SQL, en Samza is op de weg aan het verstrekken van deze.
We zeggen op de weg, want hoewel technisch SQL werkt, het heeft nog steeds te worden gebruikt via API aanroepen. Dit soort nederlagen het doel van het verlagen van de drempel, maar Shetty opgemerkt zij zijn in het proces van het creëren van een interactive shell voor het SQL, ook. SQL-ondersteuning is het krijgen van tafel stakes in streaming op deze dagen –Kafka, Flink, en Spark.
Een ander punt van verbetering voor Samza 1.0 is cluster-manager van de onafhankelijkheid. Voorafgaand aan Samza 1.0, Samza nodig GAREN voor resource management en verspreid uitvoering van applicaties. GAREN werkt, maar gebruikers wilden de flexibiliteit om stream processing in elke omgeving. Samza 1.0 adressen dit door het aanbieden van een stand-alone modus van toepassingen.
Ook: Streaming hot: Real-time big data architecture matters
Met deze modus kunt Samza te worden ingesloten als een bibliotheek binnen een applicatie en voer op een resource manager. Er zijn een paar van de vangsten, echter: De stand-alone modus is er nog geen ondersteuning stateful stream processing zoals windowing en joins, en ondersteuning voor Kubernetes is er nog niet. De Samza team is aan het werk om deze aan te pakken. Samza 1.0 brengt ook ondersteuning voor het samenvoegen van stromen met tabellen, en verbetert testability van Samza toepassingen.
SQL is het krijgen van tafel stakes voor streaming data. Bij voorkeur zonder te gaan door middel van een API. (Afbeelding: Apache Flink)
Dus, wat is het vonnis? Samza heeft een enorme vooruitgang met versie 1.0. Het team achter het lijkt zich bewust van zijn tekortkomingen, en verplicht te werken op hen. Ook zijn zij zich bewust van haar sterke punten, met vermelding van bijvoorbeeld hoe Samza is erin geslaagd om het proces van 1,2 M boodschappen/sec op een enkele machine.
De vraag is echter: Moet u de zorg, of het gebruiken? Als je zeker weet dat je het kunt instellen, programmeren, implementeren en onderhouden van uw eigen, dan is het zeker het overwegen waard. Het kan een open source puristen’ eerste keuze in feite — wat kan afschrikken sommigen zullen een beroep doen op anderen.
Ook: Real-time toepassingen gaan plaatsen
Samza 1.0 is belangrijk of je het nu gebruikt of niet. Dat is belangrijk want het geeft Apache Straal van een been, in een tijd waarin het leek te zijn in een impasse. Niet elke organisatie is LinkedIn niet iedere organisatie heeft de noodzaak, of de luxe van het bouwen en onderhouden van zijn eigen kader. Maar het ontwikkelen van op de top van de Bundel lijkt de beste inzet voor de overdraagbaarheid op dit punt.
En ook al is LinkedIn niet lijkt te geven Samza met Straal betekent dat ze nog kon doen, en in staat zijn om de haven hun applicaties naadloos op de API-niveau. Dat is geen geringe prestatie.
Verwante artikelen:
In 2025 bijna 30 procent van de gegenereerde gegevens worden real-timThis opstarten denkt dat hij weet hoe de snelheid van real-time analyticsOnline sporten te krijgen werkelijke real-time streamingProcessing time series data: Wat zijn de opties?
Verwante Onderwerpen:
Big Data Analytics
Innovatie
CXO
Kunstmatige Intelligentie
Enterprise Software
Opslag
0