非垞に効率的で安䟡な DataLake をどのように構成したか、そしおその理由

私たちは、「耇数の文字」を深く掘り䞋げるこずなく、いく぀かの既補のオヌプン゜ヌス ツヌルを玠早く簡単に接続し、スタックオヌバヌフロヌのアドバむスに埓っお「意識をオフにしお」セットアップし、起動できる玠晎らしい時代に生きおいたす。商業運転を開始したす。 そしお、曎新/拡匵する必芁があるずき、たたは誰かが誀っおいく぀かのマシンを再起動したずき、ある皮の執拗な悪い倢が珟実に始たっおいるこずに気づき、すべおが突然認識できないほど耇雑になり、埌戻りはできず、未来は挠然ずしおいたすそしおより安党なのは、プログラミングの代わりにミツバチを繁殖させおチヌズを䜜るこずです。

経隓豊富な同僚たちが、頭がバグだらけですでに頭が真っ癜になりながら、「最新の蚀語」で、「キュヌブ」の「コンテナ」のパックを信じられないほど高速に数十台のサヌバヌに展開し、非同期ノンブロッキング I/O、控えめに埮笑みたす。 そしお圌らは黙っお「man ps」を読み盎し、「nginx」の゜ヌスコヌドを目から血が出るほど掘り䞋げお、単䜓テストを曞き、曞き、曞き続けたす。 同僚たちは、倧晊日の倜、ある日「すべお」が賭けられたずきに最も興味深いこずが起こるこずを知っおいたす。 そしお、UNIX の性質、蚘憶された TCP/IP 状態テヌブル、および基本的な䞊べ替え怜玢アルゎリズムを深く理解するこずによっおのみ圹立ちたす。 チャむムが鳎るず同時にシステムを元の状態に戻すためです。

そうそう、少し話がそれおしたいたしたが、期埅の様子が䌝われば幞いです。
今日は、たったく異なる構造郚門の瀟内の分析タスクの倧郚分を解決する、DataLake 甚の䟿利で安䟡なスタックの導入に関する経隓を共有したいず思いたす。

少し前に、私たちは䌁業が補品分析ず技術分析の䞡方の成果をたすたす必芁ずし機械孊習ずいうおたけは蚀うたでもありたせん、傟向ずリスクを理解する必芁があるこずを理解したした。収集しお分析する必芁があるのです。メトリクスがどんどん増えおいきたす。

Bitrix24 の基本的なテクニカル分析

数幎前、Bitrix24 サヌビスの開始ず同時に、むンフラストラクチャの問題を迅速に特定し、次のステップを蚈画するのに圹立぀、シンプルで信頌性の高い分析プラットフォヌムの䜜成に時間ずリ゜ヌスを積極的に投資したした。 もちろん、できるだけシンプルでわかりやすい既補のツヌルを䜿甚するこずをお勧めしたす。 その結果、監芖には nagios が、分析ず芖芚化には munin が遞択されたした。 珟圚、nagios には数千のチェックがあり、munin には数癟のチャヌトがあり、同僚はそれらを毎日問題なく䜿甚しおいたす。 メトリクスもグラフも明確で、システムは数幎間にわたっお確実に動䜜しおおり、新しいテストずグラフが定期的に远加されおいたす。新しいサヌビスを運甚するずきは、いく぀かのテストずグラフを远加したす。 幞運を。

フィンガヌ・オン・ザ・パルス - 高床なテクニカル分析

問題に関する情報を「できるだけ早く」受け取りたいずいう欲求から、私たちはシンプルでわかりやすいツヌルである pinba ず xhprof を䜿甚した積極的な実隓を行いたした。

Pinba は、PHP での Web ペヌゞの䞀郚の動䜜速床に関する UDP パケットの統蚈を私たちに送信しおくれたので、MySQL ストレヌゞ (Pinba には高速むベント分析甚の独自の MySQL ゚ンゞンが付属しおいたす) でオンラむンで問題の短いリストを確認し、察応するこずができたした。圌ら。 たた、xhprof を䜿甚するず、クラむアントから最も遅い PHP ペヌゞの実行グラフを自動的に収集し、䜕が原因でそうなる可胜性があるかを分析できるようになりたした (萜ち着いおお茶か䜕か匷めの飲み物を泚ぐなど)。

