ロシア連邊で最初に開始されたプロゞェクトであるHP Verticaは、1幎半の実際の運甚を経隓しおいたす

はじめに



HP Verticaの説明はすでにHabréやその他の情報源にありたしたが、基本的にはすべおの情報は理論に還元されたした。 最近たで、Verticaは米囜ずペヌロッパの少しで実際の産業開発私たちはVertikaず呌んでいたすが、私は女性を指名するこずを提案したすで䜿甚されたしたが、 LifeStreet Mediaの男性はHabréでそれに぀いお曞きたした。 Verticaですでに1幎半が経過しおいるため、デヌタりェアハりスには数十テラバむトのデヌタが含たれおいたす。 デヌタサヌバヌは1分間に数千のリク゚ストを凊理し、その倚くには数癟億のレコヌドが含たれおいたす。 デヌタの読み蟌みは1日あたり玄150 GBの量でリアルタむムで進行しおいたす...䞀般的に、BigDataの䞋で本圓に最新の新しいテクノロゞヌに乗るずいうギャップを埋め、スリルを共有する䟡倀があるず思いたした。



誰に圹立぀か



ボリュヌム、コンテンツ、分析の耇雑さの芳点から、ビッグデヌタの保存ず分析凊理のタスクに盎面しおいる開発者、アヌキテクト、むンテグレヌタヌにずっお圹立぀ず思いたす。 さらに、Verticaはようやく、Community Editionの完党な無料の完党バヌゞョンを手に入れたした。 3぀のサヌバヌのクラスタヌを展開し、最倧1 TBの生デヌタをデヌタりェアハりスにアップロヌドできたす。 Verticaでの゜リュヌションの生産性ず展開の容易さを考慮するず、1 TBのデヌタボリュヌムを持぀䌁業のデヌタりェアハりスを遞択する堎合、この提案を怜蚎する䟡倀があるず思いたす。



私たちが遞んだ方法に関する1぀の段萜で



簡単にホリバヌの理由なし

デヌタりェアハりスサヌバヌを遞択する際、䟡栌蚭定、倧量のデヌタを扱う高いパフォヌマンスずスケヌラビリティ、倚くの異なるデヌタ゜ヌスからリアルタむムでデヌタをロヌドする胜力、プロゞェクトを自分で簡単に開始できるこず、メンテナンスの最小コストの原則に興味がありたした結果ずしお、これらすべおの指暙にずっお、 Verticaは、IBM NetezzaずEMC GreenPlumを砎っお私たちを䜜りたした。 埌者は、すべおの芁件を完党に満たすこずはできたせんでした。 これにより、プロゞェクトの開発ず保守に远加のコストが発生する可胜性がありたすが、予算はそれほど倚くありたせん。



建築家の芳点から芋たベリカの倖芳



アヌキテクトは、Verticaのデヌタりェアハりスで最も重芁な人物です。 たず、デヌタりェアハりスの機胜の成功ず生産性はそれに䟝存したす。 アヌキテクトには2぀の耇雑なタスクがありたす。Verticaクラスタヌの技術スタッフィングを正しく遞択するこずず、デヌタベヌスの物理モデルを正しく蚭蚈するこずです。



技術アヌキテクチャの圱響を受けるもの


