「私たちは自分で曞かなければなりたせん。 圌らは座っお、「」ず曞いたスベルテクの研究宀クラスタヌの開発者たちの生掻

銀行は非垞に骚化した構造であり、実隓する堎所がないずいう神話がありたす。 この神話に反論するために、Sberbank Technologiesでスヌパヌアレむの実隓クラスタヌを開発する郚門の責任者であるValery Vybornovに短いむンタビュヌを行いたした。 圌らのチヌムでは、Scala、Akka、Hadoop、Sparkの党機胜を䜿甚するこずを恐れおおらず、Rustでプロトタむプを䜜成するこずすらありたせん。









䞻な質問












-あなた自身に぀いお少し教えおください。







-私はほが3幎前にスベルテに来お、圌がビッグデヌタを構築し、ビッグデヌタのむンフラストラクチャの構築に参加したずいう事実に埓事しおいたした。 私たちは、Sberbank自䜓の専門家を含む単䞀のチヌムで働きたした。







どのタスクを解決する必芁がありたしたか 募集を含む、あらゆるもの。 珟圚、この郚門の埓業員数は47人です。 私は埓業員を雇い、郚門で仕事を䜜りたした。 圌はクラスタヌの構築、パむロットおよびプロトタむプの開発に参加したしたこれはビッグデヌタの構築の最初の段階でした。







-ズベルバンクからはどこから来たしたか







-Video International瀟から。 私たちは基本的にオンラむン広告の技術サポヌトに埓事しおいたした。 圌らは広告のひねりを加え、しばらくの間そこで䜿甚したした。 ビッグデヌタもそこでの構築に埓事し、プラットフォヌムの䜜成に参加したした-その埌、分離され、最近たで垂堎ではアンバヌデヌタずしお知られおいたした。 今、圌らはNMGに買収されたした。







-人が倧䌁業にすぐにリヌダヌシップの䜍眮に来たずき、通垞、疑問が生じたすそのような高さに達するこずを可胜にした重芁なスキルは䜕でしたか







-重芁なこずを蚀うのは困難です。さたざたなスキルがさたざたな皋床で圹に立ちたした。 たず、もちろん、人々ずの仕事の経隓、管理経隓。 いずれにせよ、私はかなり長い間、すでに10幎以䞊、指導的立堎で働いおきたした。 2番目に圹立ったのは、この10幎間、テクノロゞヌから脱华するこずができなかったこずです。 私はただペンで䜕かをする方法を忘れおいたせん。







-暇なずきにこれをしたしたか プログラムにどれくらいかかりたしたか







-たずえば、Sberbankを䜿甚する堎合は、初期段階で、すべおが開始されたずきに、最倧80の時間をかけおみたしょう。 郚門が登堎するずすぐに、珟圚の20パヌセント、たたはそれ以䞋たで埐々に䜎䞋したした。







-プログラミングをお芋逃しなく。







-少し懐かしい。 䞀方、ここでより高いレベルにあるタスクは、非垞に興味深いものです。 管理タスク。







-プログラミングに携わっおいたずき、どんな仕事が奜きでしたか ナニットだけでなく、ビッグデヌタナニットもありたした。 これは個人的な奜みず関係がありたすか







-もちろん。 郚門の開発の結果、珟圚の状態-ビッグデヌタアプリケヌション開発のIT゚リア-が刀明したした。







-IT゚リアずは䜕ですか







-Sbergileマトリックス構造。 垂盎には「郚族」、氎平には「IT゚リア」ずビゞネスの章がありたす。 実際、IT゚リアは、異なるチヌムで働く同じIT胜力を持぀人々のグルヌプです。







-人々、Sbertekhに぀いお聞いたずき、圌らは特定の技術だけに興味がありたせん。 さらに、これらの技術はすべお䜿いやすく、非垞に特殊であるため、䜿甚が困難です。 アゞャむルを含む誇倧広告のトピックに぀いお話したしょう。 ドむツのオスカロビッチの報告の埌、怠け者だけがこれに぀いお知らない。 それで、あなたは圌に぀いおどう思いたすかどうにかしお。







-これは難しいトピックであり、倚くの興味深い問題がありたす。 䌝えるべき具䜓的な情報は䜕ですか







-このような倧䌁業にアゞャむルを導入する芋蟌みは䜕ですか 以前は、通垞のプロゞェクト管理で䜕ずかしおいた。 ドむツのオスカロビッチは高レベルの抜象化に぀いお語っおいたすが、これは特定の人々にずっお䜕を意味するのでしょうか 特定の開発者ですか ナニットの特定の頭 芁するに、倧芏暡なアゞャむルを実装するむンサむダヌが必芁です。







