JP2022505720A - コンテナ化されたリレーショナルデータベースのi/o消費を効果的に減少させる方法 - Google Patents

コンテナ化されたリレーショナルデータベースのi/o消費を効果的に減少させる方法 Download PDF

Info

Publication number
JP2022505720A
JP2022505720A JP2021522369A JP2021522369A JP2022505720A JP 2022505720 A JP2022505720 A JP 2022505720A JP 2021522369 A JP2021522369 A JP 2021522369A JP 2021522369 A JP2021522369 A JP 2021522369A JP 2022505720 A JP2022505720 A JP 2022505720A
Authority
JP
Japan
Prior art keywords
memcached
distributed cache
container
cache architecture
layer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2021522369A
Other languages
English (en)
Inventor
李鵬
楊菲
王汝伝
徐鶴
李超飛
樊衛北
朱楓
程海涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University of Posts and Telecommunications
Original Assignee
Nanjing University of Posts and Telecommunications
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing University of Posts and Telecommunications filed Critical Nanjing University of Posts and Telecommunications
Publication of JP2022505720A publication Critical patent/JP2022505720A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Figure 2022505720000001
本発明は、コンテナ化されたリレーショナルデータベースのI/O消費を効果的に減少させる方法を開示する。本発明の方法は、RDSインスタンス層とストレージ層との間に、kubernetes及びDockerプラットフォームによりmemcachedに基づく高可用性分散キャッシュアーキテクチャを構築し、RDSインスタンス層におけるストレージ層に書き込む必要があるデータをまず高可用性分散キャッシュアーキテクチャに書き込んで永続的に保存し、さらに高可用性分散キャッシュアーキテクチャによりストレージ層に更新し、高可用性分散キャッシュアーキテクチャによりRDSインスタンス層におけるホットスポットデータをキャッシュする。本発明では、高可用性分散キャッシュアーキテクチャによりRDSインスタンス層とストレージ層との直接交換を遮断し、RDSインスタンス層中のI/Oの消費を効果的に減少させるとともに、ネットワークI/O距離を効果的に減少できる。
【選択図】図1

Description