少し前に、このツヌルキットには、䌝説的な Lucene ラむブラリである Elastic/Kibana に完党に実装された、逆むンデックス䜜成アルゎリズムに基づく別の非垞にシンプルでわかりやすい゚ンゞンが補充されたした。 ログ内のむベントに基づいおマルチスレッドでドキュメントを逆 Lucene むンデックスに蚘録し、ファセット分割を䜿甚しおドキュメントをすばやく怜玢するずいうシンプルなアむデアが非垞に䟿利であるこずがわかりたした。

Kibana のビゞュアラむれヌションは、「バケツ」「䞊向きに流れる」などの䜎レベルの抂念や、ただ完党に忘れ去られおいないリレヌショナル代数の再発明された蚀語を䜿甚しおかなり技術的に芋えたすが、このツヌルは次のタスクでよく圹立ち始めたした。

  • 過去 24 時間に、p1 ポヌタルで BitrixXNUMX クラむアントに発生した PHP ゚ラヌは䜕件ありたすか? 理解し、蚱し、すぐに修正しおください。
  • 過去 24 時間にドむツのポヌタルでビデオ通話が䜕回行われたしたか?その品質はどれくらいですか?たた、チャネル/ネットワヌクに問題はありたしたか?
  • 最新のサヌビス曎新で゜ヌスからコンパむルされ、クラむアントに展開されたシステム機胜 (PHP 甚の C 拡匵機胜) はどの皋床うたく機胜したすか? セグメンテヌション違反はありたすか?
  • 顧客デヌタは PHP メモリに収たりたすか? プロセスに割り圓おられたメモリの超過に関する゚ラヌ (「メモリ䞍足」) はありたすか? 芋぀けお無力化する。

具䜓的な䟋を瀺したす。 培底した耇数レベルのテストにもかかわらず、クラむアントは非垞に非暙準的なケヌスず砎損した入力デヌタを抱えおいたため、迷惑な予期せぬ゚ラヌを受け取り、サむレンが鳎り、それを迅速に修正するプロセスが始たりたした。

非垞に効率的で安䟡な DataLake をどのように構成したか、そしおその理由

さらに、kibana を䜿甚するず、指定したむベントの通知を敎理するこずができ、短期間のうちに瀟内のこのツヌルは、テクニカル サポヌトや開発から QA に至るたで、さたざたな郚門の数十人の埓業員によっお䜿甚されるようになりたした。

瀟内のあらゆる郚門のアクティビティを远跡および枬定するのが䟿利になりたした。サヌバヌ䞊のログを手動で分析する代わりに、解析ログを䞀床セットアップしお゚ラスティック クラスタヌに送信するだけで、たずえば kibana で熟考するこずができたす。ダッシュボヌドには、先月の 3D プリンタヌで印刷された双頭の子猫の販売数が衚瀺されたす。

基本的なビゞネス分析

䌁業におけるビゞネス分析は、倚くの堎合、Excel を積極的に䜿甚するこずから始たるこずは誰もが知っおいたす。 しかし重芁なこずは、それだけでは終わらないずいうこずです。 クラりドベヌスの Google Analytics も火に油を泚ぐため、すぐに良いものに慣れ始めおしたいたす。

調和のずれた発展を遂げる圓瀟では、より倧芏暡なデヌタを䜿ったより集䞭的な䜜業の「予蚀者」があちこちに珟れ始めたした。 より詳现で倚面的なレポヌトの必芁性が定期的に珟れ始め、さたざたな郚門の人々の努力により、しばらく前に、ClickHouse ず PowerBI を組み合わせた、シンプルで実甚的な゜リュヌションが組織されたした。

かなり長い間、この柔軟な゜リュヌションは非垞に圹に立ちたしたが、埐々に、ClickHouse はゎムではなく、そのように嘲笑するこずはできないずいう理解が埗られ始めたした。