-具䜓的には、これはいく぀かのこずを意味したす。 たずえば、デボス。 リヌダヌは以前のように「リヌダヌ」ではなくなりたした。







「デボス。」 私たちはボスを取り、それを枛らしたす。 排陀したす







-はい:-)これが今起こっおいるこずです。 おそらく、異なる方法で定匏化する方が良いでしょう。 ITプロフェッショナルは以前はビゞネスずは別に座っおいたしたが、珟圚はビゞネスず䞀緒に座っおいたす。 これにより、劎働条件ずいく぀かのタスクが倉わりたす。 共にお客様のニヌズを理解し、補品を改善したす。







-これは特定の開発者の生掻にどのように圱響したすか ルヌルはより厳しくなりたす、たたはその逆、より゜フトになりたすか







-厳密でも柔らかでもありたせん。 各チヌムず個々の埓業員の責任の床合いは増加しおいたす。 質問をする人はいたせんし、調敎を攟棄する人もいたせん-あなたは自分で決定を䞋し、それに察する責任を負いたす。







Sbergile以前は、ITスペシャリストが同じ堎所にいお、同じオフィスにいた堎合、珟圚はモスクワにいる堎合でも、耇数のオフィスに散らばっおいたす。 人々が郚門内に座っおいた堎合、今では圌らはビゞネスずチヌムに座っおいたす。







-プロダクトマネヌゞャヌは誰ですか







-プロダクトオヌナヌがいたす。ビゞネスプロゞェクトに぀いお話しおいる堎合、通垞、これはビゞネスの人です。 圌はこの補品の開発に埓事し、バックログに優先順䜍を付け、チヌムが盎面しおいる問題の解決を支揎しおいたす。 コンセプトは、補品の党寿呜にわたっお補品ずずもにチヌムが䜜成されるこずです。 以前は、プロゞェクトの期間䞭のみチヌムが圢成されたした。







-䞀般の人が、ある補品から別の補品に切り替えるこずは可胜ですか 瀟内モビリティをどうしおいたすか たずえば、1぀の補品で3幎間働いたが、そこからどうにかしお...







-もちろん。 珟圚のチヌムのフレヌムワヌク内で開発の限界に達した人は、ロヌテヌションを開始しお別のチヌムを遞任できたす。







-かっこいい。 孊べる人はどうですか 圌らがあなたの珟圚の知識やスキルよりも䞀桁高いレベルを持っおいるように。 キャリアだけでなく、知識の面でも進歩するこず。







-もちろん、すべおのIT分野に専門家がいたす。 圌らの知識を理解すれば、12幎生の専門家ず8幎生の初心者開発者ずの間のギャップはたさにあなたが蚀及したものです。 私たちは、IT分野レベルであらゆる方法でそのようなプロセスを刺激しようずしたす。 たず第䞀に、知識亀換の圢で、胜力の亀換。 ちょうど昚日、このトピックに関する䌚議がありたした。IT分野が参加する補品の䞻芁なフェヌズに関する定期的な䌚議を開始するこずが決定されたした。 さらに、圌らは知識の亀換ずその埌の胜力の成長を促進するために、独自の内郚メッセヌゞングを開始するこずを決定したした。







-ずころで、モスクワでいく぀かの䌚議をするこずをどう芋おいたすか 面癜い話がある面癜いスピヌカヌを芋぀けるこずができたすか







-はい、私たちは前向きに芋たす。 スピヌカヌがいたす。 JBreakやJPointなどのカンファレンスに参加するスピヌカヌも参加したす。 私たちはしばしば内郚レポヌトを持っおいたすが、レベルはあなたがそれらず共に出かけるこずができるようなものです。







-トピックに戻るず、䌚瀟での開発者の進歩はどうですか あなたは、8幎生は初心者の開発者だず蚀いたした。 圌がそこで呌ばれおいるように、接頭蟞「シニア」ず「チヌフ」のない普通の「゚ンゞニア」。 これ以䞊のキャリアを築くこずができたすか







-コンピテンシヌが成長するに぀れお、グレヌド9および10に成長する可胜性がありたす-これらは、リヌダヌシップの負荷がなく、コンピテンシヌが高い専門家です。 グレヌドは成長しおいたす-報酬は成長しおいたす。 11以降、これらはより深刻なものです。 11幎生は「開発マネヌゞャヌ」、぀たりチヌムリヌダヌず呌ばれおいたした。 Sberdzhaylぞの移行に䌎い、すべおが少し倉わりたした。 珟圚、デボスがあり、チヌムリヌダヌは存圚したせん。 実際、これらは、建築政策が実行される人々であり、圌らの圹割は、すべおが正しいように他の埓業員に物事を行う方法を䌝えるこずができるずいう意味で、非垞に倧きなものです。 12幎生は、耇数のチヌムを線成および同期できる最もクヌルな専門家です。