私の重芁床が䜎䞋するに぀れお、私は個人的な気持ちを䌝えたす。

  1. MPPサヌバヌずしお、Verticaはたずネットワヌクアヌキテクチャに厳しい芁件を持っおいたす。 クラスタヌ内に3台のサヌバヌがあり、ベヌスが3 TBの堎合、サヌバヌずナヌザヌ間のデヌタ亀換は、ネットワヌクコストで特に顕著ではありたせん。 6぀のサヌバヌず30テラバむトのデヌタのデヌタベヌスがある堎合、ピヌク負荷時にネットワヌクがクラ​​スタヌ党䜓の操䜜の最も匱いポむントになる可胜性がありたす。 たた、100台のサヌバヌず1ペタバむト以䞊のデヌタベヌスがあるずしたすか 怖い :)
  2. クラスタサヌバヌのロヌカルディスクに適切にアセンブルされたアレむは、パフォヌマンス、ストレヌゞボリュヌム、および鉄のコストのバランスの取れたバランスを保蚌したす。 安䟡な䜎速ディスクでRAIDをRAIDしたすが、倧容量ですか 安くお陜気なが、ゆっくり。 高速ディスクにすべおを集めたしたが、ボリュヌムはより少ないですか 高䟡で高速ですが、デヌタベヌスに十分なスペヌスがないため、サヌバヌをクラスタヌに接続する必芁がありたす。 VerticaのFlexテクノロゞに関するドキュメントを読み、クラスタヌサヌバヌに高速ディスクず䜎速ディスクを掛け、フィルタヌおよび返されたデヌタずしおのク゚リぞの参加によっおテヌブル列投圱のストレヌゞを分散したすか よくやった、仕事に最適なクラスタヌを埗た。 ロヌカルの高速ディスクをサヌバヌに远加し、そこでVertica䞀時スペヌスを取り出すず、すべおが芋栄えがよくなりたす。
  3. 秘密は公開されおいたす。メモリが倧量にあるこずはなく、倧量のRAMを搭茉したサヌバヌをすぐに賌入する方が、埌で既存のサヌバヌに配信するよりも安䟡です。 数十億のデヌタレコヌドに察する分析ク゚リには倧量のメモリが必芁であり、誰も物理孊をキャンセルしなかったこずを思い出しおください。 1人のアナリストの1セッションで最倧20ギガバむトのメモリを簡単に消費できたす。 アナリストを数え、ELTが果たす重い芁求を数え、パニックに陥らず、テラバむトのメモリを賌入しようず考えないでください。 Verticaは、リ゜ヌス䜿甚率の負荷をリ゜ヌスプヌルず正垞にバランスさせるこずができたす。 掚定負荷を考慮しお、クラスタヌ内のサヌバヌ数で割った掚定デヌタストレヌゞ量に基づいお、クラスタヌサヌバヌのRAMサむズの黄金平均を遞択し、リ゜ヌスプヌルの区切りを䜿甚しおピヌク負荷から安党に保護できたす。
  4. Sybase IQの埌のVerticaでい぀も驚かされるのは、CPU負荷が䜎いこずです。 倧量のク゚リの実行䞭にIQを実行するず、すべおのプロセッサがフルタむムで動䜜し、同じ条件䞋でVerticaを䜿甚するず、Sybaseを背景に䌑暇でリラックスしおいるように芋えたす。 さらに、䞡方のサヌバヌは列指向であり、デヌタベヌスに栌玍されるずすべおのデヌタが圧瞮されたす。 奇跡、そしおそれだけですが、Verticaが最も重芁な堎所ではないずいう事実は残っおいたすが、2぀のコアで十分であるずいう事実のガむドずしおこれを受け取らないこずを望みたす。 奇跡はありたせん。他の堎所ではク゚リの実行がコアを占有するため、重いク゚リは耇数のスレッド間で実行を䞊列化し、倚くのコアを占有したす。 したがっお、予想される負荷に焊点を合わせお、クラスタヌサヌバヌコアの数を遞択したす。




物理デヌタベヌスモデルの圱響を受けるもの


重芁床のレベルを䞋げるこずは困難です。すべおが重芁であるため、リストには番号が付けられおいたせん。





ETL / ELT開発者の芳点から芋たVerticaの倖芳



ETLロゞック開発者は簡単か぀安心しお生掻できたす。Verticaにはすべおの暙準デヌタアクセスドラむバヌODBC、JDBC、.NET、Pythonがありたす。 COPYコマンドのフラットファむルをバッチダりンロヌドするための印象的なネむティブプロプラむ゚タリツヌルのセットもありたす。 独自のパヌサヌ、フィルタヌ、バリデヌタヌで拡匵できたす。 COPY LOCALを䜿甚しお、クラスタヌサヌバヌ自䜓から、および皌働䞭のマシンからロヌカルにファむルをダりンロヌドできたす。 Vertica JDBCドラむバヌは、JDBC Prepared Statementを介したバッチ挿入をサポヌトし、倀の貌り付けパケットをCOPYバッチ挿入に自動的に倉換したす。 これにより、レコヌドを高速に挿入できたす。 軟膏の唯䞀の機胜は、バッチダりンロヌドの拡匵機胜がCでしか曞けないこずです。これは開発をすぐに耇雑にしたす。 最新のうわさから刀断するず、Verticaは自信を持っおJavaの䞖界明らかにHadoopに近いずの統合に向かっお動いおいるので、近い将来、こうしたものをJavaに蚘述しおプラグむンできる可胜性が非垞に高いです。 倧量のデヌタの䞊列ロヌドの生産性ず効率の問題に觊れるず、Verticaのアヌキテクチャはそれらを完党に匕き継ぎたす。 ETL開発者は、リアルタむムのロヌドずロヌドバランシングのニュアンスに関する特別な知識を必芁ずしたせん。



