Sberbank Technologiesの特別プロゞェクト銀行がHadoop、Spark、Kafka、その他のビッグデヌタを準備する方法

私たちは皆、おそらく銀行に䜏んでいるJavaの密な遺産を笑うのが倧奜きです。 この蚘事を読んだ埌、このストヌリヌの別の偎面を理解するこずができたす。 特にSberbank Technologiesには、ビッグデヌタや機械孊習など、画期的なテクノロゞヌや分野に関䞎する倧芏暡な郚門党䜓が存圚するこずがわかりたした。 さらに、たもなく、ほずんどすべおのコヌヒヌマシンにMachine Learningが組み蟌たれた䞖界に出䌚うかもしれたせん。 良くも悪くも、すべおのATMから千の目で私たちを芋おいるモノのむンタヌネットは、この叀いゞョヌクのはるかに適切な読曞です。



お気づきかもしれたせんが、私はHabréで仮想マシン、OpenJDKの内郚、JVM、その他のシステム開発に぀いお曞いおいたす。 銀行業゜フトりェアに関するこの蚘事はなぜですか か぀おないほど関連性が高いからです。 想像しおみおください。あなたは非垞に癜く、2倍のデヌタサむ゚ンティストであり、4倍の重芁なJITコンパむルの達人です。 次は 誰が今ここでこれをすべお必芁ずしたすか 倚くの堎合、「今、あなたはお気に入りのJavaをいじくり回しおいたす。明日は誰もあなたを雇うこずはありたせん」ずいうトピックに぀いおの掚論を耳にしたす。 これは非垞に面癜くお危険な誀解です。 この蚘事で説明するこのような仲間のおかげで、私たちは垞に仕事をするこずができたす。



もちろん、誰も私の蚀葉を受け入れおはいけたせん。したがっお、特にハブルにずっお、私はモスクワに飛行機を取り、Sberbank Technologiesの特別プロゞェクト開発郚門の責任者ず話をしたした。 Vadim Surpinは私に1時間以䞊を費やしたした、そしおこのむンタビュヌでは私たちの䌚話から最も重芁な考えだけがありたす。 さらに、Vadimを説埗しおJBreak䌚議ぞの参加を申請するこずができたした。 さらに、Vadimは、Habrぞの招埅に倀するように思われた最初の人物であるvadsu 招埅はChromeDriverのハッキングに関する蚘事で正盎に獲埗されたした。




-Habréの読者にあなたのチヌムに぀いお少し話しおいただけたすか、あなたは䜕をしおいたすか



-ビッグデヌタのコンピテンスセンタヌがありたす。 したがっお、Hadoop、それに近いもの、およびビッグデヌタの凊理を可胜にするものすべおに取り組んでいたす。 Hadoopに加えお、これらはキヌバリュヌリポゞトリ、分散テキストむンデックス、Zookeeperの補助コヌディネヌタヌ、 ImpalaのようなHadoopの軌道からのMPP゜リュヌションです本栌的なMPPず呌ぶこずができる堎合でも、そうであるず䞻匵しおいたす。 これは、もちろん、Spark、Kafka、その他の䞀般的なものです。 それは技術的にです。

理論的には、Hadoop for bankは、倧量の内郚および倖郚の銀行デヌタを凊理できるプラットフォヌムです。 䌚議では、圌らはしばしばSBSに぀いお話したす。これはトランザクションシステムです。 Hadoopは分析システムです。 PPRBはより倚くの最新情報を凊理し、Hadoop-情報の履歎量党䜓を蓄積したす。 これはトランザクションデヌタであり、ある皮のクラむアントデヌタ、アカりント、オペレヌションです。 これは個人および法人に適甚されたす。 たずえば、䌁業で䜿甚するSpark Interfax、クレゞット履歎の゜ヌスなど、倚数の倖郚デヌタがありたす。 このデヌタはすべおHadoopに集玄され、顧客プロファむルを構築し、マヌケティングキャンペヌンに぀いお小売業者の意思決定を行い、顧客の流出の可胜性を蚈算したす。 ナニットの䜜業スケゞュヌルなど、さたざたなスケゞュヌルをむンテリゞェントに構築するため。 最近、Google Playのレビュヌに基づいおSberbankのモバむルアプリケヌションの障害を特定できるモデルを構築したした。぀たり、任意のテキストの分析を開始したした。 画像分析で実隓したした-これは、ビデオたたはカメラからの写真によっお銀行のクラむアントをより適切に刀断するために必芁です。 銀行にはこれらの分野の倚くがありたす。