-12幎生の埌、人生はありたすか







-13のグレヌドがありたす-方向の䞻任であり、開発の専門戊略家です。 䞊蚘のグレヌドは管理胜力です。







-Sbergileず組織の問題に぀いお話し合いたした。 あなたの郚眲に぀いお教えおください 䜕しおるの







-Hadoopプラットフォヌムでさたざたな皮類のデヌタ凊理を凊理するアプリケヌションを開発しおいたす。 Map-Reduce、Spark、Hiveなど。 たあ、もちろん、機械孊習も。 タスクを取り、これらのプラットフォヌムで実行されるコヌドに倉換したす。







-アプリケヌション開発のIT分野があるず蚀っおいたしたか







-はい、IT゚リアは基本的に同じ胜力を持぀人々の集たりです。 これが、Sbergileがコンピテンスセンタヌで「郚門」に倉えようずしおいるものです。







-぀たり、ある皮のビゞネスプロセスを自動化するアプリケヌションを開発したすか







-これらは、ビゞネスたたはむンフラストラクチャのために䜕かを行うだけのアプリケヌションであり、具䜓的にはさたざたな問題を解決したす。 おそらく、これは私たちのチヌムにずっお幟分人工的な甚語です。 最初は、非垞に単玔な属性であるメむン開発ツヌルで分けられた2぀の倧きな郚門がコンピテンスの䞭心にあるこずがたたたたありたした。 プラットフォヌムは同じですが、プログラミング蚀語は異なりたす。 私はScalaを持っおいたす。VadimSurpinの郚門にはJavaがありたす。 圌のナニットはビッグデヌタプラットフォヌム開発のIT゚リアず呌ばれ、私のナニットはアプリケヌション開発のIT゚リアず呌ばれたす。 ただし、この郚門は瀟内の問題に関連しおおり、䞡方のIT領域がほが同じタスクに埓事しおいるこずを理解する必芁がありたす。 たずえば、ビゞネスクラむアントはわずかに異なりたす。私には「セキュリティ」があり、圌には「リスク」がありたす。 しかし、この境界線は今やがやけおいたす。







-そしお、どの郚族ですか







-埓業員はさたざたな郚族で働いおいたす。 郚族は他の軞です。 私は郚族のむンフラストラクチャヌず䌁業を持っおいたすが、Vadimはただリスクず小売業を抱えおいるようです。







-これで、䞀般座暙のどこにいるかが明確になりたした。憲章ず郚族の氎平軞に぀いお話したした。 それでは、テクノロゞヌに぀いお少しお話したしょう。 どこでもScalaを䜿甚するず蚀いたした。 JavaではなくScalaを䜿甚する理由 誰もが通垞Javaを持っおいたすか







-誰もがJavaだけを持っおいるかどうかはわかりたせん。Scalaが䞻芁な開発ツヌルの1぀である十分に倧きな䌁業がありたす。同じTinkoff、QIWI ...







-さお、SberbankのメむンツヌルはJavaであり、どこでも登録されおいたす。 そしお、あなたはScalaを手に入れたした。 䜕が起こっおいるの







-実際、誰も私がJavaを䜿甚するこずを芁求したせんでした。 圓時の郚門の責任者ずしお、私は、この分野での胜力を開発し、䜿甚し、開発し、開発するこずに自分の人々が興味を持぀ツヌルを遞択する必芁がありたした。 さらに、Scalaは倚くの理由で遞ばれたした。 開発蚀語ずしお、Scalaは非垞に䟿利です。

さらに、私はこの方向に発展したい人を正確に探したした。私たちの問題を解決できるScala開発コミュニティを䜜成するずいうアむデアがありたした。







-そしお、なぜScalaなのか 圌女の䜕が奜きですか たずえば、郚長ずしおはどうですか







-たず、Java、およびHadoop党䜓、Sparkず互換性がありたす。これらはすべおJVM䞊で動䜜したす。 これは重倧な芁件であり、オプションセットを倧幅に絞り蟌みたす。 したがっお、JavaたたはJVM互換蚀語のいずれかである必芁がありたした。 倚くのJVM互換蚀語はありたせん。 たずえば、私たちもClojureに興味がありたしたが、実際には、Clojureには特異性があるため、倧成功を収めたせんでした。倧芏暡なチヌムで倧芏暡なアプリケヌションを䜜成するこずは困難です。 さらに、必芁な機胜を提䟛する最も動的に開発される蚀語ずしおScalaが遞択されたした。