ELTロゞック開発者の芳点から芋るず、Verticaには2぀の苊情がありたす。ストアドプロシヌゞャ蚀語はサポヌトされおおらず、匏たたはC蚀語のプリミティブ以倖の独自の関数を蚘述する方法はありたせん。 最埌のVerticaチヌムは、Javaの関数のサポヌトずいう圢ですぐに修正するこずを玄束しおいたすが、ストアドプロシヌゞャに぀いおは䜕も玄束しおいたせん。 そのため、ETLツヌルを䜿甚しおELTロゞックを保存および実行する必芁がありたす。 残りに぀いおは、Verticaは最も芁求の厳しいスクリプト開発者さえも完党に満たしたすANSI SQL暙準の完党なサポヌト、他のデヌタサヌバヌから銎染みのある倚くの機胜、デヌタタむプずその削枛の簡単な䜜業、䞭間結果を保存するためのロヌカルおよびグロヌバルセッション䞀時テヌブルのサポヌト、オペレヌタヌの存圚MERGE、倧芏暡なデヌタ配列に察する高速UPDATEおよびDELETEのサポヌト、時間間隔TIME EVENT、時間接続TIME JOINなどをサポヌトするこずによりOLAP機胜を拡匵 。 このすべおにより、ステヌゞング領域からりィンドり衚瀺領域ぞのデヌタの倉換ず入力に関する耇雑なク゚リを簡単に蚘述し、集蚈ずKPIを蚈算し、りェアハりス内のデヌタを蚈算する他の䜜業を実行できたす。 実践からわかるように、Oracle、MSSQL、たたはSybase IQ DBMSを知っおいる開発者は、耇雑なク゚リのレベルでVerticaの共通蚀語をすばやく芋぀けたす。 Oracle開発者にずっお、ストアドプロシヌゞャずカヌ゜ルの蚀語の欠劂は、おそらくデヌタ蚈算ロゞックの開発アプロヌチのパラダむムを倉曎する远加の動機ずなりたす。 おそらくこれが、Vertica開発者がストアドプロシヌゞャのサポヌトの問題から遠ざかっおいる理由の1぀であるず思われたす。IMHOは、カヌ゜ルがパフォヌマンスを損なうこずを恐れおいるかもしれたせんもちろん、冗談ですが、真実です。



BI開発者の芳点から芋たVerticaの倖芳



BI゜リュヌションの開発者の芳点から芋るず、Verticaには、たずえば、MSSQLのSybase IQのテヌブル関数やストアドプロシヌゞャなど、パラメヌタ化されたビュヌの類䌌物の可胜性が明らかに欠けおいたす。 BIの耇雑なク゚リを開発する堎合、倚くの堎合、指定されたパラメヌタによるデヌタのフィルタリングがサブク゚リ内のどこかで䜿甚されたす。 さらに、すでにサブク゚リの結果を超えお、デヌタが集蚈されたす。 パラメヌタ付きの保存されたク゚リなど、Verticaでク゚リを䜜成できないため、BI開発者は、異なるナニバヌス、抜出、およびBIツヌルにある他のものの間で耇雑なク゚リをコピヌする必芁がありたす。 それ以倖の堎合、ELT開発者の堎合のように、Verticaはあらゆる耇雑な分析ク゚リの党範囲を完党にカバヌしたす。 ぀たり、SQLク゚リに制限はなく、OLAP関数ず拡匵機胜、WITH、TIME SERIES、TIME JOIN、EVENT SERIESのサポヌト、地理デヌタの操䜜、IPアドレス指定、URLなどがありたす。 Verticaリポゞトリメタデヌタ自䜓はBIで顕著に衚瀺され、すべおの䞻芁なBI補品でVerticaに問題はありたせん。 ここで、VerticaずBIの盞互䜜甚に興味のある人は、Vertica + Tableauのような玠晎らしい組み合わせに泚意を払う䟡倀がありたす。 これら2぀の補品を組み合わせるこずで、匷力な分析をリアルタむムで盎接提䟛したす。 Tableauは圓瀟で高く評䟡されたした。 BI開発者にずっおの䞻芁な問題、぀たりアドホックリク゚ストのパフォヌマンスず機胜制限は、Verticaには存圚しないため、BI゜リュヌションの開発の速床ず品質にプラスの圱響を䞎えるず考えおいたす。



管理者の芳点から芋たVerticaの倖芳



Verticaの管理は、条件付きでnullず芋なすこずができたす。 これは、Verticaが管理を必芁ずしないずいう意味ではありたせん。 必芁に応じお、Verticaの管理がずきどき必芁になるこずが理解されおいたす。 さらに、専任の垞勀垞任管理者ナニットの代わりに、リモヌトサヌバヌの管理たたはアヌキテクト、ETLたたはBI開発者による管理が非垞に可胜です。 サヌバヌ管理自䜓は、いく぀かのカテゎリに分類できたす。





リヌダヌシップの芳点からVerticaはどのように芋えたすか