本発明は、コンテナ仮想化のパフォーマンス最適化の技術分野に属し、具体的にはコンテナ化されたリレーショナルデータベースのI/O消費を効果的に減少させる方法に関する。
情報技術の急速な発展とクラスタシステムの規模の拡大に伴い、クラスタシステムのリソースをどのように完全かつ効率的に使用するかは緊急の課題となっている。従来の仮想化テクノロジーの実装の難しさ、更新とアップグレードの難しさにより、コンテナ化は、軽量で共有リソース、及び迅速な拡張という利点を持つ従来の仮想化テクノロジーの代替となった。コンテナは、可搬性やパフォーマンスのオーバーヘッドなど、多くの分散アプリケーションの課題を解決できる。しかし、大規模システムの基礎技術としてコンテナを利用する場合、リソース管理の分野には多くの課題がある。Kubernetesは、PaaS(Platform as a Service)クラウドにおいてコンテナ配置を実現するシステムであり、業界で広く認識されているDockerクラスターソリューションであり、クラウドネイティブアプリケーションをデプロイでき、(マイクロ)サービスで構成される分散型で水平方向にスケーラブルなシステムであり、弾力性や弾力性のあるサポートなどの機能を備えている。クラウド業界では、kubernetesとDockerの組み合わせを受け入れる程度は想像以上であり、徐々にRDS(Relational Database Service、リレーショナルデータベースサービス)分野に導入してきた。しかし、データベースはステートフルアプリケーションとしてコンテナデプロイメントを使用するときにデータの永続性の問題を考慮する必要がある。これによって、ローカルストレージとリモートストレージが現れた(アーキテクチャの分離の原因)。Kubernetesによって提供されるボリュームタイプのemptyDir又はhostPath(ローカルストレージ)メソッドにより、コンテナは再起動又はドリフト後に以前のデータを保持できなくなる。ストレージ容量は単一ノードの容量によって制限され、RDSインスタンス配置ノードの選択はストレージメディア(SSD/HDD)によって制限される。Kubernetesが提供するボリュームタイプのクラウドストレージと分散ストレージの方法はともにデータの永続的なストレージを実現することができる。データをリモートストレージ端末に永続化するこの方法は、コンピューティングとストレージを分離するアーキテクチャを利用する。コンピューティングとストレージを分離する最大の利点は以下のとおりである。ボリュームを使用してステートフルデータをストレージ層にマウントし、RDSインスタンスを配置(デプロイ)するときに、ローカルのようにNodeノードのストレージメディアを検知する必要がなく、コンピューティングリソース(リクエスト、制限)の要求を満たすNodeノードにスケジュールするだけで済む。データベースインスタンスを起動するときに、適合するボリュームをストレージ層にマウントするだけで済む。これによって、データベースコンテナインスタンスの配置密度とコンピューティングリソースの使用率を大幅に向上させると同時に、アーキテクチャも明確であり、ストレージ容量の拡張が便利である。ローカルストレージ(local)方式と比較して、このような分離アーキテクチャではリモートデータ送信が必要であり、単一のI/Oではネットワークオーバーヘッドが大きくなり、ローカル方式に比べて応答時間が長くなり、データベースなどの遅延の影響を受けやすいアプリケーションでは、ネットワーク遅延がデータベースのパフォーマンスに大きく影響し、ビジネスシステムのサービス品質の低下を引き起こす。高密度配置(デプロイ)の場合、コンピューティングリソースとストレージリソースの使用率が不十分になる可能性がある。
インターネットの急速な発展とビジネスの継続的な拡大により、データの量は急速に拡大しています。通常、単一のマイクロサービスは単独のデータベースに対応する。このような大規模なアプリケーションは通常、複数のライブラリにより大量のデータを分けて負担し、同時に複数のバックアップインスタンスが存在する場合があるため、データベースインスタンスの数は膨大になる。この場合、コンピューティングとストレージを分離したアーキテクチャでは、複数のインスタンスがデータをストレージレイヤーに永続化する必要があり、ネットワークI/Oのオーバーヘッドを引き起こす問題がある。特に、リモートストレージシステムに高度に同時にアクセスするRDSインスタンス層(プラットフォーム内のすべてのRDSインスタンス)では、ネットワーク帯域幅がパフォーマンスのボトルネックになり、ネットワークトラフィックの消費量が急激に増加する。同時に、ストレージレイヤーに分散ストレージを導入すると、分散ストレージシステムは、コンピューターシステムの2つの主要なボトルネック(ディスクI/OとネットワークI/O)をビジネスシステムに導入し、分離されたアーキテクチャのI/Oオーバーヘッドをさらに悪化させる恐れがある。
コンピューティング及びストレージ分離アーキテクチャのパフォーマンスを最適化するための既存の方法
(1)RDSインスタンス層に対する最適化:データベースインスタンスは、トランザクションのコミット中にREDOの書き込み速度を最適化することにより、I/Oスループット、データベースの読み取りと書き込みの分離、DBの分割などを向上できる。
(2)ストレージ層に対する最適化:ストレージ層の複数レプリカ(replicas)書き込みデザインは、レプリカが過半数に達したときのリターン戦略、ハードウェアアップグレード、又はストレージ層でのトラフィック制御デザインを採用している。しかし、これらの方法は、コストが高いだけでなく、ストレージ分離アーキテクチャのパフォーマンスを大幅に向上させることも困難であり、要求を満たすことができない。
コンピューティングとストレージを分離したアーキテクチャのパフォーマンスを最適化するコストが高く、パフォーマンス向上が顕著ではない従来技術の問題に対して、本発明は、コンテナ化されたリレーショナルデータベースのI/O消費を効果的に減少させる方法を提供する。この方法は、RDSインスタンス層とストレージ層との間に高可用性分散キャッシュを導入することによりデータがコンピューティングとストレージの分離アーキテクチャを採用することによるI/Oオーバーヘッドを保存することを実現する。具体的な技術手段は以下の通りである。
以下のステップS1からS3を含むコンテナ化されたリレーショナルデータベースのI/O消費を効果的に減少させる方法であって、
ステップS1において、RDSインスタンス層とストレージ層との間に、kubernetes及びDockerプラットフォームによりmemcachedに基づく高可用性分散キャッシュアーキテクチャを構築し、ステップS1は、
クライアント端memcached保存データのキー値の前に加上namespace_nameプレフィックスを付けるステップS11と、
前記高可用性分散キャッシュアーキテクチャにおけるlibevent、memcached、repcached、magentコンポーネントに関連するコンポーネントのコンテナイメージであるlibevent+magent及びlibevent+memcache+repcachedを作成するステップS12と、
StorageClassを用いてストレージ層において永続ボリュームを動的に作成し、ストレージ層プロトコルに基づいて前記高可用性分散キャッシュアーキテクチャにおいて1つの共有ストレージを構築してボリュームを動的に割り当て、ストレージ層の作成された共有パスを明示し、envにおいてprovisioner(プロビジョナー)_nameを指定するステップS13と、
前記コンテナイメージであるlibevent+magent及びlibevent+memcache+repcachedに基づいてmemcached masterコンテナ、memcached slaveコンテナ及びmemcached magentコンテナを配置し、前記memcached masterコンテナ及びmemcached slaveコンテナを異なるnodeノードに設置するステップS14と、
前記高可用性分散キャッシュアーキテクチャにおいて1つのsvc.yamlファイルを定義し、前記svc.yamlファイルにおいて各memcached podに対応する永続ボリュームを設置するステップS15と、を含み、
ステップS2において、RDSインスタンス層におけるストレージ層に書き込む必要があるデータをまず前記高可用性分散キャッシュアーキテクチャに書き込んで永続的に保存し、さらに前記高可用性分散キャッシュアーキテクチャによりストレージ層に更新し、
ステップS3において、前記高可用性分散キャッシュアーキテクチャによりRDSインスタンス層におけるホットスポットデータをキャッシュする方法。
さらに、前記RDSインスタンス層、高可用性分散キャッシュアーキテクチャ及びストレージ層の間のデータアクセスモードはシリーズモードであり、前記RDSインスタンス層は前記高可用性分散キャッシュアーキテクチャにおいて読み取り及び書き込み操作を直接行う。
さらに、前記高可用性分散アーキテクチャは前記永続ボリュームにより所定の周期に従ってデータを更新する。
本発明のコンテナ化されたリレーショナルデータベースのI/O消費を効果的に減少させる方法は、RDSインスタンス層とストレージ層との間に、kubernetes及びDockerプラットフォームによりmemcachedに基づく高可用性分散キャッシュアーキテクチャを構築し、RDSインスタンス層、高可用性分散キャッシュアーキテクチャ及びストレージ層の間のデータ交換方式をシリーズモードに設定することにより、ネットワークI/O距離を効果的に減少できる。高可用性分散アーキテクチャによりRDSインスタンス層におけるデータを永続的に保存し、高可用性分散キャッシュアーキテクチャによりデータをストレージ層に更新し、RDSインスタンス層とストレージ層との間のデータ交換を1回で実現することにより、RDS中のI/O消費を効果的に減少できる。従来技術に比べ、本発明の有益な効果は以下の通りである。高可用性:高可用性分散キャッシュアーキテクチャの設計では耐災害性の問題が考慮され、マスター(master)/スレーブ(slave)型レプリケーションを用い、マスターとスレーブを同一のノードに配置しないことにより、データバックアップとキャッシュインスタンスデータの同期を実現することができる。軽量特性:高可用性分散キャッシュアーキテクチャはコンテナを用いてmemcachedアプリケーションをパッケージすることにより、迅速な割り当て及び配置を実現するとともに、kubernetes技術により分散システムを配置する方法により、各インスタンスに対する管理の簡単化を実現する。
本発明の実施例に係るkubernetes及びDockerプラットフォームに基づいて高可用性分散アーキテクチャにより完成したアーキテクチャ模式図である。 本発明の実施例に係るRDSインスタンス層のキャッシュモードの模式図である。 本発明の実施例に係る高可用性分散アーキテクチャの組成構造の模式図である。 本発明の実施例に係るRDSインスタンス層の書き込み要求の処理のフローチャートである。 本発明の実施例に係るRDSインスタンス層の読み取り要求の処理のフローチャートである。
当業者が本発明をよりよく理解できるようにするために、以下、図面を参照しながら本発明の実施例を明確かつ完全に説明する。
図1~図5に示すように、本発明の実施例において、コンテナ化されたリレーショナルデータベースのI/O消費を効果的に減少させる方法が提供される。具体的には、RDSインスタンス層とストレージ層との間に、Kubernetes及びDockerプラットフォームによりmemcachedに基づく高可用性分散キャッシュアーキテクチャを構築し、RDSインスタンス層におけるストレージ層に書き込む必要があるデータをまず高可用性分散キャッシュアーキテクチャに書き込んで永続的に保存し、さらに高可用性分散キャッシュアーキテクチャによりストレージ層に更新し、高可用性分散キャッシュアーキテクチャによりRDSインスタンス層におけるホットスポットデータをキャッシュする。
本発明の実施例において、RDSインスタンス層、高可用性分散キャッシュアーキテクチャ及びストレージ層の間のデータアクセスモードはシリーズモードである。RDSインスタンス層は高可用性分散キャッシュアーキテクチャにおいて読み取り及び書き込み操作を直接行う。Memcachedに基づく高可用性分散キャッシュアーキテクチャの構築は、以下のステップを含む。まず、クライアント端memcached保存データのキー値の前に加上namespace_nameプレフィックスを付ける。具体的には、memcachedのコンシステントハッシュアルゴリズムを選択してデータを水平分割し、kubernetesにおいてサービスは異なるnamespace中に定義される可能性がある。異なるnamespaceに同じキー値が現れることを避けるために、namespaceごとに単独でデータ分割を行う必要がある。各レコードにはグローバルに一意の主キーがあることが必要である。クライアント端において、キーのルールをkey=namespace_name+value_keyに設計する。ここで、namespace_nameは名前空間のストリングを示し、value_keyは名前空間内のキャッシュデータのキー値を示す。可用性分散キャッシュアーキテクチャにおけるlibevent、memcached、repcached、magentコンポーネントに関連するコンポーネントのコンテナイメージ:libevent+magent及びlibevent+memcache+repcachedを関連する。
そして、StorageClassを用いてストレージ層において永続ボリュームを動的に作成し、ストレージ層プロトコルに基づいて高可用性分散キャッシュアーキテクチャにおいて1つの共有ストレージを構築してボリュームを動的に割り当て、ストレージ層の作成された共有パスを明示し、envにおいてprovisioner_nameを指定する。また、コンテナイメージ:libevent+magent及びlibevent+memcache+repcachedに基づいてmemcached masterコンテナ、memcached slaveコンテナ及びmemcached magentコンテナを配置し、memcached masterコンテナ及びmemcached slaveコンテナを異なるnodeノードに設置する。ここで、memcachedは、ステートフルアプリケーションとして,各インスタンスには一意の識別子を有する必要があるとともに、各インスタンスに対してスタートアップシーケンスも要求するため、StatefulSetリソースオブジェクトを使用してmagent及びmemcachedインスタンスを作成する。各コンテナインスタンスは順番に起動し、生成するpod順序は0からn-1である。memcached masterコンテナ及びmemcached slaveコンテナは同じイメージを使用するが、memcached masterコンテナ及びmemcached slaveコンテナに対してそれぞれstatefulsetファイルを作成する。memcached masterコンテナ定義ファイルにおいて、生成するmemcachedインスタンス名がmemcached masterであるコンテナを指摘し、サービスポート及び同期ポートの2種類のポートを設置し、パラメータTaintBasedEvictionsをtrueに設置し、memcached masterコンテナの異なるnodeノードでの生成を制御する。コンテナテンプレートのコマンドにおいてmemcached masterコンテナ起動コマンドを定義し、replication:listenを設置する。memcached slaveコンテナ定義ファイルにおいて生成するpod名がmemcached slaveであるコンテナ及び2種類のポートを指摘し、TaintBasedEvictionsパラメータをtrueに設定した後、コマンドにおいてslaveの起動スクリプトを添加し、番号が同じのmaster和slaveが同一のnodeノードで起動してはならず、起動コマンドを実行するに前需要匹配和slaveインスタンスと同じ番号を有するmasterをマッチングしたから、起動コマンドを実行し、
replication:accept(peer=master-x)
replication:marugoto copying replication:start
に設定する。
好ましくは、memcached masterコンテナ及びmemcached slaveコンテナの定義ファイルには、ボリュームClaimTemplates(永続ストレージ)を設置し、作成された共有パスを指すようにする必要もある。
magentインスタンスを作成する際に、まず、magentインスタンス番号と同じであるmaster及びslaveをマッチングし、起動コマンドにおいて-sをmaster-x、-bをslave-xとして指定する。
最後に、高可用性分散キャッシュアーキテクチャにおいて1つのsvc.yamlファイルを定義し、svc.yamlファイルにおいて各memcached podに対応する永続ボリュームを設置する。
具体的には、memcachedクライアントがmagentを発見できるようにするために、magentのためにsvc.yamlを作成し、指定グローバルに一意のサービス名及びサービスポートを指定し、キー値ルールのmemcache(クライアント)イメージを修正する必要がある。これに基づいてヘッドレスサービスを作成し、この共有キャッシュのサービス名を指定し、サービスのポートを提供する。RDSインスタンス層の環境変数env(envはこの共有キャッシュサービスのサービス名及びポートを指す)を修正することにより、RDSインスタンス層は、サービス名及びポート番号により共有キャッシュにアクセスする。ストレージ層を処理しない場合、キャッシュ層が送信した読み取り要求を処理することができない。この場合、ストレージ層にmemcachedプラグインlibmemcached.soを導入し、libmemcached.soにより配置情報を追加して活性化する必要がある。ここで、ストレージ層に書き込まれたデータはprovisioner(provisioner)方式によりストレージ層に送信され、ストレージ層のデータはlibmemcached.soプラグインにおける関数により読み取り、書き込み、追加、削除などの操作を行う。
本発明の実施例において、RDSインスタンス層は、読み取り及び書き込み要求を環境変数env:service_name及びportによりmemcached クライアントに指定送信し、クライアント端はコンシステントハッシュアルゴリズムにより読み取り及び書き込み要求を対応するmemcached magentコンテナに伝送し、さらにmemcached magentコンテナにより要求をmemcachedに伝送する。具体的には、コンシステントハッシュアルゴリズムにより読み取り及び書き込み要求に対応するキャッシュデータのkey及びmemcached magentコンテナをそれぞれハッシュ(hash)により円環状ハッシュ空間にマッピングする。キャッシュkeyとmagentコンテナとのマッピング関係は、hash(key)が時計回りの方向に遭遇する最初のmagentコンテナhash(magent x)である。ここで、書き込み要求の場合、memcached magentコンテナはデータをmemcached masterコンテナ及びmemcached slaveコンテナに書き込む。読み取り要求の場合、要求をキャラクターがmemcached masterコンテナであるmemcachedインスタンスに送信する。各Memcachedインスタンスのデータはボリューム定義によりストレージ層の永続ボリュームに定期的に更新する。
さらに、memcachedに基づく高可用性分散クラスターアーキテクチャのもとに、repcachedを追加し、キャッシュインスタンスのシングルマスターとシングルスレーブの間のデータの同期及びバックアップを実現する。memcached masterコンテナ及びmemcached slaveコンテナはいずれも読み取りと書き込みが可能である。memcached masterコンテナがサーバーダウンし、又は一時的に利用できない場合、memcached slaveコンテナは自動的にmasterにlistenされ、新しいインスタンスの作成を待つ。memcached magentコンテナを追加して分散クラスタの負荷分散を実現する。memcachedクライアントはmemcached magentコンテナに接続され、memcached magentコンテナはmemcached masterコンテナ及びmemcached slaveコンテナに接続される。データを書き込むたびに、memcached masterコンテナ及びmemcached slaveコンテナに書き込む。memcached masterコンテナとmemcached slaveコンテナのキャラクターが交換するときに、クライアントにとって複数のmemcached magentコンテナの間の配列順序が変わっておらず、データの移行に影響を与えない。
好ましくは、本発明において、RDSインスタンス層が共有キャッシュにアクセスする方式はシリーズモードであり、シリーズモードにより各RDSインスタンス層とストレージ層との間の直接なデータ交換を完全に遮断することができる。RDSインスタンス層とストレージ層がデータ交換を行う必要があり、アクセス要求を送信する場合、全てのアクセス要求は共有キャッシュに送信され、RDSインスタンス層が書き込むデータは共有キャッシュに直接書き込まれ、読み取り要求も共有キャッシュに直接送信される。共有キャッシュに読み取られる必要があるデータがない場合、要求はストレージ層に送信され、ストレージ層により対応するデータを探し、共有キャッシュに書き込んでから、共有キャッシュから戻す。
好ましくは、本発明の高可用性分散アーキテクチャは永続ボリュームによりデータを更新処理し、また、本発明では、データ更新のサイズを制限せず、実際の状況に応じて設定することができる。
本発明のコンテナ化されたリレーショナルデータベースのI/O消費を効果的に減少させる方法は、RDSインスタンス層とストレージ層との間に、kubernetes及びDockerプラットフォームによりmemcachedに基づく高可用性分散キャッシュアーキテクチャを構築し、RDSインスタンス層、高可用性分散キャッシュアーキテクチャ及びストレージ層の間のデータ交換方式をシリーズモードに設定することにより、ネットワークI/O距離を効果的に減少できる。高可用性分散アーキテクチャによりRDSインスタンス層におけるデータを永続的に保存し、高可用性分散キャッシュアーキテクチャによりデータをストレージ層に更新し、RDSインスタンス層とストレージ層との間のデータ交換を1回で実現することにより、RDS中のI/O消費を効果的に減少できる。従来技術に比べ、本発明の有益な効果は以下の通りである。高可用性:高可用性分散キャッシュアーキテクチャの設計では耐災害性の問題が考慮され、マスター/スレーブ型レプリケーションを用い、マスターとスレーブを同一のノードに配置しないことにより、データバックアップとキャッシュインスタンスデータの同期を実現することができる。軽量特性:高可用性分散キャッシュアーキテクチャはコンテナを用いてmemcachedアプリケーションをパッケージすることにより、迅速な割り当て及び配置を実現するとともに、kubernetes技術により分散システムを配置する方法により、各インスタンスに対する管理の簡単化を実現する。
以上の説明は本発明の好適な実施例であり、本発明の保護範囲を制限しない。上記実施例により本発明を詳しく説明下が、当業者は、上記各実施形態の技術手段を修正したり、同等置換したりすることができる。本明細書及び図面の内容に基づいて得られた同等構造及び関連技術分野での使用はいずれも本発明の保護範囲内に含まれる。