-GroovyずKotlinがありたす。 圌らの問題は䜕ですか







-コトリンは、それは考えられたす、ただそこにいたせんでした、それは子䟛の頃でした。 Groovyはそうでしたが、Groovyはただ本来の目的スクリプト蚀語であり、倧芏暡プロゞェクトぞの適甚性が疑問を呈しおいたす。







-Scalaを遞んだのは、他のすべおが挔ductive的に萜ちたからですか それずも、Scalaにはいく぀かのクヌルな機胜があるのですか







-クヌルな機胜。 ビヌラむンでの仕事から始めおも、私は圌を長い間芋おいたした。 Video Internationalでの以前の䜜品で、私はそれを䜿甚するこずを考えたしたが、それでも劎働垂堎には十分な䟛絊がありたせんでした。 Sberbankに来おから、倚くの専門家がすでに珟れおいたので、始めるべき時であるこずに気付きたした。







-あなたは、Scala専甚のむベントをやろうずは思わなかったのですか 䌁業内でScalaずいう蚀葉を倧衆に䌝えたす。 たたは、ロシア党䜓でさえ。







-私たちは考えおおり、おそらくそうするでしょう。







-8幎生の条件付き初心者デベロッパヌであるプログラマは、Scalaを提䟛するずきにどのように開発できたすか そこで孊ぶ方が良いでしょうか たぶんいく぀かのフレヌムワヌク...







-たず、このトピックに関するかなり集䞭的なトレヌニングがありたす。 これらはフルタむムのコヌスです。 オンラむンのコヌスがありたす。 私たちは、ロックに぀いおさえ知らないが、それを研究するこずに熱心で、開発のバックグラりンドを持぀人々を連れお行きたす。 オンラむンコヌス-Courseraで始たるすべおのコヌスは、䌚瀟のトレヌニング予算を犠牲にしお受講できたす。 もちろん、職堎での䞻芁なトレヌニングタスクを完了し、ドキュメントを読み、経隓を共有するは、幎䞊の仲間があなたに蚀うこずです。 あなたが来お、圌らはあなたにタスクを䞎え、あなたは孊習しながらそれをしたす。







-理解床が開発者の人生で倚くの助けになるものはありたすか たずえば、特定の技術を孊ぶために。 Hadoopの特定の郚分。 Hadoop党䜓は、おそらく、孊ぶこずができたせん-それは巚倧だからです。







-もちろん。 SparkでJOIN



を実行する方法など、小さなこずを完党に孊んだずしおも、䞀般的に胜力や同僚の認識が倧幅に向䞊しおいるこずが経隓からわかりたす。







-むノポリスでのプレれンテヌションを芚えおいたす。 それは゜ヌシャルグラフに぀いおでした。







-はい、それは䞀幎前でした。 ラボクラスタヌプロゞェクトがあり、課題がありたした...ビッグデヌタが私たちず䞀緒に䜿甚するのに十分な熟しおいるかどうかを管理者が決定したずき、ビッグデヌタパむロットプロゞェクトでした。 そしお、プロトタむプの1぀は゜ヌシャルグラフに関連付けられおいたしたが、゜ヌシャルグラフには困難があり、チヌム党䜓がそれに陥らなければなりたせんでした。 これは、むンタラクティブモヌドで特倧のグラフを䜿甚しおいたす。 プロトタむプが䜜成され、これのおかげで、Laboratory Clusterプロゞェクトが実斜され、成功したず認識され、その埌、珟圚䜕が起こっおいるのかが始たりたした。 これが背景です。







-タスクの芏暡ずは䜕ですか







-テクノロゞヌの芳点から芋るず、タスクは簡単です。 特定の゜ヌシャルグラフ、゜ヌシャルネットワヌクで぀ながりを持぀人々がいたす。 さらに、これらはいく぀かの゜ヌシャルネットワヌクであり、人々の䞊眮がありたす...異なる゜ヌシャルネットワヌクからの゚ンティティであり、これが同䞀人物であるこずを理解する必芁がありたす。







-ビゞネスタスクずは䜕ですか







-非垞に簡単゜ヌシャルネットワヌク䞊の人々を怜玢しお問題のある負債を解決したす。







-それはちょうど悪い借金に぀いおですか、たたはより倚くのアプリケヌションがありたすか







-さたざたな甚途がありたす。 しかし、問題を解決したずき、クラむアントは䞍良資産を扱う郚門でした。 プロトタむプでした。







-タスクの倧きさは 倧たかに蚀えば、10人を分析する必芁がありたすか、それずもFacebook党䜓を完党に分析する必芁がありたすか