さらに、他の銀行システムず統合する必芁がある堎合、むンフラストラクチャがハヌドコアになりたす。 WAY4、SmartVista、たたはCENでリアルタむムモヌドで倧量のデヌタをダりンロヌドする必芁がある堎合。 ぀たり、これはビッグデヌタず高負荷の組み合わせです。 これは興味深い玔粋に技術的な問題を匕き起こしたす。 通垞、すべおのカンファレンスで、ビッグデヌタず機械孊習はたったく同じものであるず蚀うのであれば、ここではそうではありたせん。 ゚ンタヌプラむズプラットフォヌムを構築する過皋で、倚くの玔粋に技術的な問題があり、それらはそのたたではビッグデヌタの䞖界では解決されないこずに気付きたした。 特に、Hadoopで実際のデヌタのストリヌムを取埗するのは簡単なタスクです。 しかし、1時間あたりわずか数テラバむトのサむズのストリヌムでは、単玔なものから別の倧きなタスクに倉わりたす。 Hadoop䞊のデヌタぞのリアルタむムアクセスの提䟛は、タヌンキヌ゜リュヌションではあたりカバヌされおいない別の領域です。



-埅っお。 Hadoopはもずもずリアルタむム甚ではありたせんでした。 そのバッチ凊理ではありたせんか



-ビッグデヌタは非垞に興味深い発展を遂げたした。 最初は、倚数のサヌバヌにデヌタを分散するだけでした。 そしお分析システム-建物プロファむルなど すべおは怜玢、サむトのむンデックス䜜成から始たり、本圓にオフラむンです。 珟圚、これは倚くの出版物で芋られるように、情報のストリヌム凊理にたすたす移行しおいたす。 リアルタむムに近いです。 ビッグデヌタに぀いお話すずき、ログの凊理、぀たりテキスト情報のトピックは垞に浮かび䞊がりたした。 Elastic、Solrなどの分散むンデックスがありたす。 これもビッグデヌタですが、リアルタむムです。 ぀たり、ビッグデヌタが必ずしもバッチであるずは蚀いたせん。



-うん。 そしお、Hadoopでリアルタむムにどのように察凊したすか



-リアルタむムをストリヌム凊理ずリアルタむムアクセスに分割したす。 リアルタむムアクセスずはどういう意味ですか デヌタをバッチで凊理し、それらぞのポむントアクセスを提䟛できたす。 基本的に、これらはKey-Valueストレヌゞであり、Elasticのような䞊蚘のテキストむンデックスです。 これらは最終的な陳列ケヌスずしお機胜したす。 党文怜玢の堎合、このようなディスプレむケヌスぞのアクセスは、事前に遞択されたキヌたたはキヌセットによっおのみ実行できるこずは明らかです。 ご存知のように、゚ンタヌプラむズ環境では、倚くのお客様がデヌタぞの正確なSQLアクセスを求めおいたす。



-/ *ため息が重い/ *



-はい。 さらに、このデヌタはNoSQLデヌタベヌスにある堎合もありたす。 そしお、ここであなたはそれをする方法を考えなければなりたせん。 もちろん、これに察する完党な解決策はありたせんが、メモリ内のさたざたなキャッシュのために、同じむンデックスの線成のために、倚かれ少なかれ䞀般化されたものを構築しようずしおいたす。



-そしお、結果はある皮のフレヌムワヌクになりたすか、それずも問題の堎所でのアドホックな゜リュヌションですか



-それは、フレヌムワヌクを実行しようずするポむントです。 䞀般に䞖界で起こっおいるこずを垂堎で芋るず、䞀般に、 Strataのような倧芏暡な䌚議で、人々が「ロヌカルに」決定を䞋すこずは明らかです。 銀行では、DKAの存圚䞋で...



-コヌポレヌトアヌキテクチャ孊科



-はい。 DKAの存圚䞋では、䜕䞖玀もの間、石に圫りたいずいう欲求が垞にありたす。 したがっお、倚かれ少なかれ䞀般的な決定を䞋す方法を芋぀けなければなりたせん。 SQLずNoSQLの2぀の異なる䞖界を暪断するこずは垞に可胜ずいうわけではありたせんが、倚少の䞀般的な決定をしようずしおいたす。



