[51CTO.com からのオリジナル記事] データは間違いなく企業にとって最も重要な資産の 1 つです。ビッグデータの出現により、豊富なデータ形式とデータ量の急激な増加が企業に多大なプレッシャーをもたらしています。データを効果的に活用し、分析してより大きな価値を引き出し、企業の意思決定を支援する方法は、あらゆる企業にとっての関心事です。以前は、リレーショナル データベースには 2 次元テーブルの形式で多くのデータが存在していました。しかし、今日では、データ間の接続はますます複雑になっています。グラフ データが企業のビジョンに入り始めており、より複雑なデータを効率的に接続して分析できるようになりました。 グラフの国内および国際的な発展 コンピュータ分野において、グラフとは、有限のノード集合 V (頂点) とエッジ集合 E (エッジ) で構成されるデータ構造です。グラフにおいて最も基本的な単位は頂点であり、頂点間の関係はエッジと呼ばれます。 グラフは 1950 年代、1960 年代から存在していました。当時は、最短経路アルゴリズムやスパニング ツリー アルゴリズムなどの古典的なアルゴリズムがいくつかありました。 2009年頃、Googleは大規模グラフコンピューティングの問題を解決するために開発したシステムに関する論文を発表しました。それ以降、グラフは企業の視野に入り始めました。当時、Google は PageRank ウェブページのランキングにグラフを適用していました。Google 検索エンジンには多数のウェブページがあったため、ユーザーが検索したときにページがランク付けされる順序に PageRank アルゴリズムが適用されました。各ウェブページはグラフの頂点です。別のウェブページを指すリンクがある場合、2 つのウェブページの間にエッジが形成されます。ウェブページ間の相互の参照により、巨大なグラフが形成されます。そして、グラフ分析に基づいて、各ウェブページにランク値が割り当てられます。ランク値が高いウェブページは比較的重要で権威があるため、ユーザーが検索したときに最前列に表示されます。 中国では、グラフの開発は比較的遅れており、基本的に学術界に集中しています。たとえば、清華大学、華中大学、上海交通大学、中国科学院などの大学には、関連する研究を行っているチームやプロジェクトグループがあります。 Alibaba、Baidu、Tencent などの大手インターネット企業はすでにグラフデータ関連のアプリケーションを開発しています。 グラフのような構造は、人工知能の分野におけるナレッジグラフ構造と非常によく似ています。フェルマーテクノロジーのCEOであるホン・チュンタオ氏は、ナレッジグラフはグラフのようなデータ構造で構成されるグラフのアプリケーションであると説明しました。 Google が提案するナレッジ グラフは、各属性が頂点として抽象化され、各頂点には属性がない特殊なグラフです。ただし、プロパティは、別の頂点として抽象化されることなく、頂点属性として存在する場合もあります。これがプロパティ グラフです。例えば、ある人物を検索する場合、年齢や身長などをその人物の属性として使用できます。 従来のリレーショナル データと比較して、グラフ ロジックは、ソーシャル インフルエンス ランキングや友達の推薦のためのユーザー ソーシャル リレーションシップ グラフの描画、ビッグ データ信用調査、詐欺防止などのアプリケーションのための資金取引グラフの描画、モノのインターネットのモデリングと分析、電源ネットワークのモデリングと分析を実現するためのデバイス リレーションシップ ネットワーク グラフの構築など、連想データ分析の現在の問題を効果的に解決できます。 グラフデータシステムの関連代表者 現在、業界で主流のグラフコンピューティングシステムとグラフデータベースは、GraphX、PowerGraph、Neo4j、Titan であり、各システムにはそれぞれ長所と短所があります。 GraphX は最も一般的に使用されているグラフ コンピューティング製品です。これは、Spark をベースにしたソフトウェア システムです。Spark は一般的なコンピューティング シナリオに対応するように設計されており、グラフ コンピューティングに対する適切なサポートは提供していません。そのため、その上にグラフコンピューティングをサポートするシステムを構築すると、パフォーマンスが大幅に低下します。 Hong Chuntao 氏は、GraphX はすべての頂点のデータを不変の全体 (RDD) として扱うことを紹介しました。一部の頂点のデータを変更する必要がある場合は、データを全体としてコピーしてから変更する必要があります。これの利点は、新しいデータを生成するプロセス中にマシンがクラッシュした場合でも、元のデータはそのまま存在し、再度実行できることです。しかし、グラフコンピューティングには多くの反復処理が必要です。例えば、前述のPageRankは20~30ラウンド実行する必要があります。GraphXを使用すると、反復処理ごとに新しいコピーを追加する必要があり、メモリが数十倍に膨れ上がります。そのため、GraphX の計算能力には限界があり、数百億の頂点を実行することは基本的に不可能です。 GraphX は比較的初期に開発されたため、その設計は当時のデータ量に基本的に対応できましたが、時間が経つにつれて、GraphX のサポート機能が限られているという問題が露呈しました。 PowerGraph も C++ で書かれたグラフ コンピューティング システムです。GraphX の約 10 倍のデータ量とパフォーマンスをサポートします。 Neo4j は、10 年以上にわたって開発されてきた最も古いグラフ データベースです。しかし、Neo4j は主に 1 億頂点程度の中規模データに使用されるため、今日のインターネット上の膨大なデータには対応できません。 国内の BAT 企業は基本的に、オープンソースの Titan グラフ データベースをベースに、自社のビジネス ニーズに合わせて変更を加えています。 Titan は大量のデータをサポートできます。基盤となるレイヤーは分散型キーバリューストアに基づいていますが、クエリ速度は比較的遅いです。そのため、Titan は単純なクエリしか実行できません。 プログラミング言語がグラフコンピューティングに与える影響 さらに、プログラミング言語もグラフデータの計算パフォーマンスに影響を与えます。現在、業界で主流のグラフコンピューティング開発言語は Java と C++ です。 C++ と比較すると、Java は高水準言語です。Java でのプログラミングはより単純で、エラーも起こりにくくなります。ただし、グラフ コンピューティングの分野では、Java で開発されたシステムのパフォーマンスは、C++ で開発されたシステムとは多少異なります。 まず、最下層に Java 仮想マシンがあり、すべての操作は仮想マシンによって変換されてから実行されなければなりません。そのため、操作は制限されます。Java で記述されたシステムは、さらにいくつかのレイヤーを変換する必要があり、実行効率に影響します。 C++ プログラムはコンパイルされるとバイナリ コードになり、作成後すぐにコンピューター上で実行できるようになります。 第二に、Java 仮想マシンにはガベージ コレクションと呼ばれるメカニズムがあります。システム メモリが頻繁に使用されると、問題が発生します。システムは頻繁にガベージ コレクションを実行するため、ソフトウェアのパフォーマンスが低下します。C++ では、プログラマーが自分でメモリを管理する必要があります。これによりプログラマーに高い要件が課せられますが、ソフトウェアの効率を最もよく保証できます。 3番目に、システムコールの問題があります。 C++ はオペレーティング システム コールを通じて直接システム構成を変更できますが、Java は Java 仮想マシンを経由する必要があります。Java 仮想マシンがこの機能を提供しない場合、Java プログラムはこの機能を呼び出すことができません。たとえば、グラフ データベースが外部メモリからデータを読み取る場合、オペレーティング システムの MMAP (ファイルまたはその他のオブジェクトをメモリにマッピングする) 機能を使用する必要があることがありますが、オペレーティング システムはデフォルトで事前読み取りを実行します。つまり、システムはデータ ブロックを読み取るときに、デフォルトで後続のデータを事前読み取りしてメモリに配置します。ただし、データベース内のデータはランダムにアクセスされるため、事前読み取り機能によって多くのリソースが浪費されます。 Java ではシステム コール機能をオフにすることはできませんが、C++ ではシステム コールを通じてこの設定を直接変更できます。 フェルマーテクノロジーの多面的最適化 グラフは高次元データであり、2 次元データとは異なり比較的規則的であるため、グラフ データの保存と計算の難易度もそれに応じて高くなります。従来の規則的なデータの場合、コンピューターはソフトウェア システムを通じてデータを効率的に保存および分析できますが、グラフの不規則性により、ハードウェアのパフォーマンスを十分に活用することが困難になります。例えばGraphXを使ってグラフデータを実行する場合、基本的に占有するメモリは元データの数十倍になります。そのため、多くのマシンでは実行できません。もう一つの問題はパフォーマンスです。たとえマシンが動作できたとしても、効率が非常に低いため、ビジネスには受け入れられません。 北京フェルマーテクノロジー株式会社は、清華大学の教授陣の支援を受けて、清華大学の博士課程修了者数名によって2016年に設立されました。グラフデータ技術に重点を置いた国家ハイテク企業であり、企業に高性能なグラフデータストレージおよび分析プラットフォームを提供しています。 Fermat Graph Data Platform は、Fermat が独自に開発した、効率的な大規模グラフコンピューティング プラットフォームです。主にグラフ分析プラットフォーム PandaGraph と大規模グラフデータベース LightGraph の 2 つの部分から構成されています。 PandaGraph グラフ分析プラットフォームはグラフ データを効率的に分析するために使用され、LightGraph グラフ データベースはグラフ データを保存および照会するために使用されます。ユーザーは PandaGraph を直接呼び出して、LightGraph に保存されているグラフ データをすばやく分析し、後続のクエリのために結果を LightGraph に保存できます。 Fermat Technology の製品研究開発はすべて独立しており、オープンソースの製品アーキテクチャを採用していません。Hong Chuntao 氏は、まず、オープンソース製品の基礎は十分に完璧ではなく、多くの制約を受けるため、古い建物を改築するのと同じように天井が見えやすいと認めています。一方、私たちはゼロから始めるため、新しい建物を建てるのと同じで、下から上まで最適化することができます。 Fermat グラフ データ プラットフォームは、アーキテクチャ層から機能層まで、層ごとに最適化されています。アーキテクチャレベルでは、Fermat チームは、主流の Java 言語ではなく、基盤となるデータのやり取りに適した C++ 言語を選択しました。記述は複雑ですが、アプリケーションの柔軟性は高くなります。 ストレージの面では、Fermat はマルチバージョンの同時実行をサポートし、読み取り操作と書き込み操作を分離し、書き込み操作が読み取り操作のパフォーマンスに影響を与えず、頻繁な読み取りおよび書き込み操作によってパフォーマンスが低下することもありません。トランザクション内並列処理をサポートし、複数のスレッドが同じスナップショットに対して操作を実行できるため、長いトランザクションの分散処理が高速化されます。ロックフリーのデータ構造を採用しており、データの読み取り操作にロック操作が不要なため、スループットが非常に高くなります。プレフィックス圧縮により、関連データが連続した空間に格納されるため、トラバーサル操作の効率が向上し、繰り返しの検索操作が削減されます。 分析の面では、Fermat は分散拡張をサポートし、分散環境に線形に拡張でき、稲妻のように拡張および拡張できます。デュアルモード ドライブ、グラフ データ アクセスはプッシュ モードとプル モードの両方をサポートし、操作中に自動的に適切なモードを選択してデータ アクセス効率を向上させます。連続データ ブロック分割を採用し、データを分割するときに、実際のデータの固有の相関関係を使用して、関連するデータを一緒に分割します。高品質の分割方法は、分析に大きなメリットをもたらします。きめ細かいスケジューリングにより、グラフ データ タスクがデバイスの CPU、コア、スレッドなどの複数のレベルに動的にマッピングされ、コンピューティング リソースが十分に活用されます。 Fermat Graph Data の製品ロジックはデータの最下層にあり、大規模なグラフ データの保存と分析を強力にサポートします。ただし、チームは、お客様の実践において、追加のシナリオ/アルゴリズムの最適化を行うのを頻繁に支援します。 JD Financeを例に挙げましょう。JD Financeは「百条」サービスを提供しています。百条の金額はユーザーのリスク値によって異なります。従来のデータに加えて、同じ住所などの類似情報を参照することで、グラフデータ技術を通じて関連するユーザーを簡単に関連付け、連絡先のリスク係数を参照してユーザーのリスク値を計算します。 Fermat Technology は、JD Finance が複数のアカウント間の相関関係を分析するのを支援しています。1 台のサーバーのリソースのみを使用して、完全なデータ処理を 10 分以内に完了できます。GraphX に基づく以前の状況では、数百台のデバイスで 6 時間以上かけて計算する必要がありましたが、それと比較すると、パフォーマンスが 1,000 倍向上しただけでなく、財務リスクも軽減され、JD Finance に驚きをもたらしました。 現在、グラフデータベースとグラフコンピューティングの両方を提供している企業は市場に存在しません。フェルマーテクノロジーが提供するグラフデータベースとグラフコンピューティングの製品は、相互に連携してストレージの問題を解決し、分析効率を向上させることができます。もちろん、創業から 3 年未満の企業であるため、Fermat Technology の製品に欠点がないわけではありません。ホン・チュンタオ氏は、フェルマーテクノロジーの現在の最大の欠点はその使いやすさだと率直に語った。遭遇したシナリオについてはパフォーマンスの最適化を実行できますが、多くのアプリケーション シナリオは遭遇していないため、パフォーマンスを向上させる方法を見つけるのは困難です。そのため、やはり長期間の経験の蓄積が必要となります。 フェルマーテクノロジーのコア競争力:人材 Fermat Technology の最大の競争優位性について語る際、Hong Chuntao 氏は Fermat Technology の核心競争力は人材であると考えています。ハイレベルのプログラマーを集め、グラフデータの分野に長期にわたって投資することによってのみ、真にハイレベルのシステムソフトウェアを開発することができます。確かに、フェルマーテクノロジーのメンバーからは、このスタートアップチームの強さが伺えます。 Fermat Technology の CEO である Hong Chuntao は、清華大学コンピューターサイエンス学部を卒業しました。博士号取得を目指していた彼は、早くも 10 年前に、世界初のオープンソース分散 C++ グラフ コンピューティング システムを開発しました。卒業後、Microsoft Research Asia に 6 年間在籍し、チームを率いて Microsoft の次世代ビッグデータ システム プラットフォームと分散機械学習プラットフォームを設計し、Bing 検索チームによる初期のプロトタイプ設計の実装を支援しました。 [[270710]] フェルマーテクノロジー CEO ホン・チュンタオ Fermat Technology の CTO である Zhu Xiaowei は、清華大学の修士課程および博士課程に入学し、*** 奨学金を授与され、Siebel Scholar であり、国際的なトップジャーナルの注目の的となり、AMC 最優秀賞やその他の多くの科学技術賞を受賞しました。彼が率いる Gemini プラットフォームは、現在、業界最速のグラフ コンピューティング ソフトウェアです。 Fermat Technology の共同創設者である Lin Heng 氏は、清華大学でコンピューターサイエンスの博士号を取得しており、Graph500「Shenwei TaihuLight」の著者でもあります。リン・ヘン博士は、このシステムのGraph500選出を主導し、世界第2位を獲得し、グラフデータ分析分野における国内の高性能システムの受賞の空白を埋めました。 Fermat Technology の共同創設者である Kaiwei Li 博士は、GPU アクセラレーションと機械学習の専門家です。彼はまた、Siebel Scholar であり、国際数学オリンピックの金メダリストでもあります。彼はチームを率いて、世界 3 大スーパーコンピュータ コンテスト (ASC、SC、ISC) で優勝しました。彼は清華大学コンピュータ サイエンス学部の「小さな天才」として知られています。 賢い人が集まれば、効率は自然に驚くほど高くなります。 Fermat Technology のグラフ データ プラットフォームのシステム再構築には、Hong Chuntao 博士の厳しい要件の下でわずか 3 か月かかりました。注目すべきは、この優秀なチームが清華大学の陳文光教授によって率いられていることです。陳教授はグラフデータの大きな可能性を鋭く捉えました。そこで、陳教授の提案に学術エリートのグループが応え、今日のフェルマーテクノロジーが誕生しました。 今後の展開 Fermat Technology は 2016 年に設立され、エンジェル ラウンドと A ラウンドの 2 回の資金調達を完了しています。Hong Chuntao 氏は、今後の開発についても詳細な計画を立てています。短期的な目標は、グラフコンピューティングとグラフデータベース製品を最適化および改善し、2〜3年以内に業界のグラフデータに対する認識を高めることです。ユーザーは関連する問題に遭遇した場合、Fermat Technologyなどのサプライヤーを選択して問題を解決できます。長期的な目標は、ユーザーがグラフデータを理解するだけでなく、グラフデータをより適切に適用できるようにすることです。Fermat Technology は、Oracle レベルのソフトウェア企業になることを目指しています。 [51CTO オリジナル記事、パートナーサイトに転載する場合は、元の著者とソースを 51CTO.com として明記してください] |
<<: 今後数年間の人工知能研究が避けられない3つの重要な問題
>>: 技術革新は「プロトタイプ」で止まるわけにはいかない…
7月5日、マサチューセッツ工科大学(MIT)とマイクロソフトの研究者らは、GPT-4モデルには優れ...
ブロックチェーンと人工知能の関係は何ですか?ブロックチェーンは人工知能に影響を与えることができるか?...
テクノロジーは前例のない速度で進歩しており、モバイル コンピューティングの将来は変革的な進歩を約束し...
人形アニメーションの制作は、クリエイターの手描きに頼るアニメーションと比べると、非常に手間のかかる作...
8月11日、2018年のCCFビッグデータ&Computational Intelligenceコン...
過去2年間で、LAION-5B、Stable Diffusion、DALL-E 2、ControlN...
[[258735]] 3月3日、毎年恒例の全国「両会」が正式に始まりました。「両会」シーズンが始ま...
Google が発表した新しい研究論文では、音声検索や YouTube 動画へのテキスト説明やタグ...
今日はそれについて話しましょう。あらゆるものには規則性がある。これを植物と生物学の2つの観点から議論...
1. ツリー構造1. 配列とリンクリスト配列構造配列ストレージは、要素に添字でアクセスするため、クエ...
[[315530]] 01. はじめにデータのクエリ速度を向上させるために、キャッシュがよく使用され...