-いいえ、実際、問題はグラフが倧きいこずです。 数十億のノヌドがありたす。 倧芏暡な゜ヌシャルネットワヌクの重芁な郚分。







-異なる゜ヌシャルネットワヌク間で盞互接続したしたか、それずも同じネットワヌク内に留たりたしたか







-耇数のネットワヌクがあり、それらのデヌタを䞀臎させようずしたした。







-簡単に蚀えば、Facebookで条件付きGraphQLを䜿甚する堎合、その䞭に留たりながら自分でク゚リを無料で実行できたす。 そしお、ここでは、各゜ヌシャルネットワヌク甚に独自のアダプタヌを䜜成し、1぀の普遍的なビュヌにする必芁がありたしたよね







-いや。 それがどのように行われたかを芋おください。最初は倧きなグラフが1぀あり、各人が耇数の頂点を持ち、各頂点は゜ヌシャルネットワヌクに察応しおいたした。 それらを比范し、接続し、耇数のネットワヌクにいる1人の人物を取埗したす。







-そしお、䞻なもの既存のSberbankベヌスを取埗し、その各芁玠に぀いお゜ヌシャルネットワヌクでマむニングしたか、たたはすべおの゜ヌシャルネットワヌクがマッチのために抜象的に分析されたした。







-そしお゜ヌシャルネットワヌク、そしおたたSberbankのベヌスに参加したした。







-぀たり、「参加」したのは圌女であり、゜ヌスではありたせんでした。 この列では平等でしたか







-はい。







-どのようなデヌタが収集されたしたか







-パブリックプロファむルのデヌタ。 機密情報はありたせんでした。







-党䜓ずしお、このプロトタむプは成功したしたか







-䞀般に、はい。 圌は成功したず認められ、むンタラクティブ性を達成するこずに成功し、ナヌザヌむンタヌフェむスが䜜成されたした。 圌らが結果ずむンタヌフェヌスを瀺したずき、誰もがそれが玠晎らしいこずがわかったず蚀ったので、私たちは続ける必芁がありたす。 しかし、継続はただ始たっおいたせん:-)







-これは技術的にどのように実装されおいたすか







-バむナリグラフファむルは゜ヌスから䜜成され、これらのバむナリデヌタはUnsafe JVMむンタヌフェヌスを介しおRAMにロヌドされたした。 JVMでは、配列がむンデックス化されおいるこず、぀たり、最倧20億個であるこずが明らかであり、さらに倚くの数があり、それらをオフヒヌプに配眮する必芁がありたした。 その埌、Akkaを接続し、独自のメッセヌゞングモデルを開発したした。 GiraphおよびHANAで䜿甚されるバルク同期凊理に䌌おいたす。 分散ダむクストラアルゎリズム、Crauser-Meyer-Mehlhorn-Sandersを実装したした。 それに基づいお、非垞に優れたパフォヌマンス結果を達成したした。 タスクが芋たようにむンタラクティブ゚リアで最短パスを芋぀けるために぀たり、十分に迅速にポむントA、ポむントBがありたす。 むンタラクティブを達成するこずができたした。







-通垞、異なるアルゎリズム、ダむクストラ、双方向最短パスなどに぀いお話したす。 この倧きなグラフでどのように䜿甚されたすか







-これらはすべお、2点間の最短距離をできるだけ早く芋぀ける方法に関するトピックのバリ゚ヌションです。 これらは同じ問題の解決策です。







-そしお、これは盞互に぀ながっおいる人々を芋぀けるのにどのように圹立ちたすか







「最短時間で接続されたす。」 たずえば、グラフに2぀のポむントがあり、それらの間の距離が1である堎合、ほずんどの堎合、それは同じ人物です。 1぀の接続。 倚くの偎面があり、アナリストはこれに非垞に優れおいたす。







-グラフが構築されるこれらの「スペヌス」は、名前、姓、たたは他の䜕かですか







-「スペヌス」 グラフには頂点ず接続がありたす。







-OK、この列の距離はどのくらいですか







-リブネクタむがあり、それぞれに重量がありたす。 最短パスは、総重量が最小の頂点間の゚ッゞのセットです。







-rib骚の重量はどのように決定されたすか 䜕で構成されおいたすか







-これは、たずえば、この接続の信頌性、どの゜ヌスから受信したかに基づいお決定されたす。 いく぀かの重みがあり、特性に応じお芋る必芁がありたす。







-最埌に、これらの重みは1぀の数倀に削枛されたすか、それずもベクトルの圢のたたですか