-それはどれくらい生きたすか 1幎、2、3、10幎 あなたの蚈画は䜕ですか



-質問は興味深いです。 私たちが話しおいるこずを芋おいたす。 ずにかく、ビッグデヌタ技術は非垞に急速に進化しおいたす。 デヌタストレヌゞ、バッチ凊理に関連するものが倚かれ少なかれ確立されおいるように思えたす-それらはわずかに長い寿呜を持っおいたす。 より新しい方向、同じストリヌム凊理、リアルタむムに関連するすべお-ここでいく぀かの乱れがありたす。 これらの決定は、今埌数幎間でさらに手盎しされる傟向がありたす。



-そしお、どの正面が最も前進しおいるのでしょうか、やり盎したすか



-珟圚、「デヌタクラりド」のプラットフォヌムに取り組んでいたす。これは銀行のHadoopの名前です。 「クラりド」ずいう名前は、私たち自身にずっお最初は奇劙に思えたず蚀わなければなりたせん。 「クラりド」は、OpenStack、Amazonなどの有名なクラりドプラットフォヌムであるためです。 したがっお、Hadoopは「クラりド」ではないようです。 さらに、Hadoopは圓瀟のハヌドりェアで䜜成されおいたす。 「AS Data Cloud」ずいう名前は、「サヌビスずしおのデヌタ」ず理解する必芁がありたす。 むンフラストラクチャ自䜓がクラりドではなく、デヌタはクラりド内に存圚し、サヌビスずしお顧客に提䟛できたす。 珟圚、ビゞネス顧客にずっお最も人気のある郚分は、すべおの銀行デヌタを1぀のプラットフォヌムで利甚できるこずです。そのため、実隓を実斜し、デヌタを扱うラボを持ち、デヌタを統合するこずができたす。 ぀たり、1぀のクラむアントに関するデヌタ、異なる゜ヌスからの1぀のむベントに関するデヌタを比范したす。 これは私たちにずっお最も難しい仕事です。 デヌタの取埗ずデヌタの統合は叀兞的なストレヌゞタスクですが、Hadoopでも発生したす。



次の前線。 デヌタが十分な量になったら、そこから䜕らかのビゞネス結果を抜出する必芁がありたす。 これらはさたざたなパむロットずデヌタ実隓です。 成功した実隓に基づいお、Geomarketingなどの倚くの自動化システムが開発されおいたす。



-デヌタのマッチングに぀いお-それは迷宮ですか



-いいえ、ラビリンスはグラフプラットフォヌムです。 事前にパッチされたデヌタのグラフ衚珟を吞収したす。 ぀たり、マッチングはラビリンスの䞀郚にすぎたせん。 グラフ化のためのデヌタ準備の䞀郚。 蚀い方すらわからない...これはラビリンス党䜓ではありたせんが、それは非垞に重芁な郚分です。 グラフは、さたざたなオブゞェクト、䞻題、珟象間の関係を識別するのに圹立ちたす。



-順番に来おください。 迷宮はプロゞェクトの名前ですよね



-䞀般に、プロゞェクトはコヌド名U1で始たりたした。



-U1 飛行機の名前のように聞こえたす。



-圓初、このプロゞェクトの顧客はURPAの郚門でした。぀たり、問題資産を扱う郚門、぀たり、ロヌンを支払いたくない人を探す郚門でした。 したがっお、文字「U」ず「1」-URPAの最初のプロゞェクト。 そしお、これはこの顧客だけでなく適甚可胜であるこずに気付きたした。 しばらくしお、「Labyrinth」ずいう名前がお客様から生たれたした。 なぜたさに迷宮なのか 今蚀うのは難しいですが、 おそらく人ず組織間の぀ながりのグラフがグラフィカルむンタヌフェむスで歩き、ナビゲヌトし、新しい関係を開くこずができ、迷路の䞭で道を芋぀けるようなものでした。



「それもかっこいいですね。」



-はい。 このシステムには他の名前もありたしたが、迷宮が定着したした。



-どのビゞネスシナリオで解決できるか、詳しく教えおください。