ここで、ClickHouse、Druid、Vertica、Amazon RedShift (postgres ベヌス) などは、非垞に䟿利な分析 (合蚈、集蚈、列ごずの最小倀ず最倧倀、およびいく぀かの可胜な結合) のために最適化された分析゚ンゞンであるこずをよく理解するこずが重芁です。 、 なぜならMySQL や既知の他の (行指向) デヌタベヌスずは異なり、リレヌショナル テヌブルの列を効率的に栌玍できるように線成されおいたす。

本質的に、ClickHouse は、より容量の倧きい「デヌタベヌス」に過ぎず、ポむントごずの挿入はそれほど䟿利ではありたせん (それが意図されおいるので、すべお問題ありたせん) が、快適な分析ず、デヌタを操䜜するための興味深い匷力な関数のセットを備えおいたす。 はい、クラスタヌを䜜成するこずもできたす。しかし、顕埮鏡を䜿っお釘を打぀こずが完党に正しいわけではないこずは理解されおおり、私たちは他の解決策を探し始めたした。

Python ずアナリストの需芁

圓瀟には、10  20 幎間、ほが毎日、PHP、JavaScript、C#、C/C++、Java、Go、Rust、Python、Bash でコヌドを曞いおいる開発者が倚数いたす。 たた、統蚈の法則に圓おはたらない、信じられないような灜害を耇数回経隓した経隓豊富なシステム管理者も数倚くいたす (たずえば、RAID-10 内のディスクの倧郚分が匷い萜雷によっお砎壊された堎合など)。 このような状況では、長い間、「Python アナリスト」が䜕なのかは明確ではありたせんでした。 Python は PHP に䌌おいたすが、名前が少し長いだけで、むンタプリタの゜ヌス コヌドには粟神を倉化させる物質の痕跡が少し少なくなっおいたす。 しかし、より倚くの分析レポヌトが䜜成されるに぀れお、経隓豊富な開発者は、numpy、pandas、matplotlib、seaborn などのツヌルの狭い専門分野の重芁性をたすたす理解し始めたした。
おそらく決定的な圹割を果たしたのは、「ロゞスティック回垰」ずいう蚀葉ず、そうそう、pyspark を䜿甚した倧芏暡デヌタの効果的なレポヌトのデモンストレヌションの組み合わせによる埓業員の突然の倱神でした。

Apache Spark、リレヌショナル代数が完璧に適合するその関数パラダむム、およびその機胜は、MySQL に慣れおいる開発者に倧きな印象を䞎え、経隓豊富なアナリストずのランクを匷化する必芁性が日に日に明らかになりたした。

Apache Spark/Hadoop のさらなる詊みず、スクリプトどおりに進たなかった点

しかし、Spark にはシステム的に䜕か問題があるか、単に手をよく掗う必芁があるこずがすぐに明らかになりたした。 Hadoop/MapReduce/Lucene スタックがかなり経隓豊富なプログラマによっお䜜成されたものである堎合 (Java の゜ヌス コヌドや Lucene での Doug Cutting のアむデアをよく芳察すれば明らかです)、Spark は突然、゚キゟチックな蚀語 Scala で曞かれおいたす。実甚性の芳点から非垞に物議を醞しおおり、珟圚は開発されおいたせん。 そしお、リデュヌス操䜜のためのメモリ割り圓おによる非論理的であたり透明性の䜎い䜜業 (倚くのキヌが䞀床に到着する) による Spark クラスタヌでの蚈算の定期的な䜎䞋により、成長の䜙地があるものの呚囲に埌光が生成されたす。 さらに、状況は、倚数の奇劙に開いたポヌト、最も理解できない堎所で成長する䞀時ファむル、および膚倧な jar 䟝存関係によっおさらに悪化したした。これにより、システム管理者は、子䟛の頃からよく知られおいた感情、぀たり激しい憎しみ (たたはおそらく) を抱くようになりたした。圌らは石鹞で手を掗う必芁がありたした。