-いいえ、私たちは方法を探しお、それを芋おいたす。 パス党䜓が必芁です。 タスクを折りたたむ必芁がある堎合は、実行できたす。







-「むンタラクティブ」ずいう蚀葉はすでに数回発音されおいたす。 あなたはそれが䜕であるかを解読できたすか







-これは、人がコンピュヌタヌの前に座っお、タスクを蚭定し、受け入れ可胜な時間内に回答を受け取るこずを期埅しおいる堎合です。 秒単䜍で枬定される遅延あり。 最倧、1分。 これがHadoopの通垞の動䜜ずは異なるこずは明らかです。バッチゞョブ、぀たり数時間たたは数日間回転する倧きなバッチがありたす。 ここでは、䞻なHadoopパラダむムから離れなければならなかったこずを理解するこずが重芁です。







「しかし、Hadoopはずにかくリク゚ストに応答したすか」







-いいえ、ここではSparkはデヌタの準備にのみ䜿甚されたす。 圌は、RAMにプルされるバむナリファむルを䜜成し、動䜜するもの-原則ずしお、これはビッグデヌタず芋なすこずもできたすが、Hadoopはそこで䜿甚されたせん。そこで䜿甚された䞻なものはAkkaです。







-Hadoopはむンタヌネットクロヌラヌずしお機胜したすが、正しく理解できたすか







-䞀般に、はい。 圌はデヌタを準備し、収集し、凊理したす...







-むンタヌネットからプルし、その構造に入れたすか







-私たちのHadoopは、むンタヌネットから盎接それらを取埗しないずだけ蚀っおみたしょう。 それは難しいマルチステップの組み合わせでした。他の自動化されたシステムが関䞎しおいたした。正確な状況を説明するこずはできたせん。







-誰がしゃがみたしたか







-請負業者。 私たち自身はチヌトしたせんでした。 これは完党に私たちの胜力ではありたせん。 このような疑問が提起されたしたが、最終的に圌らは専門分野であるビッグデヌタ凊理に盎接関䞎するこずにしたした。







-この党䜓の実装䞭に興味深いタスクが発生したしたか







-もちろんそうです。 圓初、圌らは単に「箱から出しお」倧芏暡なサプラむダのグラフデヌタベヌスを取埗したしたが、埅機時間は数時間でした。







-どのシナリオでの埅ち時間ですか







-関係䌚瀟の怜玢に関連する䞍良資産を扱う䜜業の郚門の埓業員が、グラフ䞊の2぀のポむントを芋぀け、それらの間の接続を確認したい、タスクを蚭定しお最短パスを芋぀けるず、数時間動䜜するずしたす。 もちろん、これはもはやむンタラクティブではありたせん。 このアプロヌチは拒吊され、いく぀かの゜リュヌションを敎理した埌、自分で曞く必芁があるこずに気付きたした。 圌らは座っお曞いた。 JVM゜リュヌションは2番目に䜜成されたした。 プロトタむプはRustで䜜成されたした。







-そしお、なぜ圌らはRustを攟棄したのですか







-たず、HadoopはRustで曞かれおいたせん。 そしお、あなたは圌らが完党に拒吊したず蚀うこずはできたせん。将来的には、おそらく私たちはそれに぀いおただ曞くでしょう。 それをJVM蚀語ではないため、Hadoopの䞋でアプリケヌションを䜜成するのは䞍䟿です。 この堎合、Rustを䜿甚したのは、プロトタむプを䜜成した共同䜜業者がRustに非垞に優れおいたからです。







-ずにかく、Hadupスタックからデヌタを取埗しおRustに転送する必芁がありたす。 盞互運甚を敎理する方法は







-デヌタはSparkによっお準備されおいたす。 もちろん、SparkのアプリケヌションはRustには曞かれおいたせん。 Scalaで曞かれたした。 準備されたデヌタはRAMに転送されたす。







-぀たり、ファむルを䜿甚しお互いに通信したしたか







-はい。 Sparkは非垞に倧きなバむナリファむルを生成し、次にこのアプリケヌションを最初にRustで蚘述し、次にAkkaを䜿甚しおScalaでJVMの䞋で曞き盎したした。このファむルは十分で、吞い蟌たれお動䜜したした。







-RustからScalaおよびJVMに切り替えるずき、実行速床は倉わりたしたか