Claims (3)

  1. 以下のステップS1からS3を含むコンテナ化されたリレーショナルデータベースのI/O消費を効果的に減少させる方法であって、
    ステップS1において、RDSインスタンス層とストレージ層との間に、kubernetes及びDockerプラットフォームによりmemcachedに基づく高可用性分散キャッシュアーキテクチャを構築し、ステップS1は、
    クライアント端memcached保存データのキー値の前に加上namespace_nameプレフィックスを付けるステップS11と、
    前記高可用性分散キャッシュアーキテクチャにおけるlibevent、memcached、repcached、magentコンポーネントに関連するコンポーネントのコンテナイメージであるlibevent+magent及びlibevent+memcache+repcachedを作成するステップS12と、
    StorageClassを用いてストレージ層において永続ボリュームを動的に作成し、ストレージ層プロトコルに基づいて前記高可用性分散キャッシュアーキテクチャにおいて1つの共有ストレージを構築してボリュームを動的に割り当て、ストレージ層の作成された共有パスを明示し、envにおいてprovisioner_nameを指定するステップS13と、
    前記コンテナイメージであるlibevent+magent及びlibevent+memcache+repcachedに基づいてmemcached masterコンテナ、memcached slaveコンテナ及びmemcached magentコンテナを配置し、前記memcached masterコンテナ及びmemcached slaveコンテナを異なるnodeノードに設置するステップS14と、
    前記高可用性分散キャッシュアーキテクチャにおいて1つのsvc.yamlファイルを定義し、前記svc.yamlファイルにおいて各memcached podに対応する永続ボリュームを設置するステップS15と、を含み、
    ステップS2において、RDSインスタンス層におけるストレージ層に書き込む必要があるデータをまず前記高可用性分散キャッシュアーキテクチャに書き込んで永続的に保存し、さらに前記高可用性分散キャッシュアーキテクチャによりストレージ層に更新し、
    ステップS3において、前記高可用性分散キャッシュアーキテクチャによりRDSインスタンス層におけるホットスポットデータをキャッシュすることを特徴とする、方法。
  2. 前記RDSインスタンス層、高可用性分散キャッシュアーキテクチャ及びストレージ層の間のデータアクセスモードはシリーズモードであり、前記RDSインスタンス層は前記高可用性分散キャッシュアーキテクチャにおいて読み取り及び書き込み操作を直接行うことを特徴とする、請求項1に記載のコンテナ化されたリレーショナルデータベースのI/O消費を効果的に減少させる方法。
  3. 前記高可用性分散アーキテクチャは前記永続ボリュームにより所定の周期に従ってデータを更新することを特徴とする、請求項1に記載のコンテナ化されたリレーショナルデータベースのI/O消費を効果的に減少させる方法。