その結果、私たちは、Apache Spark (Spark Streaming、Spark SQL を含む) ず Hadoop ゚コシステム (など) を積極的に䜿甚するいく぀かの内郚分析プロゞェクトを「生き延びたした」。 時間が経぀に぀れお、「それ」を非垞にうたく準備しお監芖する方法を孊び、デヌタの性質の倉化や均䞀な RDD ハッシュの䞍均衡によっお「それ」が突然クラッシュするこずはほずんどなくなりたしたが、すでに準備ができおいるものを䜿甚したいずいう欲求は、 、クラりドのどこかで曎新および管理され、たすたす匷力になりたした。 私たちがアマゟン りェブ サヌビスの既成のクラりド アセンブリを䜿甚しようずしたのはこの時でした。 EMR そしおその埌、それを䜿甚しお問題を解決しようずしたした。 EMR は、Cloudera/Hortonworks ビルドず同様に、゚コシステムの远加゜フトりェアを䜿甚しお Amazon によっお準備された Apache Spark です。

分析甚のラバヌファむルストレヌゞは緊急のニヌズです

䜓のさたざたな郚分に火傷を負い、Hadoop/Sparkを「調理」した経隓は無駄ではありたせんでした。 ハヌドりェア障害に匷く、さたざたなシステムからさたざたな圢匏でファむルを保存し、このデヌタからレポヌト甚の効率的か぀時間効率の高いサンプルを䜜成できる、安䟡で信頌性の高い単䞀のファむル ストレヌゞを䜜成する必芁性がたすたす高たっおいたす。クリア。

たた、このプラットフォヌムの゜フトりェアの曎新が、20 ペヌゞの Java トレヌスを読み取り、Spark History Server ずバックラむト付き虫県鏡を䜿甚しおクラスタヌの数キロメヌトルにわたる詳现なログを分析するずいう新幎の悪倢にならないようにしたいずも思いたした。 ゜ヌス デヌタ パヌティショニング アルゎリズムが適切に遞択されおいないためにデヌタ削枛ワヌカヌがメモリ䞍足になり、開発者の暙準 MapReduce リク゚ストが実行を停止した堎合に、定期的に内郚に朜る必芁のない、シンプルで透過的なツヌルが必芁でした。

Amazon S3 は DataLake の候補ですか?

Hadoop/MapReduce の経隓から、スケヌラブルで信頌性の高いファむル システムず、その䞊にあるスケヌラブルなワヌカヌが必芁であり、ネットワヌク䞊でデヌタを転送しないようにデヌタに「近づく」必芁があるこずが分かりたした。 䜜業者はさたざたな圢匏のデヌタを読み取れる必芁がありたすが、䞍芁な情報を読み取らず、䜜業者にずっお䜿いやすい圢匏でデヌタを事前に保存できるこずが望たしいです。

もう䞀床、基本的な考え方を。 ビッグデヌタを単䞀のクラスタヌ分析゚ンゞンに「泚ぎ蟌む」こずは望たしくありたせん。遅かれ早かれ機胜䞍党に陥り、醜いシャヌド化が必芁になりたす。 ファむル (単なるファむル) をわかりやすい圢匏で保存し、別のわかりやすいツヌルを䜿甚しおそれらに察しお効果的な分析ク゚リを実行したいず考えおいたす。 そしお、さたざたな圢匏のファむルがたすたす倚くなるでしょう。 たた、゚ンゞンではなく゜ヌス デヌタをシャヌド化するこずをお勧めしたす。 拡匵可胜でナニバヌサルな DataLake が必芁であるず刀断したした...

Hadoop から独自のチョップを準備するこずなく、䜿い慣れたよく知られたスケヌラブルなクラりド ストレヌゞ Amazon S3 にファむルを保存したらどうなるでしょうか?

個人デヌタが「少ない」こずは明らかですが、それを取り出しお「効果的に掻甚」した堎合、他のデヌタはどうなるでしょうか?

アマゟン りェブ サヌビスのクラスタヌ、ビッグデヌタ、分析の゚コシステム - 非垞に簡単な蚀葉で蚀うず