-倉曎されたしたが、わずかです。 もずもずRustで䜜成されたアプリケヌションは非垞に長い間存圚しなかったため、100を確実に蚀うこずは䞍可胜です。 これは抂念実蚌のようなものでした。 このアプロヌチが基本的に機胜するこずを確認したす。 Scalaで完成したアプリケヌションに関しおは、実際に誰もベンチマヌクしおいたせん。 Rustに経隓のある人がいないので、この問題に特化した産業゜リュヌションを䜜成しおも、Scalaでそれを行うこずが明らかになりたした。 圓時、そのような人々が劎働垂堎でいかにアクセスしやすいのかずいう疑問がすでにありたした。 蚀語は非垞に動的に開発されおいたすが、これらの疑問も残っおいたすが、それでも、この胜力が垂堎でどのようにアクセスできるかは明らかではありたせん。 その埌、すぐに確認する必芁がある堎合は、Rustでこのように実行し、開発ツヌルの暙準に基づいお他の人が来お同行できるようにやり盎したす。







「将来、再び適甚できるず蚀っおいたした。」 なぜあなたは圌をずおも奜きだったので、䞀般的にこれらすべおの実隓の䞭で圌を芚えおいたすか







-これは、CおよびC ++が眮かれおいる同じブランチの䞀皮の開発です。 システム開発。 しかし、CおよびC ++にある重芁な問題のほずんどはありたせん。 さらに、圌はGolangなどのより珟代的な競合他瀟が抱えおいる重倧な問題を抱えおいたせん。 パフォヌマンスが向䞊し、GCの圢でオヌバヌヘッドがなくなり、倧芏暡なアプリケヌションを効果的に䜜成できる蚀語の抜象化がありたす。 突然システムの䜎レベル開発を行う必芁がある堎合、ほずんどの堎合Rustで行われたす。







-突然、岩の倚い専門家ず同じ数のRust専門家がいるず想像した堎合。 Rust vs. Scala。 どちらが良いですか







-質問には䟡倀がありたせん。Hadoopがあるからです。 結局のずころ、䞻なものは開発ツヌルではなく、プラットフォヌムです。 Hadoop with SparkがRustで曞き盎される堎合、実際、そのような質問が提起されたす。 しかし、これたでのずころ、これは起こっおおらず、疑問はありたせん。







-珟圚話しおいるプロゞェクトの結果、プロトタむプ以倖で䜕が起こったのですか ある皮のFastGraphがありたした。 これは䜕ですか







-はい、最短経路をすばやく怜玢するアプリケヌションがあり、ナヌザヌむンタヌフェむスが蚘述されおいたした「問題資産の研究者の職堎」ず呌ばれるようです-詳现に぀いおはVadim Surpinに問い合わせおください。 䞀般的に、圌は実隓宀クラスタヌプロゞェクトの䞀郚ずしお匕き枡されたした。 倧芏暡な産業クラスタヌを構築するこずは既に決定されおいたす。 経営陣は、ビッグデヌタ補品ラむンが成熟しおおり、立ち䞊げる必芁があるず刀断したした。







議論䞭のプロトタむプは、さらに開発されおいたせん。 どこかでそれを起動する詊みがあったが、様々な理由で圌らは発砲しなかったからです。 私が理解しおいる限り、公匏の䞻な理由は、より緊急なプロゞェクトを支持する他の優先事項です。 私たちは今これをやっおいたす。







-このストヌリヌ党䜓から孊んだ興味深い技術的結論ず解決策は䜕ですか







-スタックの遞択Scalaをツヌルずしお含むが完党に正しく行われおいるこずがわかりたした。 このツヌルは、Sberbankのような真剣で倧芏暡な䌁業であっおも、産業開発で䜿甚するのに非垞に適しおいたす。 私たちが研究したプロゞェクトはすぐに埅っおいたす-機䌚があれば、すぐに開発を続けたす。 実際、私たちのアプロヌチは正しいこずがわかりたした。







-ビゞネスレベルの結論でした。 そしお技術レベルは ゜ヌシャルグラフでダむクストラアルゎリズムを䜿甚するシステムを䜜成したしたが、実際に機胜したすか







-はい。 さお、ここで明らかなように、ダむクストラはさたざたな方法で実装できたすが、私たちが遞択したアプロヌチは、倧きなグラフで非垞に効果的に機胜するこずです。







-そしお、どのようなアプロヌチですか







-たずえば、アプリケヌションのレむアりト。 別の方法で行うこずができたす。 GraphXを䜿甚しなかったのはなぜですか しかし、GraphXはバッチシステムであり、䞀般にむンタラクティブな結果をもたらさないず蚀いたす。 圌ず察話しお、察話モヌドで䜜業を開始するこずができたす。 倚くの遞択肢がありたしたが、私たちはこれを遞択し、圌は解雇したした。







たた、非垞に倧きなグラフの分垃をすぐにレむアりトしたした。 この問題は延期されたしたが、珟圚のシステムは1぀のJVMで正垞に動䜜しおいたすが、アヌキテクチャは゜リュヌションの抜本的な改蚂を匕き起こさないほど倧きな改善を䌎わずに耇数のJVMを䜿甚するこずができたす。







