インメモリコンピューティング 今のところ、メモリは私たちが使用できる最も高速なストレージ デバイスです。できるだけ多くのデータをメモリに格納することが、さまざまなアプリケーションのデータ アクセス パフォーマンスを向上させる最も効果的な方法になっています。多くの重要なビジネス システムにとって、メモリはサイズが非常に限られた「揮発性」ストレージ デバイスです。パフォーマンスを確保しながらデータを永続化する方法と、最も処理されるデータに限られたメモリをどのように割り当てるかは、プログラム設計における主要な課題です。 Oracle の TimesTen インメモリ データベースは、高い同時実行性、低レイテンシ、高可用性が求められる重要なビジネス システムにほぼ完璧なソリューションを提供します。データをメモリに格納し、SQL を使用して開発を簡素化することで、アプリケーション開発者は基盤となるメモリ割り当てを気にすることなく、ビジネスの実装に集中できます。 TimesTen は、高度な同時実行環境において、Oracle データベースに匹敵するデータの整合性、一貫性、回復性も提供できます。メモリの「揮発性」も克服され、メンテナンス作業が大幅に簡素化されます。そのため、Oracle TimesTen は 20 年以上にわたって通信や金融などの業界で広く使用されてきました。
メモリベースのコンピューティングに関するもう 1 つの問題は、常に業界関係者を悩ませてきました。それは、メモリが限られていることと、比較的密度の高いデータです。つまり、1 台のサーバーのメモリでは、処理する必要のあるデータを保存するには到底足りず、頻繁なメモリ スワップによってリソースが大量に消費されてしまいます。ユーザーは、処理のためにデータを複数のサーバーに分散するために手動のデータベース パーティショニングを使用する必要がありますが、その結果、管理と開発が複雑になり、スケーラビリティが低下するなど、多くの問題が発生します。 技術の発展に伴い、Redis、Oracle Coherence などの分散メモリ グリッド テクノロジもデータ アクセスの高速化に使用され始めました。分散メモリ グリッド テクノロジは、キー値メモリ データ ストレージを使用して、ディスク データベース データをクラスタ システムの各ノードのキャッシュに簡単に分散し、単純なデータ クエリとトランザクションに高いパフォーマンスを提供します。しかし、このタイプのテクノロジーには、強力なデータ一貫性、データの永続性、複雑なレポートと統計、大規模な同時トランザクション処理などの問題があります。 分散リレーショナルインメモリデータベース - 理想的なインメモリデータベース 高い同時実行性とリアルタイム応答要件を備えた重要なビジネス システムの場合、分散リレーショナル データベースが理想的な選択肢です。分散リレーショナル データベースは、リレーショナル データの ACID 特性を備え、高い同時実行性のユーザー要求を処理でき、ビジネス データ アクセス要求にリアルタイムで応答でき、完全なバックアップ、リカバリ、および災害復旧メカニズムを備えています。同時に、NoSQL のメモリ グリッド テクノロジと同様に、処理対象のデータをクラスター内のすべてのノードに分散し、必要に応じてクラスター内のデータ処理ノードを拡張することができます。今年5月初旬、インメモリコンピューティング、分散処理、リレーショナルデータベースを統合した理想的な分散インメモリデータベースであるOracleの分散インメモリデータベースが、ついに正式に市場に投入されました。 TimesTen 18.1 スケールアウトの機能 Oracle の分散型インメモリ データベースは、20 年以上の歴史を持つ TimesTen カーネルを使用して構築されています。公式リリースは TimesTen 18.1 Scaleout と呼ばれ、バージョン番号は 2018 年の最初のメジャー リリースを意味します。 まず、TimesTen 18.1 Scaleout は厳密にリレーショナル データベースです。トランザクションの原子性と永続性、トランザクションのコミットとロールバック、バージョンベースの同時実行制御、非ブロッキングの読み取りおよび書き込み操作など、Oracle データベースと同じ ACID 機能を備えています。 第二に、分散型インメモリ データベースとして、論理的には単一で物理的に分散された分散型インメモリ データベースです。 TimesTen 18.1 Scaleout のデータは、データベース クラスターの各ノードに分散され、保存されます。アプリケーションは、データベースへの任意のアクセス ポイントからすべてのデータにアクセスでき、データがどこに保存されているかを知る必要はありません。これも、市場にあるシャード データベースとは異なります。この設計により、アプリケーション開発とデータベース管理の難しさが大幅に軽減されます。 TimesTen Scaleoutの基本概念 Oracle TimesTen Scaleout を実行する内部的に相互接続されたサーバーのグループは、グリッドと呼ばれます。実行中の TimesTen Scaleout コードはインスタンスと呼ばれます。 TimesTen Scaleout インスタンスは、データ インスタンスと管理インスタンスに分かれています。データ インスタンスの概念は、データ キャッシュとバックグラウンド プロセスを含む Oracle データベース インスタンスの概念と非常に似ています。 各 TimesTen Scaleout データ インスタンスには、要素と呼ばれるデータ永続性の最小単位が含まれています。要素には、データベース全体のデータの一部と、このデータベース内の完全なユーザー情報およびスキーマ情報が含まれます。各要素には、独自の永続的なチェックポイント ファイルとトランザクション ログ ファイルがあります。エレメントはレプリカを使用して高可用性と災害復旧を実現できます。 クラスターでは、通常、クラスター全体の動作状態を追跡および監視するために 1 つまたは 2 つの管理インスタンスが構成されます。 データの配布方法 では、すべてのデータを各要素にどのように分配するのでしょうか?一般的には、次のような方法があります。
一貫性のあるハッシュ アルゴリズムに基づく分散は、通常、大規模なデータベース テーブルに使用されます。たとえば、Cust_ID のハッシュ値に基づいて、次のステートメントを使用して CUSTOMER テーブルの各行をすべての要素に分散できます。
親テーブルに関連付けられた行は同じ要素内に共存します。最適化されたローカル トランザクションは、ORDERS テーブル内の CUSTOMER に関連付けられた行を同じ要素に格納します。
小さなクエリ指向のテーブルは、各要素に完全なデータを格納し、ローカル トランザクションを最適化します。たとえば、PRODUCT テーブルのすべての要素の完全なデータのコピーを保存する場合、これは頻繁に変更されない比較的小さなテーブルに適しています。 高可用性の実装 前述したように、TimesTen 18.1 Scaleout は、Element の複数のコピーを通じて高可用性を実現します。このメカニズムは、次の図に示すように、K-Safety (K>1) と呼ばれます。 完全なデータ セットはデータ スペースと呼ばれ、データベースのすべての要素が含まれます。上図のデータスペース グループ 1 には、完全なデータベースを構成する要素 1 と要素 3 が含まれています。同じ要素を持つセットはレプリカ セットと呼ばれます。それらはお互いのコピーです。たとえば、上の図のレプリカ セット 1 には、高いデータ可用性を実現するために異なるマシンに配置された要素 1 と要素 2 が含まれています。 互いにコピーする要素はアクティブ/アクティブです。つまり、アプリケーションは互いに影響を与えることなく、任意の要素に対して読み取りおよび書き込みトランザクションを開始できます。データベース システムは、2 つの要素間のデータ同期を担当します。 このアーキテクチャでは、複数の要素に障害が発生しても、利用可能なレプリカの完全なセットがある限り、アプリケーションは影響を受けません。レプリカ セット全体で例外が発生した場合、アプリケーションは残りのデータのみを返す結果セットを受け入れることを選択できます。 集中インストールと管理 TimesTen 18.1 スケールアウト管理操作は、ホストのグラフィカル インターフェイスまたはコマンド ラインを介して単一のアクセス ポイントから実行でき、次のようなクラスタのすべての操作を完了できます。
Oracle のメモリ キャッシュ テクノロジーの比較 TimesTen 18.1 Scaleout のリリースにより、Oracle はリアルタイムのインメモリ データ処理の難題をさらに改善しました。従来の OLTP 指向の TimesTen も 18.1 にアップグレードされ、TimesTen 18.1 Classic と呼ばれています。使用シナリオの違いを見てみましょう。 1. TimesTen18.1 クラシック 使用シナリオ: リアルタイムおよび準リアルタイムの OLTP システム高速化に使用されます。 TimesTen18.1 Classic のマシン メモリが処理するデータを格納するのに十分である場合、TimesTen 18.1 Classic はより高いリアルタイム データ処理パフォーマンスを提供できます。 デプロイメント: CacheGroup またはその他の方法を使用して Oracle データベースとデータを同期し、独立して実行することも、Oracle データベースのバッファとして実行することもできます。 2. TimesTen 18.1 スケールアウト 使用シナリオ: 高い同時実行性と低レイテンシを備えた重要なビジネス システム (主に OLTP) 向けの、分散型でフォールト トレラント、柔軟にスケーラブルなリレーショナル インメモリ データベース。リアルタイムで処理する必要があるすべてのデータを単一のマシンのメモリに保存できず、手動でデータベースをパーティション分割する必要があるシナリオ。 展開: サーバー クラスター展開を使用します。 3.Oracle データベース インメモリ オプション 使用シナリオ: Oracle12.1.02 データベースで導入されたデータ列メモリ テクノロジは、主にデータ分析とレポート作成を高速化するために使用されます。 展開: ユーザーは、データベース内で分析およびレポートする必要があるデータベース テーブルに、列指向メモリ ストレージのオプションを追加できます。データベースが起動されるか、またはテーブルが初めてクエリされるときに、データは列形式または列圧縮形式で Oracle データベースの SGA 領域のメモリ内領域にキャッシュされます。オプティマイザは、列メモリ データにアクセスする必要がある SQL がメモリ内領域からデータを取得できるように、SQL アクセス パスを自動的に最適化します。 4. オラクルコヒーレンス 使用シナリオ: Oracle Coherence は分散メモリ グリッド テクノロジであり、通常は中間層のデータ アクセスを高速化するために使用されます。 デプロイメント: データはキー値の形式でメモリに保存され、REST API を使用してアクセスされます。 要約する ビッグデータとクラウドの時代では、リアルタイムデータを処理する方法は数多くあります。 Oracle は、データ アクセスと処理を高速化するためのさまざまなメモリ テクノロジ製品とテクノロジを提供しています。 TimesTen 18.1 Scaleout のリリースにより、Oracle メモリ コンピューティング製品ファミリがさらに強化されます。実績のある TimesTen インメモリ データベースのカーネルを継承し、No SQL データベースの設計概念をいくつか取り入れています。リアルタイムのデータ処理に対する要件が高い多くの主要なビジネス システムで確実に使用されるでしょう。 |
<<: WOT 董明新: スノーボールにおけるコンテナ技術の実践
>>: NFV+SDNクラウドネットワーク連携によりVNFの完全自動展開を実現
shuhostは今から2月29日まで、香港データセンターの独立サーバーに対して大幅割引キャンペーンを...
この記事はもともと500.coに掲載されたもので、Mark Saldañaによって執筆されました。こ...
情報公開は、SEO初心者にとってもベテランSEO専門家にとっても、日常的な話題です。しかし、現在オン...
ペンギンがやって来ます!ペンギンアップデートV2.0についてペンギン アップデート 2.0/4 が昨...
どのオンライン マーチャントにとっても、コンバージョン率は大きな関心事であり、これは主に宝くじソフト...
ネットワーク技術の発展により、モバイルインターネットユーザーが急増しました。モバイルソーシャルメディ...
21日、百度は新しいウェブサイト外部リンク検出ツールをリリースしました。多くの人がこの件に注目してい...
データセンターの現状の概要今日のデジタル時代において、データセンターはグローバルな情報インフラを支え...
zji.netは11月に特別プロモーションを実施します。50%オフの特別プロモーションは、皆様のダブ...
Baidu は今再び人気を博しています。Baidu は以前 360 と競争しようとしましたが、失敗し...
Baidu が 6 月 28 日に発表して以来、Xianyun は自身の小さなサイトを使用して Ba...
hostsolutions.ro はルーマニアの正規ホスティング プロバイダーです。仮想ホスティング...
月収10万元の起業の夢を実現するミニプログラム起業支援プランキーワードランキングの最適化を行い、ホー...
飲食業界のリーダーとして、海底撈は話題に事欠かない。例えば、先日発表された「2019年胡潤世界長者番...