-圓初、ビゞネスシナリオは倧芏暡な経営者の怜玢でした。 耇数の䌁業が互いに独立しおいるように芋える堎合、興味深い金融スキヌムがありたす。たずえば、ロヌンを取り蟌んだ埌、䞀瞬で消滅したす。 たあ、圌らの間の䜕らかの皮類の盞互䜜甚のために、このお金はスクロヌルされ、どこかに奪われ、すぐに消えたす。 同時に、これらの䌁業間の関係は衚面䞊では芋えたせんが、倖郚の远加デヌタを䜿甚するこずで、䌁業が疑わしい゚ンティティのコングロマリットであるずいうリスクを怜出しお匷調するこずができたす。



-隠し持ち むノポリスのスラむドを芚えおいたす。



-はい。ただし、「隠された保持」は別のシナリオです。 そのような共通のリヌダヌの怜玢が、興味深い皮類の詐欺、詐欺を明らかにする可胜性が高い堎合、「隠された持ち株」は別のシナリオです。 ご存知のように、Sberには倚くの顧客がいたす-個人ず法人の䞡方です。 トランザクションに基づいお、いく぀かの生産チェヌンを発芋できたす。 たずえば、䌁業がサヌビスに察しお定期的に盞互に支払い、事実䞊、事実䞊の保持を圢成する堎合、それらは正匏ではありたせん。 そしお、そのような生産チェヌンを芋぀けた堎合、このグルヌプの䌁業は持ち株に䟿利な特別な䌁業向け補品を提䟛できたす。 これにより、システムの芳点から完党に独立した䌁業である堎合よりも、遅延、少ない遅延などで、盞互間の決枈をより速く、より䟿利に行うこずができたす。 これは肯定的な䜿甚法です。 䌁業がSberのサヌビスをより䟿利に䜿甚できるようにしたす。



-これは䌚瀟の芳点からどのように起こりたすか ある朝、Sberbankの埓業員があなたに電話し、「あなたは同じチェヌンで働いおいるこずがわかりたした」ず蚀いたす。



-残念ながら、これはこういうこずです。私には蚀えたせん。 このビゞネスが実際にどのように適甚されるか、䌚話スクリプト-残念ながら、私は知りたせん。 掚枬するこずしかできたせん。



-぀たり、ビゞネスに情報を提䟛するだけです。



-はい、情報を提䟛したす。この情報に基づいお補品を販売する方法は、ビゞネスナニットのタスクです。 クラむアントマネヌゞャヌが人ずよく発達した関係を持っおいる堎合、人に䜕を尋ねるかを知っおいれば、い぀でもそのトピックに぀いお䌚話をするこずができたす。



-このシステムのナヌザヌの芳点から、このようなチェヌンが怜出されたずきの応答の結果はどのように芋えたすか チェヌンアむテムをリストしたテキストファむルが生成されたしたか



-いいえ。 これはグラフィック画像です。 通垞、特定の䌚瀟が描かれ、その呚りには盞互接続された顧客のクラりドがありたす。 倧䌁業のクラむアントに察しお同様のタスクを怜蚎する堎合、どこから来お、どの䌚瀟であるかがすぐにわかりたす。 私たちは最倧の顧客を匕き取り、圌らが契玄しおいる請負業者を探したす。 倧芏暡なクラむアントの掻動のタむプを知っおいるず、各生産チェヌンの方向を簡単に考えるこずができたす。 誰が䜕を圌に、誰に䜕のサヌビスを提䟛するか。 グラフィカルに、それはクラむアントのように芋え、その呚囲にはそのような発散する光線があり、これらはカりンタヌパヌティです。 したがっお、圌らは通垞、倧芏暡な顧客から始めお、フィルタヌを通りたす。 そしお、それらからさらにすべおのチェヌンが展開したす。



-これは単なるスナップショットですか、䜕かを時間内に远跡できたすか 䌚瀟の成長なのか、逆に䌚瀟の厩壊なのか



-これはわずかに異なるタスクです。 隠された持ち物を芋぀けるために、最初の段階では、履歎情報はそれほど重芁ではありたせん。 関連する情報だけが重芁です。 履歎情報による顧客ずクラむアントのステヌタスの远跡は、わずかに異なるプロゞェクトです。 圌は珟圚、商業運甚ではなく開発䞭です。 これは「ニュヌス監芖」プロゞェクトです。 ニュヌス゜ヌスをテキストずしお凊理し、顧客に関連する重芁なむベントを発芋しようずするずき。 たずえば、ニュヌスで組織の裁刀に関する情報が倧量にある堎合、これはそれぞれのクラむアントマネヌゞャヌが財務状況などを詳しく調べる機䌚です。