AWS での経隓から刀断するず、Apache Hadoop/MapReduce は、DataPipeline サヌビスなど、さたざたな゜ヌスで長期間にわたっお積極的に䜿甚されおきたした (同僚がうらやたしいです。圌らは正しく準備する方法を孊んでいたした)。 ここでは、DynamoDB テヌブルのさたざたなサヌビスからのバックアップをセットアップしたす。
非垞に効率的で安䟡な DataLake をどのように構成したか、そしおその理由

そしお、これらは数幎前から時蚈仕掛けのように、組み蟌みの Hadoop/MapReduce クラスタヌ䞊で定期的に実行されおいたす。 「蚭定したらあずは忘れる」:

非垞に効率的で安䟡な DataLake をどのように構成したか、そしおその理由

たた、アナリスト甚にクラりドに Jupiter ラップトップをセットアップし、AWS SageMaker サヌビスを䜿甚しお AI モデルをトレヌニングしお戊闘に導入するこずで、デヌタ悪魔厇拝に効果的に取り組むこずもできたす。 私たちにずっおは次のようになりたす。

非垞に効率的で安䟡な DataLake をどのように構成したか、そしおその理由

そしおはい、自分自身たたはクラりド内のアナリスト甚にラップトップを遞択し、それを Hadoop/Spark クラスタヌに接続し、蚈算を行っお、すべおを確定するこずができたす。

非垞に効率的で安䟡な DataLake をどのように構成したか、そしおその理由

個々の分析プロゞェクトには非垞に䟿利で、䞀郚では倧芏暡な蚈算ず分析に EMR サヌビスを䜿甚しお成功したした。 DataLake のシステム ゜リュヌションに぀いおはどうでしょうか。うたくいきたすか? この瞬間、私たちは垌望ず絶望の狭間で捜玢を続けたした。

AWS Glue - 匷化された Apache Spark をきちんずパッケヌゞ化

AWS には独自バヌゞョンの「Hive/Pig/Spark」スタックがあるこずが刀明したした。 Hive の圹割、぀たりDataLake 内のファむルずその皮類のカタログは、「デヌタ カタログ」サヌビスによっお実行されたす。このサヌビスは、Apache Hive 圢匏ずの互換性を隠したせん。 ファむルの堎所ず圢匏に関する情報をこのサヌビスに远加する必芁がありたす。 デヌタは s3 だけでなくデヌタベヌスにも存圚したすが、それはこの投皿の䞻題ではありたせん。 DataLake デヌタ ディレクトリは次のように構成されおいたす。

非垞に効率的で安䟡な DataLake をどのように構成したか、そしおその理由

ファむルが登録されたした。 ファむルが曎新されおいる堎合は、手動たたはスケゞュヌルに埓っおクロヌラヌを起動し、レむクからクロヌラヌに関する情報を曎新しお保存したす。 その埌、湖からのデヌタを凊理し、結果をどこかにアップロヌドできたす。 最も単玔なケヌスでは、s3 にもアップロヌドしたす。 デヌタ凊理はどこでも実行できたすが、AWS Glue API による高床な機胜を䜿甚しお Apache Spark クラスタヌで凊理を蚭定するこずをお勧めしたす。 実際、pyspark ラむブラリを䜿甚しお叀き良き䜿い慣れた Python コヌドを取埗し、Hadoop の䞭身を掘り䞋げお docker-moker コンテナをドラッグしたり、䟝存関係の競合を排陀したりするこずなく、監芖付きのある皋床の容量を持぀クラスタヌの N ノヌド䞊でその実行を構成できたす。 。

たたしおもシンプルなアむデア。 Apache Spark を構成する必芁はありたせん。必芁なのは、pyspark 甚の Python コヌドを䜜成し、デスクトップ䞊でロヌカルにテストしおから、゜ヌス デヌタの堎所ず結果の保存堎所を指定しお、クラりド内の倧芏暡なクラスタヌ䞊で実行するだけです。 堎合によっおはこれが必芁で䟿利です。その蚭定方法は次のずおりです。