-そこにアッカを連れおきたした。 圌女が自分自身を蚌明したのに、なぜアッカが必芁なのですか







-これはメッセヌゞング甚であり、メッセヌゞモデルをサポヌトするためのものです。 これたでのずころ、圌女には問題は芋぀かっおいたせん。







-誰が誰ずメッセヌゞを亀換したすか







-ワヌカヌが存圚し、それぞれがグラフの頂点のサブセットを提䟛するようなアヌキテクチャです。 ワヌカヌは、たずえば、話し合ったCMMSなどの分散コンピュヌティングを行うために、互いにメッセヌゞを亀換したす。 これがすべお回転しおいるマシンのすべおのコアが䜿甚されたす。







-どのレベルの配垃ですか マシンレベルで、クラスタヌレベルで







-珟圚-マシンレベルでは、1台のマシン内で䞊列化されおいたす。 䞀般的に-クラスタヌレベルで。 ただ時間がありたせんでした。1぀のプロゞェクトは既に終了しおおり、もう1぀のプロゞェクトはただ開始されおいたせん。







-1台のマシン内での配垃は、64個のプロセスを64個のコアに釘付けにしたこず、たたは...







-いいえ、プロセスは1぀だけですが、すべおのコアを䜿甚したす。 マルチスレッドです。







-぀たり、Javaスレッドを䜿甚したす。 たたは、Akkaを䜿甚しおいお、圌女はすべおを自動的に行いたすか







-もちろん、私たち自身はスレッドを管理しおいたせん。これはすべおAkkaレベルで行われおいたす。







-それでは、プレれンテヌションで「コニカルメッセヌゞングモデル」ずいう甚語を参照しおいたすが、それは䜕ですか







-はい、これは同じメッセヌゞングモデルです。 これは、䞊列コンピュヌティングを線成するために、ワヌカヌがメッセヌゞを亀換する方法を瀺す䞀皮の圢匏化です。 これは、バルク同期凊理の類䌌物です-GiraphおよびHANAで䜿甚される甚語。







「それは圌女のクロヌンですか」







-ある意味では、これは圌女のクロヌンであるず想定できたすが、実際にはすべおをれロから曞き、BSPを少し芋たした。 その埌、圓瀟の専門家が比范を行い、異なるこずが刀明したずいう結論に達したした。 私たちのプラットフォヌムでBSPを曞いお、それがどのように機胜するかを芋るのはおそらく面癜いでしょうが、同じ理由で、手はただこの点に達しおいたせん。







-PageRankずMPIに぀いお䜕か蚀いたした。 それらはプロゞェクトずどのように関係しおいたすか







-これらは、将来の誰かにこれを瀺すために、プロトタむプの機胜の完党性を確保するためにオプションで行った実隓的なものでした。







-なるほど。 すでに締めくくりにする必芁があるので、最埌の質問です。 珟圚、Habréで私たちを読んでいる人々のために、別れの蚀葉や願いなどはありたすか おそらく、Scalaチヌムでコヌディングする人が必芁ですか そのようなもの。







-はい、私たちは垞にスマヌトなロッキヌを必芁ずし、ビッグデヌタずMLの経隓を埗るための興味深いプロゞェクトがたくさんありたす。 たずえば、prodでの機械孊習モデルの実行。 これは別のディスカッションのトピックです







-圌らは雇甚のトピックに觊れたので。 自宅で芋たい開発者のプロフィヌルを説明しおください。







-Scalaを知っおいる開発者。 たたは、それを勉匷したいが、同時に開発経隓がある人。 ビッグデヌタ、Hadoop、Sparkツヌルに関する䜕らかの知識が欲しい。 ナヌザヌむンタヌフェむスでタスクを実行する準備ができおいるスペシャリストも必芁です。ScalaJSを䜿甚したす。







-専任の専門数孊者、デヌタ科孊者-それらが必芁ですか







「はい、もちろん。」 珟圚、機械孊習に関連する興味深い補品、特に「ニュヌスモニタリング」が開始されおいたす。これは、圓瀟にずっお関心のある組織のニュヌスの遞択です。 機械孊習スペシャリストは私たちにずっお非垞に䟿利です。







-ありがずう、ノァレリヌ 非垞に波乱に富んだむンタビュヌであり、読者の皆様に楜しんでいただければ幞いです。 JPoint / JBreak / JokerやSmartDataなどの䌚議でお䌚いしたしょう。 レポヌトが付いおきたす








All Articles