-それで、たくさんのプロトタむプず実隓がありたすか



-はい。 実際、ビッグデヌタプラットフォヌムは、倚くの実隓が行われおいるような方法で開発されおいたす。 叀兞的な䌁業である銀行゜フトりェアは、次のように開発されおいたす。ボックスを賌入し、機胜を実行したす。これらはすべおクラむアントに提䟛されるだけです。 ビッグデヌタの動䜜は少し異なりたす。 ここで、私たちは実隓宀でこれらの機胜を芋぀けようずしおいたす。これらの機胜に基づいお、埌で内郚䜿甚のために特定のボックスを䜜成できたす。 それ自䜓で箱を䜜るこずはより長いプロセスですが、倚くの堎合、実隓の結果に基づいお、ビゞネスは今すぐ利益を埗るこずができたす。



-誰がこれをしおいるの このスタッフは研究者、開発者で構成されおいたすか たたはその逆に、3分の2がアナリストであり、2人のプログラマがいたすか どのように芋えたすか



-実隓に぀いおは、ここで倧郚分の人々はアナリストずデヌタ科孊者であり、プログラマヌは少し少ない。 ぀たり、開発者は、たずえばアナリストやデヌタサむ゚ンティストが自分では凊理できない非垞に倧量のデヌタを凊理する必芁がある堎合に、実隓のプロセスに関䞎したす。 しかし、研究ず関係は分析ずデヌタ科孊者です。 そしお、これらは必ずしも私たちのナニットの埓業員ではありたせん。 倚くの堎合、これらはビゞネスブロックの埓業員などです。



-デヌタサむ゚ンティストは、䜜業䞭にどのツヌルを䜿甚したすか



「圌らは、Python、Jupyter Notebook、すべおのデヌタ科孊者が䞖界䞭で䜿甚する倚数のpythonラむブラリを奜む傟向がありたす。」 ビッグデヌタに関しおは、PySparkApache SparkのPython API、Hiveデヌタを準備するためです。これらは非垞にカスタムの興味深い゜リュヌションです。 たずえば、Spark内でxgboostを構築し、それを分散しお実行したした。 すぐに䜿甚できるSparkの機械孊習ラむブラリは良奜な結果をもたらしたしたが、xgboostは小さなデヌタでより適切に機胜したした。 私は2぀の䞖界のベストを取りたした。



-それで、あなたはどんなツヌルでも䜿甚できたすか いく぀かのツヌルセットがむンストヌルされおいたせんか



-2぀の環境がありたす実隓宀新しいツヌルを導入しやすいず産業甚回路新しいツヌルを導入するには実蚌プロセスが必芁です。 動物園に新しい獣が必芁な理由を建築家に瀺す必芁がありたす-実隓宀では簡単で、り゚ディングではやや耇雑です。 しかし、もちろん、技術の悪埪環はありたせん。 私たちは状況を芋ようずしたす。



-そしお、アヌキテクチャの芳点から、誰がそれを定矩したすか たずえば、ビッグデヌタ゜リュヌションのアヌキテクチャは



-アヌキテクチャを描く䌁業のアヌキテクトがいる堎合、ここには䌝統的な組織構造があり、これはさらに実装する必芁があるようです。 もちろん、実際には、ビッグデヌタで䜕かが絶えず倉化しおいるこず、トレンドが絶えず倉化しおいるこず、䜕かが背景に远いやられおいるこずを考えるず、これは必ずしもそうではありたせん。 本圓に掘り䞋げおみるず、ある時点でmap-reduceは、プログラマヌが盎接䜿甚するテクノロゞヌずしおレヌダヌをほが完党に残したした。 実際、䌁業のアヌキテクトは、圓瀟の胜力の䞭心にいるアヌキテクトやチヌムリヌダヌず緊密に連携しおいるこずがわかりたした。 抂しお、倚くの決定はチヌムリヌダヌのレベルで行われたす。 最初はチヌムリヌダヌが開始し、関心のある人々ず培底的に話し合いたす。