JP2021522369A 2019-03-25 2019-06-25 コンテナ化されたリレーショナルデータベースのi/o消費を効果的に減少させる方法 Pending JP2022505720A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201910235720.9A CN109933312B (zh) 2019-03-25 2019-03-25 一种有效降低容器化关系型数据库i/o消耗的方法
CN201910235720.9 2019-03-25
PCT/CN2019/092672 WO2020191930A1 (zh) 2019-03-25 2019-06-25 一种有效降低容器化关系型数据库i/o消耗的方法

Publications (1)

Publication Number Publication Date
JP2022505720A true JP2022505720A (ja) 2022-01-14

Family

ID=66988465

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021522369A Pending JP2022505720A (ja) 2019-03-25 2019-06-25 コンテナ化されたリレーショナルデータベースのi/o消費を効果的に減少させる方法

Country Status (3)

Country Link
JP (1) JP2022505720A (ja)
CN (1) CN109933312B (ja)
WO (1) WO2020191930A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110825705A (zh) * 2019-11-22 2020-02-21 广东浪潮大数据研究有限公司 一种数据集缓存方法及相关装置
CN111176664A (zh) * 2019-12-26 2020-05-19 中国电子科技网络信息安全有限公司 一种存储集群设置方法、装置、介质及设备
CN111597192B (zh) * 2020-04-10 2023-10-03 北京百度网讯科技有限公司 数据库的切换控制方法、装置及电子设备
CN113239118A (zh) * 2021-05-31 2021-08-10 广州宏算信息科技有限公司 一种区块链实训系统和方法
CN113296711B (zh) * 2021-06-11 2022-10-28 中国科学技术大学 一种数据库场景中优化分布式存储延迟的方法
CN115941686A (zh) * 2022-11-15 2023-04-07 浪潮云信息技术股份公司 一种实现云原生应用高可用服务的方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120259889A1 (en) * 2008-03-20 2012-10-11 Darpan Dinker Scalable Database Management Software on a Cluster of Nodes Using a Shared-Distributed Flash Memory
JP2014501416A (ja) * 2010-12-30 2014-01-20 フェイスブック,インク. グラフ・データの分散キャッシュ
JP2018173741A (ja) * 2017-03-31 2018-11-08 富士通株式会社 コンテナ登録プログラム、コンテナ登録装置及びコンテナ登録方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10191778B1 (en) * 2015-11-16 2019-01-29 Turbonomic, Inc. Systems, apparatus and methods for management of software containers
US9984079B1 (en) * 2012-01-13 2018-05-29 Amazon Technologies, Inc. Managing data storage using storage policy specifications
CN103747060B (zh) * 2013-12-26 2017-12-08 惠州华阳通用电子有限公司 一种基于流媒体服务集群的分布式监控系统及方法
CN104504158A (zh) * 2015-01-19 2015-04-08 浪潮(北京)电子信息产业有限公司 一种快速更新业务的内存缓存的方法和设备
CN106843837B (zh) * 2016-12-21 2020-02-25 中电科华云信息技术有限公司 openstack组件容器化的构建方法
CN107797767B (zh) * 2017-09-30 2019-07-26 南京卓盛云信息科技有限公司 一种基于容器技术部署分布式存储系统及其存储方法
CN109213571B (zh) * 2018-08-30 2020-12-29 北京百悟科技有限公司 一种内存共享方法、容器管理平台及计算机可读存储介质
CN109491859B (zh) * 2018-10-16 2021-10-26 华南理工大学 针对Kubernetes集群中容器日志的收集方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120259889A1 (en) * 2008-03-20 2012-10-11 Darpan Dinker Scalable Database Management Software on a Cluster of Nodes Using a Shared-Distributed Flash Memory
JP2014501416A (ja) * 2010-12-30 2014-01-20 フェイスブック,インク. グラフ・データの分散キャッシュ
JP2018173741A (ja) * 2017-03-31 2018-11-08 富士通株式会社 コンテナ登録プログラム、コンテナ登録装置及びコンテナ登録方法