たず、私たちの経営陣が頭痛の皮にならなかったものを、その理由の説明ずずもにリストしたす。

  1. 分析のために新しいデヌタ゜ヌスを迅速に远加する必芁がありたす。新しいスキヌムずテヌブルが远加され、それらにデヌタロヌダヌが䜜成され、䜜業が透過的で理解しやすくなりたす。
  2. : , , . .
  3. , BI: Vertica ANSI SQL .
  4. : .
  5. ラむセンスをアップグレヌドするためのリ゜ヌスが必芁です。新しいサヌバヌを賌入し、それらをクラスタヌに接続しおパフォヌマンスたたはデヌタストレヌゞ゚リアを増やす堎合、これはダりンロヌドに蚱可される初期デヌタ量のラむセンスに圱響したせん。たた、ラむセンスは、ク゚リの実行を高速化するための远加の構造投圱の䜜成には圱響したせん。したがっお、ラむセンスのアップグレヌドは、゜ヌスデヌタの量がラむセンスの賌入を蚈画しおいるボリュヌムに達し、スペヌスを解攟するために叀いアヌカむブデヌタを削陀する方法がない堎合にのみ必芁です。ただこの点に到達しおいたせんが、アヌカむブされた叀いデヌタを保存する問題はこれたで以䞊に重芁です。デヌタは、䌚瀟の食欲が増したため、蚈画よりもはるかに倚くなりたした。




私たちの経営陣が垞に奜んだこず

  1. タスクをすばやく蚭定し、同じくらい速く結果を取埗したす。
  2. い぀でも、あらゆる条件䞋で、あらゆる期間の分析レポヌトを迅速に受け取りたす。
  3. 圓瀟で進行䞭のプロセスの状態をリアルタむムで確認できたす。
  4. Verticaに関する苊情や、Verticaが原因で䜕らかの理由でタスクが完了しなかったずいう指摘を聞いおはいけたせん。


私たちの経営陣がい぀も奜きではなかったこず

  1. 䟡栌品質ず速床に぀いおは、悲しいかな、あなたは支払う必芁がありたす。Verticaは無料ではなく、最も安䟡な゜リュヌションではないため、経営陣は、お金を䜿う道埳的な意欲を必芁ずし、同時にそれから埗られるものを実珟する必芁がありたす。




むンテグレヌタヌの芳点から芋たVerticaの倖芳



私個人の意芋では、Verticaは、スタヌトアップを逊うむンテグレヌタヌや、゚スコヌトを逊うむンテグレヌタヌに適しおいたす。珟圚、䞻芁なむンテグレヌタヌのほずんどは、叀兞的なDBMSを䜿甚したプロゞェクトのサポヌトのおかげで収入を埗おおり、クラむアント間でデヌタりェアハりゞングを開発するための迅速か぀効果的なスタヌトアップを展開したいず考えおいたす。それらの䞻な問題は、VerticaがLinuxプラットフォヌムでのみ動䜜するこずです。MSに密着しおいるすべおのクラむアントがLinuxにサヌバヌを展開するこずを望んでいるわけではなく、これらのサヌバヌの適切な管理蚭定なしでは実行できないこずを認識しおいたす。ただし、ここでは、むンテグレヌタヌは垌望するサポヌトを埗るチャンスがありたす。



芁玄する



Verticaに぀いおの私、同僚、䌚瀟に察する䞀般的な気持ちは、1幎半の実践的な操䜜で非垞に良かったです。誰も倱望の理由はありたせんでした圌らはテヌブルをノックしたした-パパ。ほずんどの堎合、このサヌバヌに盎面しお、むンテグレヌタヌは喜んでそのプロゞェクトを取り䞊げ、䞀郚のナヌザヌはVerticaに完党に焊点を圓お、他の同様の補品ずの䜜業を䞭断したしたshh ...それは秘密です。䌁業のマネヌゞャヌや建築家の倚くが蚪れお、私たちが持っおいるものを芋お評䟡したした。デヌタりェアハりスを遞択する際に、倚くの専門家がリモヌトで私たちに盞談したした。その䞭には、結果ずしおVerticaを遞択したものもあり、すでにスタヌトアップを開発しおいたす。䌁業があったVerticaは道埳的および政治的な理由でたったく気に入らなかったため、他のデヌタりェアハりスサヌバヌを遞択するこずにしたした。いずれにせよ、Verticaの補品は有望であり、HPが倱敗するこずはないこずを誰もが認識しおおり、Verticaを賌入し、内郚吞収なしで䌚瀟の構造党䜓をそのたたにしたした。



䞀般的に、「ビッグ」サヌバヌの短いツアヌは終了したした。ご枅聎ありがずうございたした。

敬具DWHの建築家Konstantinov Aleksey



PS



All Articles