-そしお、コンピテンスセンタヌずは䜕ですか



-これは特定の技術に焊点を圓おた組織構造です。 たずえば、ビッグデヌタがありたす。 PRPRには、グリッドゲむンに関連するすべおのものがありたす。 凊理センタヌ、CRMなどがありたす。 — BI, SQL-. — : , .



— , , - Agile-?



-はい。 , , . . , , , , . «»  , , IT, . , , .



— . ?



— , ?



— , ( ). - ? -, .



— . , , , , . , — , , . , , : , , , , , , .



. — , . - , -, . — , , . , , , , , - . , , . , , , , . . , - 




— , .



— , , - . , . - ( — ) , -. . , (, , ), , , , - .



— - ? , , -?



— , — . - , . , , , , - . , , . . : , , -. — , , — .



— ?



— . — , - , . , - , .



— ?



— . . - , , , — , , . , . — -, . , , .



— — . , ?







— — , . , Big Data- , . , . , open source, . , . , ? . , , , - , , — . . - 
 . , . , — . . , . , , . (, , , ) .



— . . - ?



— , , . , - - . .



— ?



— , TigerGraph . , , , . , . . , , — , - .



— , , .



-はい。 , , , — , , , . - . . , — GraphX , Giraph , . , Hadoop, , . , , , , . .



— , ?



— . , — . . . « »? , : , — . , . , , :-) — , — .



— ? ?



— . ID, , . .



— . , , , ?



— , , . , . . , , , — .



— , ?



— . , Elastic Solr ( Elastic, — ), key-value (assandra HBase, ) , .



— - Java API , ?



— API, . . , , . , - -, . «». , — . , . , . , 10-20-50-100 , , . UI — .







— UI JavaScript ?



— JavaScript, .



— ?



— D3 . , . — , , . , , , , . . D3 — , - , . , . , , , , , .



— ? Java- -, ?



— , . , , , , - , . , , — .



— , , — .



— , , . — . - , . , , .



— . « 2.0»?



— — , , — , . — , , . . , ( ) , , . — - , , . , , - , , . , , , — , , , -? , , , , . . — .



— . ?



— ? , , - - , . — . (, , ) , , , .



, , , . , - . , . , , , . , , 




— — , .



-はい。 , , , . , — . , , — . , — , , , . — .



— -?



— . , , , . , , , . , , . .



— , , — ?



— — , .



— , .



— . , — , . , — . , , . , , , . - , . , . .



— , , - ?



— , ? , . , . , . , .



— .



— — -. : , , , .



— , ?



— , Big Data, - . . . , - , , . -, . Hadoop. — , .



— ?



— , . - , — . , — — , , . , . , - .

— . , , — . . — , - , . -, - . .



— ?



— - . , , . . , — . .



— , , ?



— , — Hadoop, — Spark . , — Leaflet , ( ). , , , .



— , , ?



— , . , - , -, . - .



— — - ?



— , . — , , . - , , , . , . , , -.

, 
 - — . - , , , , , , - . .



— - , — ? 




— , . , . : , , — . , . -. , . , . . -.



— , , . , ?



— , , , , . ? open source. , enterprise, , , , open source- — IT.



— , ?



— , . IT, - . . , — , , , IT- . , IT . , .



? , Big Data — , , , . , ad-hoc. , - , — . , , . . , . , — , .



Hadoop , , . SQL- Hadoop, , , . SELECT , - , , , . — . , , — realtime- Hadoop. , , , . , IT-, — Hadoop. — Big Data . , . , - .



— , — . ?



— , , . — , . . . , . , , , , . — . .



— - , - ?



— . realtime- Hadoop — ? . Hadoop — , batch, , , . , , .



, . ( - ) , , , . .



, — Hadoop. — - , , HDFS, — , ! ? , , - . . source control devops stack.



— , , ( - )?



— , , Java-, . . , , , — , . , . , , SQL, . — data scientist. , ( ) . , . — . , — , - . , .



— -.



— . , -, .



— -?



— , , Hadoop, Spark, Hive, , — HBase, Cassandra, Solr, Elastic , Hadoop. , Java — . . — ( - Hadoop ).



— . , , — . - SmartData. — JBreak JPoint . , !



All Articles