非垞に効率的で安䟡な DataLake をどのように構成したか、そしおその理由

したがっお、s3 のデヌタを䜿甚しお Spark クラスタヌで䜕かを蚈算する必芁がある堎合は、Python/pyspark でコヌドを䜜成し、テストしお、クラりドに幞運をもたらしたす。

オヌケストレヌションに぀いおはどうですか タスクが萜ちお消えおしたったらどうなるでしょうか? はい、Apache Pig スタむルで矎しいパむプラむンを䜜成するこずが提案されおおり、私たちも詊しおみたしたが、今のずころ、PHP ず JavaScript で深くカスタマむズされたオヌケストレヌションを䜿甚するこずにしたした (認知的䞍協和があるこずは理解しおいたすが、それは機胜したす。幎、゚ラヌなし。

非垞に効率的で安䟡な DataLake をどのように構成したか、そしおその理由

レむクに保存されるファむルの圢匏がパフォヌマンスの鍵ずなりたす

さらに XNUMX ぀の重芁なポむントを理解するこずが非垞に重芁です。 レむク内のファむル デヌタに察するク゚リをできるだけ早く実行し、新しい情報が远加されたずきにパフォヌマンスが䜎䞋しないようにするには、次のこずを行う必芁がありたす。

  • ファむルの列を個別に保存したす (列の内容を理解するためにすべおの行を読む必芁がなくなりたす)。 このために、圧瞮付きの寄朚现工の圢匏を採甚したした。
  • ファむルを蚀語、幎、月、日、週などのフォルダヌに分割するこずが非垞に重芁です。 このタむプのシャヌディングを理解する゚ンゞンは、行内のすべおのデヌタを調べずに、必芁なフォルダヌのみを調べたす。

基本的に、この方法で、䞊郚に吊り䞋げられた分析゚ンゞンにずっお最も効率的な圢匏で゜ヌス デヌタをレむアりトしたす。分析゚ンゞンは、シャヌド フォルダヌ内であっおも、ファむルから必芁な列のみを遞択しお入力しお読み取るこずができたす。 デヌタをどこにも「埋める」必芁はありたせん (ストレヌゞがパンクするだけです)。ただちに正しい圢匏でファむル システムに賢明に配眮するだけです。 もちろん、巚倧な CSV ファむルを DataLake に保存するこずは、列を抜出するためにクラスタヌによっお最初に XNUMX 行ず぀読み取られる必芁があるため、あたりお勧めできないこずはここで明らかです。 なぜこのようなこずが起こっおいるのかがただ明らかでない堎合は、䞊蚘の XNUMX ぀の点をもう䞀床考えおください。

AWS Athena - びっくり箱

そしお、湖を䜜成しおいるずきに、どういうわけか偶然 Amazon Athena に遭遇したした。 巚倧なログ ファむルを正しい (寄朚现工の) 列圢匏でフォルダヌ シャヌドに慎重に配眮するこずで、Apache Spark/Glue クラスタヌを䜿甚せずに、それらから非垞に有益な遞択を非垞に迅速に行い、レポヌトを䜜成できるこずが突然刀明したした。

S3 のデヌタを利甚した Athena ゚ンゞンは、䌝説的な゚ンゞンに基づいおいたす。 プレストで - MPP (倧芏暡䞊列凊理) ファミリのデヌタ凊理アプロヌチの代衚であり、s3 や Hadoop から Cassandra や通垞のテキスト ファむルたで、デヌタが存圚する堎所にデヌタを取り蟌みたす。 Athena に SQL ク゚リの実行を䟝頌するだけで、すべおが「迅速か぀自動的に動䜜」したす。 Athena は「スマヌト」であるこずに泚意するこずが重芁です。Athena は必芁なシャヌドフォルダヌのみにアクセスし、リク゚ストで必芁な列のみを読み取りたす。

Athena ぞのリク゚ストの䟡栌蚭定も興味深いです。 私たちが支払いたす スキャンしたデヌタの量。 それらの。 100 分あたりのクラスタヌ内のマシン数ではなく、500  XNUMX 台のマシンで実際にスキャンされたデヌタのうち、リク゚ストを完了するために必芁なデヌタのみです。

そしお、正しくシャヌディングされたフォルダヌから必芁な列のみをリク゚ストするこずにより、Athena サヌビスには月額数十ドルの費甚がかかるこずが刀明したした。 クラスタヌの分析ず比范するず、ほずんど無料で玠晎らしいです。

ちなみに、s3 でデヌタをシャヌディングする方法は次のずおりです。

非垞に効率的で安䟡な DataLake をどのように構成したか、そしおその理由

その結果、短期間のうちに、情報セキュリティから分析たで、瀟内のたったく異なる郚門が Athena に積極的にリク゚ストを送信し始め、数か月、数ヶ月ずいうかなり長期間にわたっお「ビッグ」デヌタから有甚な回答を数秒で迅速に受け取りたした。 XNUMX か月など。P.

しかし、私たちはさらに進んで、クラりドに答えを求め始めたした。 ODBCドラむバヌ経由: アナリストは䜿い慣れたコン゜ヌルで SQL ク゚リを䜜成したす。このコン゜ヌルは 100  500 台のマシンで「3 セントで」デヌタを sXNUMX に送信し、通垞は数秒で応答を返したす。 快適。 そしお速い。 ただ信じられたせん。

その結果、効率的な列指向圢匏で、デヌタをフォルダヌに適切にシャヌディングしお、デヌタを s3 に保存するこずを決定し、DataLake ず高速で安䟡な分析゚ンゞンを無料で受け取りたした。 そしお圌は瀟内でずおも人気者になった、なぜなら... SQL を理解し、クラスタヌの開始/停止/セットアップよりも桁違いに高速に動䜜したす。 「結果が同じなら、なぜもっずお金を払う必芁があるのでしょうか?」

Athenaぞのリク゚ストはこんな感じ。 もちろん、必芁に応じお、十分な圢匏を䜜成できたす 耇雑な耇数ペヌゞの SQL ク゚リですが、ここでは単玔なグルヌプ化に限定したす。 数週間前にクラむアントが Web サヌバヌ ログに蚘録しおいた応答コヌドを確認し、゚ラヌがないこずを確認しおみたしょう。

非垞に効率的で安䟡な DataLake をどのように構成したか、そしおその理由

所芋

長くお苊しい道のりは蚀うたでもありたせんが、リスクず耇雑さのレベル、サポヌトのコストを垞に適切に評䟡しながら、スピヌドず所有コストの䞡方で満足しおいただける DataLake ず分析の゜リュヌションを芋぀けたした。

䌚瀟のたったく異なる郚門のニヌズに合わせお、効果的、高速、䜎コストで運甚できる DataLake を構築するこずは、アヌキテクトずしお働いたこずがなく、正方圢の䞊に正方圢を描く方法を知らない経隓豊富な開発者でも完党に胜力の範囲内であるこずがわかりたした。矢印を䜿甚しお、Hadoop ゚コシステムの 50 の甚語を理解したす。

旅の初め、私の頭は、オヌプン゜フトりェアずクロヌズド゜フトりェアの倚くの野生動物園ず、子孫ぞの責任の負担の理解から分裂しおいたした。 nagios/munin -> elastic/kibana -> Hadoop/Spark/s3... ずいう単玔なツヌルから DataLake の構築を開始し、フィヌドバックを収集し、発生するプロセスの物理を深く理解したす。 すべおが耇雑で曖昧です - それを敵や競争盞手に枡したす。

クラりドには行きたくないが、オヌプン゜ヌス プロゞェクトのサポヌト、曎新、パッチ適甚を垌望する堎合は、Hadoop ず Presto を搭茉した安䟡なオフィス マシン䞊で、私たちのものず同様のスキヌムをロヌカルで構築できたす。 重芁なこずは、立ち止たらずに前進し、数え、シンプルで明確な解決策を探すこずです。そうすればすべおは間違いなくうたくいきたす。 皆さん頑匵っおください、たたお䌚いしたしょう

出所 habr.com

コメントを远加したす