Also Published As

Publication number Publication date
CN109933312B (zh) 2021-06-01
CN109933312A (zh) 2019-06-25
WO2020191930A1 (zh) 2020-10-01

Similar Documents

Publication Publication Date Title
JP2022505720A (ja) コンテナ化されたリレーショナルデータベースのi/o消費を効果的に減少させる方法
US10700991B2 (en) Multi-cluster resource management
US10394847B2 (en) Processing data in a distributed database across a plurality of clusters
CN109799951B (zh) 使用分布式的和虚拟的命名空间管理的按需存储供应
EP3361387B1 (en) Data transmission method, equipment and system
US10789217B2 (en) Hierarchical namespace with strong consistency and horizontal scalability
CN108667904B (zh) 一种Docker容器远程内存卷管理方法和系统
EP3811229B1 (en) Hierarchical namespace service with distributed name resolution caching and synchronization
US10810044B2 (en) Enhanced cache memory allocation based on virtual node resources
CN109639773B (zh) 一种动态构建的分布式数据集群控制系统及其方法
CN110569302A (zh) 一种基于lucene的分布式集群的物理隔离的方法及装置
CN112948178A (zh) 一种数据处理方法、装置、系统、设备及介质
US20220179765A1 (en) Enhanced configuration management of data processing clusters
CN111158851A (zh) 一种虚拟机快速部署方法
CN110704541A (zh) 一种Redis集群多数据中心高可用的分布式方法及架构
EP3647947B1 (en) Enhanced data storage of virtual nodes in a data processing environment
CN113254437B (zh) 一种批处理作业处理方法和装置
JP5278254B2 (ja) ストレージシステム、データ記憶方法及びプログラム
CN113626138B (zh) 一种应用程序访问方法和相关装置
WO2021110176A1 (zh) 一种边缘系统及数据操作请求的处理方法
CN117692510A (zh) Codis多集群低成本高可用部署方法、装置、设备及存储介质
CN114063884A (zh) 扩展存储系统的分区方法、设备和计算机程序产品
CN117874297A (zh) 一种分布式kv的分区管理方法
JP2018032345A (ja) 計算装置および計算方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210423

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220621

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20220920

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230322

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20231017