JP2012018607A - Distributed cache system - Google Patents
Distributed cache system Download PDFInfo
- Publication number
- JP2012018607A JP2012018607A JP2010156762A JP2010156762A JP2012018607A JP 2012018607 A JP2012018607 A JP 2012018607A JP 2010156762 A JP2010156762 A JP 2010156762A JP 2010156762 A JP2010156762 A JP 2010156762A JP 2012018607 A JP2012018607 A JP 2012018607A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- record
- update
- database
- bucket
- 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.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
本発明は、データベースの内容を複数のサーバ上のキャッシュに展開してアクセス効率を向上させる分散キャッシュの技術に関し、特に、各キャッシュサーバに保持するデータがパーティション化された分散キャッシュシステムに適用して有効な技術に関するものである。 The present invention relates to a distributed cache technology that improves the access efficiency by expanding the contents of a database to caches on a plurality of servers, and more particularly, to a distributed cache system in which data held in each cache server is partitioned. It relates to effective technology.
データベースに保持するデータ量が増加し続ける中、近年では、大量のデータを保存する手段としてキー・バリュー型データストアなども注目されている。これらのデータを大量に保持するデータベースに対してネットワークを介して多数のユーザからのアクセスが行われるようなシステムでは、データベースへのアクセスが集中してボトルネックとなることを回避するとともに、並列処理により検索の性能を向上させるため、分散データベースや分散キャッシュの仕組みが多用される。 As the amount of data held in a database continues to increase, in recent years, a key-value type data store has attracted attention as a means for storing a large amount of data. In a system in which a large number of users are accessing a database that holds a large amount of these data via a network, access to the database is prevented from becoming a bottleneck and parallel processing is avoided. In order to improve the search performance, distributed database and distributed cache mechanisms are often used.
分散キャッシュの基本的な仕組みとしては、クライアントからの要求に応じて各キャッシュサーバがデータベースから読み出したレコードをメモリのような記憶装置上にキャッシングする機能や、複数のキャッシュサーバ間での連携を管理する機能(キャッシュ間の整合の維持や、どのキャッシュにどのレコードが保持されているか等の管理)、キャッシュ内のレコードに加えられた変更をデータベースに書き戻す機能などがある。これらの仕組みは、主にデータベース管理ソフトウェアを製造販売するベンダー等から提供されるミドルウェアなどによって実現されている。 As a basic mechanism of the distributed cache, each cache server caches records read from the database in response to requests from clients on a storage device such as memory, and manages coordination among multiple cache servers. Functions (maintaining consistency between caches, managing which records are held in which caches, etc.), and a function for writing changes made to records in the cache back to the database. These mechanisms are realized mainly by middleware provided by vendors that manufacture and sell database management software.
分散キャッシュシステムの構成としては、大きく分けて一般的に、複数のキャッシュサーバが同じ内容のデータを保持するキャッシュを有して可用性を向上させるレプリケーション型と、各キャッシュサーバがそれぞれ重複しない異なる内容のデータをキャッシュに保持して拡張性を向上させデータの大容量化に対応するパーティション型がある。ベンダー等から提供される分散キャッシュシステムを実現するミドルウェアでは、これらの構成を選択的に利用することができるものもある。 The configuration of a distributed cache system can be broadly divided into two types: a replication type in which a plurality of cache servers have caches that hold the same content data and improve availability, and each cache server has different contents that do not overlap each other. There is a partition type in which data is held in a cache to improve scalability and cope with an increase in data capacity. Some middleware that realizes a distributed cache system provided by a vendor or the like can selectively use these configurations.
パーティション型の分散キャッシュシステムに係る技術としては、例えば、特開平11−224219号公報(特許文献1)には、1台の分散制御装置によってn台のキャッシュ装置を制御する分散キャッシュ制御方法において、分散制御装置が、クライアントからの要求を受け取り、要求内に記載されている要求資源識別情報のハッシュ値を算出し、分散管理情報を用いて、ハッシュ値に対応したキャッシュ装置を選択し、選択されたキャッシュ装置へ要求を送信し、キャッシュ装置から受信した応答をクライアントに送信する技術が記載されている。 As a technique related to the partition type distributed cache system, for example, JP-A-11-224219 (Patent Document 1) discloses a distributed cache control method in which n cache devices are controlled by one distributed control device. The distributed control device receives the request from the client, calculates the hash value of the requested resource identification information described in the request, selects the cache device corresponding to the hash value using the distributed management information, and is selected. A technique for transmitting a request to a cache device and transmitting a response received from the cache device to a client is described.
また例えば、特開2002−251313号公報(特許文献2)には、1つ以上のキャッシュサーバが夫々保持しているデータの情報を格納すると共に、データ照会要求に係るデータを格納しているキャッシュサーバを検索する親キャッシュサーバと、外部ネットワークからのデータを格納すると共に、そのデータの情報を前記親キャッシュサーバに送信する1以上の子キャッシュサーバとを有し、内部ネットワークからのデータ取得要求に係るデータを有している子キャッシュサーバがあれば、その子キャッシュサーバから前記データ取得要求に係るデータを取得する一方、データ取得要求に係るデータを有している子キャッシュサーバがなければ、外部ネットワークからデータ取得要求に係るデータを取得する分散キャッシュサーバシステムが記載されている。 Further, for example, Japanese Patent Laid-Open No. 2002-251313 (Patent Document 2) stores information on data held by one or more cache servers and stores data related to a data inquiry request. It has a parent cache server that searches for a server, and one or more child cache servers that store data from the external network and transmit information on the data to the parent cache server, and responds to a data acquisition request from the internal network. If there is a child cache server having such data, the data related to the data acquisition request is acquired from the child cache server, while if there is no child cache server having data related to the data acquisition request, the external network Distributed cache server system that acquires data related to data acquisition requests from Beam have been described.
上記のような分散キャッシュシステムでは、一般的にクライアント等からのアクセスに対してデータベースから読み出したレコードをキャッシングするものであるため、必ずしも該当のレコードがキャッシュヒットするとは限らず、キャッシュミスする場合もある。ここで例えば、データベースに保持するデータが更新頻度が少ない静的な特性を有するものである場合などでは、あらかじめデータベースの全てのデータをキャッシュ上に展開しておくことが行われる。これによりキャッシュミスを排除し、アクセスの効率を大きく向上させることができる。 In the distributed cache system as described above, since records read from the database are generally cached for access from a client or the like, the corresponding record does not always cause a cache hit, and a cache miss may occur. is there. Here, for example, when the data held in the database has static characteristics with a low update frequency, all the data in the database is developed on the cache in advance. This eliminates cache misses and greatly improves access efficiency.
この場合、データベースのデータ量に比して十分な容量のキャッシュが必要となるため、分散キャッシュシステムの構成としてレプリケーション型を利用することはコスト上困難であり、通常はパーティション型が利用される。この場合、複数のキャッシュサーバ全体でのキャッシュの総容量がデータベースのデータ量に比して十分であればよい。 In this case, since a cache having a sufficient capacity as compared with the data amount of the database is required, it is difficult to use the replication type as the configuration of the distributed cache system, and the partition type is usually used. In this case, it is only necessary that the total cache capacity of the plurality of cache servers is sufficient as compared with the data amount of the database.
上述したようなパーティション型の分散キャッシュシステムにおいて、あらかじめデータベースの全てのデータを分散キャッシュに展開しておく構成をとる場合、従来は、各キャッシュサーバにデータベースから読み込むレコードの値の範囲(例えば“「あ行」のレコード”など)をそれぞれルールとして割り当てておき、そのルールに従って各キャッシュサーバがデータベースからレコードを読み込んでキャッシュ上に展開する方式がとられていた。 In the partition type distributed cache system as described above, when all the data in the database is preliminarily expanded in the distributed cache, conventionally, the range of record values read from the database to each cache server (for example, ““ Each record is assigned as a rule, and each cache server reads the record from the database and expands it on the cache according to the rule.
しかしながら、この方式では、データベースに保持するレコードの値の分布状況に応じて、各キャッシュサーバがデータベースから読み込むレコードの量、およびキャッシュに保持するデータ量に不均衡が生じる場合がある。すなわち、キャッシュサーバによってリソースの使用量に不均衡が生じる場合がある。また、各キャッシュサーバがデータベースから読み込んだレコードの配置を複数のキャッシュサーバ間で調整してデータ量を均一化するような構成をとる場合は、読み込んだレコードを他のキャッシュサーバに転送するための内部トラフィックが増えることになる。 However, in this method, there may be an imbalance between the amount of records that each cache server reads from the database and the amount of data held in the cache, depending on the distribution status of the values of the records held in the database. That is, the cache server may cause an imbalance in resource usage. In addition, if the configuration is such that the arrangement of records read from the database by each cache server is adjusted among multiple cache servers to equalize the amount of data, it is necessary to transfer the read records to other cache servers. Internal traffic will increase.
また、レコードの値の範囲に基づく分散数(例えば「あ行」〜「わ行」で分散させる場合は10)とキャッシュサーバの台数が一致しない場合(運用中にキャッシュサーバの台数が増減した場合なども含む)の処置を決定するのが複雑で困難となる。また、データベースに保持するデータの内容によってはレコードの値の範囲毎のデータ量の分布状況や傾向を設計時に把握することができず、どのような値の範囲で分散させれば効率的かを判断するのが困難な場合もある。 Also, if the number of distributions based on the value range of records (for example, 10 for distribution from “A” to “W”) does not match the number of cache servers (if the number of cache servers increases or decreases during operation) It is complicated and difficult to determine the treatment). Also, depending on the content of the data stored in the database, the distribution status and trend of the amount of data for each range of record values cannot be grasped at the time of design. Sometimes it is difficult to judge.
そこで本発明の目的は、データベースに保持する全てのデータを分散キャッシュ上に展開し、各キャッシュサーバに保持するデータがパーティション化された分散キャッシュシステムにおいて、データベースに保持するレコードの値の分布等に影響されずにリソースの使用量を平準化することができ、キャッシュサーバの台数の増減にも柔軟に対応可能で、内部トラフィックを低減させることができる分散キャッシュシステムを提供することにある。 Therefore, an object of the present invention is to distribute all the data held in the database on the distributed cache, and in the distributed cache system in which the data held in each cache server is partitioned, the distribution of record values held in the database, etc. It is an object of the present invention to provide a distributed cache system that can level the amount of resource usage without being affected, can flexibly cope with an increase or decrease in the number of cache servers, and can reduce internal traffic.
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。 The above and other objects and novel features of the present invention will be apparent from the description of this specification and the accompanying drawings.
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、以下のとおりである。 Of the inventions disclosed in this application, the outline of typical ones will be briefly described as follows.
本発明の代表的な実施の形態による分散キャッシュシステムは、ネットワークに接続されたデータベースサーバと複数のキャッシュサーバとからなり、前記データベースサーバ上のデータベースに保持するデータの一部をそれぞれ重複せずに前記各キャッシュサーバ上のキャッシュに格納することで、前記各キャッシュサーバ全体として前記データベースに保持する全てのデータを前記キャッシュに展開するパーティション型の分散キャッシュシステムであって、以下の特徴を有するものである。 A distributed cache system according to a representative embodiment of the present invention includes a database server connected to a network and a plurality of cache servers, and each of the data held in the database on the database server does not overlap each other. A partition-type distributed cache system that stores all data held in the database as the entire cache server in the cache by storing the cache in the cache on each cache server, and has the following characteristics: is there.
すなわち、分散キャッシュシステムにおいて、前記各キャッシュサーバ上の前記キャッシュ上には、データを保持するための論理的な領域である1つ以上のバケットが定義され、前記各バケットには、当該分散キャッシュシステム内でユニークなIDが割り振られており、前記データベースに保持するデータの各レコードには、それぞれ前記バケットのIDの範囲に属する値が分類番号として割り振られており、前記キャッシュサーバは、前記データベースから、自身の前記キャッシュ上に定義されている前記バケットのIDに一致する前記分類番号を有するレコードのみを読み込んで、対応する前記バケットに格納するロード部を有することを特徴とするものである。 That is, in the distributed cache system, one or more buckets, which are logical areas for holding data, are defined on the cache on each cache server, and each of the buckets includes the distributed cache system. A unique ID is allocated to each record of data held in the database, and a value belonging to the range of the bucket ID is allocated as a classification number, and the cache server is allocated from the database. And a load unit that reads only the record having the classification number that matches the ID of the bucket defined on its own cache and stores it in the corresponding bucket.
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。 Among the inventions disclosed in the present application, effects obtained by typical ones will be briefly described as follows.
本発明の代表的な実施の形態によれば、データベースに保持する全てのデータを分散キャッシュ上に展開し、各キャッシュサーバに保持するデータがパーティション化された分散キャッシュシステムにおいて、データベースに保持するレコードの値の分布等に影響されずにリソースの使用量を平準化することができ、キャッシュサーバの台数の増減にも柔軟に対応可能で、分散キャッシュシステムの内部トラフィックを低減させることが可能となる。 According to a typical embodiment of the present invention, all data held in a database is developed on a distributed cache, and records held in a database are distributed in a distributed cache system in which data held in each cache server is partitioned. The resource usage can be leveled without being affected by the distribution of values, etc., and the number of cache servers can be flexibly dealt with and the internal traffic of the distributed cache system can be reduced. .
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一の符号を付し、その繰り返しの説明は省略する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. Note that components having the same function are denoted by the same reference symbols throughout the drawings for describing the embodiment, and the repetitive description thereof will be omitted.
本発明の一実施の形態である分散キャッシュシステムは、データベースに保持する全てのデータを分散キャッシュ上に展開し、各キャッシュサーバに保持するデータがパーティション化された分散キャッシュシステムである。各キャッシュサーバは、自身のキャッシュ内において定義された、レコードを保持するための論理的な領域(入れ物;本明細書において「バケット」と称する)の構成に応じて、自身が読み込むべきレコードのみをデータベースから読み込んでキャッシュに保持する。これにより、後述するように、データベースに保持するレコードの値の分布等に影響されずにリソースの使用量を平準化することができ、キャッシュサーバの台数の増減にも柔軟に対応可能で、内部トラフィックを低減させることが可能となる。 A distributed cache system according to an embodiment of the present invention is a distributed cache system in which all data held in a database is developed on a distributed cache, and data held in each cache server is partitioned. Each cache server determines only the records that it should read, depending on the configuration of the logical area (container; referred to herein as a “bucket”) defined in its own cache to hold records. Read from database and keep in cache. As a result, as described later, the resource usage can be leveled without being affected by the distribution of record values held in the database, etc., and the number of cache servers can be flexibly accommodated. Traffic can be reduced.
さらに本実施の形態では、処理効率をより向上させるなどの観点から、クライアント側からのレコード(キャッシュデータ)の変更を許可しないようにして、キャッシュ内のレコードを読み取り専用とする。一方、データベースに保持する元データは他のシステム等により更新される場合があるため、この更新を遅滞なくキャッシュ内のレコードに反映させるための仕組みも有する。 Furthermore, in this embodiment, from the viewpoint of further improving the processing efficiency, the change in the record (cache data) from the client side is not permitted, and the record in the cache is made read-only. On the other hand, since the original data held in the database may be updated by another system or the like, there is also a mechanism for reflecting this update on the records in the cache without delay.
<システム構成>
図2は、本発明の一実施の形態である分散キャッシュシステムの構成例について概要を示した図である。分散キャッシュシステム1は、データベース(DB)サーバ100と複数台のキャッシュサーバ200とからなり、これらが図示しないネットワークによって相互に接続される構成を有する。本発明は、ネットワークとしてインターネットを介して相互に接続される外部ネットワークが用いられる場合にも適用可能であるが、以下、ネットワークとしてLAN(Local Area Network)等の内部ネットワークを用いる場合を例として説明する。
<System configuration>
FIG. 2 is a diagram showing an outline of a configuration example of a distributed cache system according to an embodiment of the present invention. The
DBサーバ100は、コンピュータシステムによって構成されるサーバ機器であり、図示しないOS(Operating System)やデータベース管理ソフトウェアを有してデータベース(DB)110を保持・管理する。DB110のデータは、他のシステムから、もしくは管理者等の手動により変更される。
The
キャッシュサーバ200は、コンピュータシステムによって構成されるサーバ機器であり、例えば、メモリやハードディスクなどの記憶装置上に構成されるキャッシュ210、ソフトウェアプログラムによって実装されるロード部220、およびOS(図示しない)や分散キャッシュ管理部230などのミドルウェアを有する。
The
キャッシュサーバ200は複数台によって構成され(図2の例ではキャッシュサーバa〜n(200a〜n))、各キャッシュサーバ200は、DB110のデータをそれぞれ重複せずにキャッシュ210に読み込むことで、全体としてパーティション型の分散キャッシュシステム1を実現する。すなわち、図示しないクライアント端末等からのDBサーバ100へのアクセス要求を受け付けて、分散キャッシュ管理部230の機能により、該当のデータを保持するキャッシュサーバ200のキャッシュ210からデータを効率よく取得してクライアント端末に応答する。
The
キャッシュ210は、DB110から読み込んだデータをキャッシュする記憶装置であり、キャッシュ210上にはさらにデータを分類して保持する論理的な領域(入れ物)であるバケット211を1つ以上有する(図2の例ではキャッシュサーバa(200a)はバケットa〜c(211a〜c)を有する)。ロード部220は、対象のキャッシュサーバ200が読み込むべきレコードのみをDB110から読み込んで、該当するバケット211に格納することで、データをキャッシュ210(バケット211)にロードする。ロード部220によるデータのロード方法の詳細については後述する。
The
分散キャッシュ管理部230は、分散キャッシュの基本的な仕組みを提供する製品等のミドルウェアであり、例えば、どのキャッシュサーバ200(キャッシュ210)にどのレコードが保持されているか等を管理し、クライアント端末からのアクセス要求を受けた際に、該当のレコードを保持するキャッシュサーバ200を特定してレコードを取得したりなどの機能を有する。なお、このような機能を有する管理サーバ等の機器を別途有し、クライアント端末はまず当該管理サーバにアクセスして該当のレコードを保持するキャッシュサーバ200を特定する構成とすることも可能である。
The distributed
<キャッシュへのデータのロード>
以下では、分散キャッシュシステムにおけるデータベースから各キャッシュサーバ上のキャッシュへのデータのロード方法について説明する。なお、本明細書においては「ロード」とはデータを読み込みキャッシュに保持させることを意味するものとする。ここでは、本発明の特徴を分かり易くするために、従来の技術と比較して説明する。図6は、従来の分散キャッシュシステムにおける、キャッシュへのデータのロード方法の例について概要を示した図である。
<Loading data into the cache>
Hereinafter, a method for loading data from a database to a cache on each cache server in the distributed cache system will be described. In this specification, “load” means that data is read and held in the cache. Here, in order to make the features of the present invention easier to understand, description will be made in comparison with the prior art. FIG. 6 is a diagram showing an outline of an example of a method for loading data into a cache in a conventional distributed cache system.
図6の例では、DB110の内容をキャッシュサーバa〜j(200a〜j)の10台で分担して読み込んでキャッシュ210にそれぞれ保持する場合を示している。従来は、各キャッシュサーバ200に対して予めDB110から読み込む値の範囲を割り当てておき、そのルールに従って該当のレコードを所定のタイミングで読み込んでいる。例えば、DB110上に顧客名のリストが保持されている場合、キャッシュサーバa(200a)は先頭が「あ」行のレコード、キャッシュサーバb(200b)は先頭が「か」行のレコード、…のように分担して該当するレコードを読み込んで、キャッシュ210に保持する。
The example of FIG. 6 shows a case where the contents of the
この方法をとった場合、DB110に保持するレコードの値の分布状況に応じて、各キャッシュサーバ200がDB110から読み込むデータ量、およびキャッシュ210に保持するデータ量に不均衡が生じる場合がある(例えば、「か」行や「わ」行が割り当てられたキャッシュサーバb(200b)やキャッシュサーバj(200j)が読み込んで保持するデータ量が少ない等)。すなわち、キャッシュサーバ200によってリソースの使用量に不均衡が生じる場合がある。
When this method is used, an imbalance may occur between the amount of data read by each
また、DB110のレコードの値の範囲に基づく分散数とキャッシュサーバ200の台数が一致しない場合の処置を決定するのが複雑で困難となる。例えば、「さ」行が割り当てられていたキャッシュサーバc(200c)が障害によりダウンした場合、「さ」行のレコードをどのキャッシュサーバ200が読み込んで保持するのかを決定して、割り当てのルールを再設定する必要があるが、整合性を確保するためには考慮しなければならない点が多く複雑である。
In addition, it is complicated and difficult to determine a measure when the number of distributions based on the value range of records in the
また、図6の例ではDB110のレコードを「あ」行、「か」行、「さ」行、…「わ」行の10分割にして、10台のキャッシュサーバa〜j(200a〜j)に分散して保持しているが、キャッシュサーバ200の台数が11台以上ある場合(運用中にキャッシュサーバ200を追加した場合なども含む)にはどのように分散させるかのルールを決定するのが困難である。
In the example of FIG. 6, the records of the
また、図6の例ではDB110に顧客名のリストが保持されている場合であるが、例えば、顧客の趣味に関するデータが保持されているような場合、具体的にどのようなレコードが保持されるのかが不明である。従って、レコードの値の範囲毎のデータ量の分布状況や傾向を設計時に把握することができず、どのような値の範囲で分散させれば効率的かを判断するのが困難な場合もある。
In the example of FIG. 6, a list of customer names is held in the
図7は、従来の分散キャッシュシステムにおける、キャッシュへのデータのロード方法の別の例について概要を示した図である。図7の例では、図6の例と同様に、DB110の内容をキャッシュサーバa〜j(200a〜j)の10台で分担して読み込んでキャッシュ210にそれぞれ保持する場合を示している。ここではさらに、各キャッシュサーバ200がDB110から読み込んだレコードの配置を他の複数のキャッシュサーバ200間で調整してデータ量の均一化を可能とするような構成をとっている。
FIG. 7 is a diagram showing an outline of another example of a method for loading data into a cache in a conventional distributed cache system. In the example of FIG. 7, as in the example of FIG. 6, the contents of the
レコードの配置の均一化を可能とするため、各キャッシュサーバ200は、例えば、キャッシュ210内に図2に示したものと同様な論理的な領域であるバケット211を1つ以上有する。各バケット211には、分散キャッシュシステム内でユニークなIDが割り振られており、ロード部220は、読み込んだレコードの値に応じて対応するバケット211にレコードを格納する。例えば、各バケット211には1から開始する整数からなる連番によりIDが割り振られており、ロード部220は、読み込んだレコードのキーのハッシュ値とバケット211の総数との剰余を算出し(値は必ず0〜バケット211の数−1の範囲となる)、その値+1と同じIDのバケット211にレコードを格納する。該当のバケット211が他のキャッシュサーバ200にあるときはレコードを転送して格納する。
In order to make the arrangement of records uniform, each
この方法の場合、バケット211の所在場所をキャッシュサーバ200間で移動させることにより、各キャッシュサーバ200で保持するデータ量を均一化することが可能である。しかし、ロード部220がどのキャッシュサーバ200にどのバケット211があるかという配置を把握しておく必要があり、バケット211を移動させることで当該情報も更新する必要があるなど、運用が煩雑となる。また、ロード部220が読み込んだレコードを他のキャッシュサーバ200に転送するための内部トラフィックが増えることになる。
In the case of this method, the amount of data held in each
そこで上記のような課題を解消するため、本実施の形態では、キャッシュサーバ200のロード部220が自身のキャッシュ210に保持すべきレコードのみをDB110から読み込む構成をとる。図1は、本実施の形態の分散キャッシュシステム1における、キャッシュ210へのデータのロード方法の例について概要を示した図である。
Therefore, in order to solve the above-described problems, the present embodiment adopts a configuration in which the
図1の例では、図7の例と同様にレコードの配置の均一化を可能とするため、各キャッシュサーバ200は、キャッシュ210内に、キャッシュサーバ200全体としてDB110の全データを保持するのに十分な数および容量となるバケット211を1つ以上有する。各バケット211には分散キャッシュシステム1内でユニークなIDが割り振られており、ロード部220は、読み込んだレコードの値に応じて対応するバケット211にレコードを格納する。ここでは例えば、1から開始する整数からなる連番によりIDが割り振られる。
In the example of FIG. 1, each
このとき、DB110上の各レコードには、図示するように、バケット211のIDの範囲に属する値を分類番号111として割り振っておく。図1の例では、1〜バケット211のIDの範囲(バケット211の総数の範囲)の整数値を割り振る。具体的には例えば、各レコードのキーのハッシュ値とバケット211のIDの最大値(バケット211の総数)との剰余を算出し、これに1を加算した値を分類番号111として割り振るようにする。これにより、各レコードにバケット211のIDの値の範囲の整数値を割り振ることができる。
At this time, a value belonging to the ID range of the
各キャッシュサーバ200は、自身のキャッシュ210に有するバケット211のIDの値に一致する分類番号111を有するレコードのみを読み込んで、対応するIDのバケット211にレコードを格納する。例えば、キャッシュサーバa(200a)のロード部220は、キャッシュ210に有するバケット211のIDが“1”と“5”なので、DB110から分類番号111が“1”と“5”のレコードのみを読み込み、分類番号111が“1”のレコードはIDが“1”のバケット211に、分類番号111が“5”のレコードはIDが“5”のバケット211にそれぞれ格納する。
Each
これにより、上述した図6や図7に示した構成における課題点を解消することができる。すなわち、各キャッシュサーバ200が自身が読み込むべきレコードのみをDB110から読み込むことになるため、読み込んだレコードをキャッシュ210に格納する際に他のキャッシュサーバ200へのレコードの転送を行う必要がなく、内部トラフィックの増加を抑制することができる。また、例えばキャッシュサーバ200の台数が増減した場合でも、バケット211の配置を各キャッシュサーバ200間で調整するだけでよい。各キャッシュサーバ200は、相変わらず自身が有するバケット211のIDに対応するレコードのみを読み込めばよく、対応は容易である。
Thereby, the subject in the structure shown in FIG. 6 and FIG. 7 mentioned above can be eliminated. That is, since each
また、個々のバケット211の大きさは均一である必要はないが、全体としてDB110のデータを保持するのに十分な数のバケット211を用意し、キャッシュサーバ200間で配置を調整することで、キャッシュサーバ200におけるデータ量の配分を均一化することができる。各バケット211のサイズおよび格納されているデータ量についてはキャッシュサーバ200が把握することができるため、データ量の配分が均一化されるような適切な配置を算出してバケット211の配置を変更する処理を自動で行うようにすることも可能である。
In addition, the size of each
また、図1に示すような構成をとる場合、図6や図7に示した構成におけるような、各キャッシュサーバ200がDB110から読み込むレコードの分散数と、キャッシュサーバ200の台数との不一致という状態は生じない。また、DB110内に保持するレコードの値の範囲や特性に関わらず、キーのハッシュ値とバケット211の総数との剰余をとることで、どのような値のレコードに対しても一定範囲の値を割り当てて分類することができる。
Further, when the configuration shown in FIG. 1 is adopted, a state in which the number of distributed records read from the
<データベース更新のキャッシュへの反映>
本実施の形態では、処理効率をより向上させるなどの観点から、クライアント側からのレコード(キャッシュデータ)の変更を許可しないようにして、キャッシュ210内のレコードを読み取り専用とする。その場合でも、DB110のデータが他のシステムから、もしくは管理者等の手動により変更される。
<Reflecting database update to cache>
In the present embodiment, from the viewpoint of improving the processing efficiency and the like, the records in the
以下では、DB110に保持する元データが他のシステム等により更新された場合に、当該更新を遅滞なくキャッシュ210内のデータに反映させる方法について説明する。ここでは、本発明の特徴を分かり易くするために、従来の技術と比較して説明する。図8は、従来の分散キャッシュシステムにおける、データベースの更新内容をキャッシュに反映させる方法の例について概要を示した図である。
Hereinafter, a method of reflecting the update in the data in the
従来は、各キャッシュサーバ200がDB110内で更新されているレコードを把握可能とするため、例えば、図8に示すように、DB110内の各テーブルにレコードの更新時のタイムスタンプの情報を保持する更新日時112のカラムを追加していた。ここで各キャッシュサーバ200は、所定の間隔で定期的にDB110にアクセスして各テーブルの更新日時の情報をチェックし、前回のチェック時点以降に更新されたレコードを検出していた。
Conventionally, in order to make it possible for each
しかし、この手法ではどのテーブルにどれだけ更新されたレコードがあるかが不明なので、各キャッシュサーバ200はDB110の全てのレコードについて更新日時の情報をチェックする必要がある。従って、DB110内のテーブル数やレコード数が多い場合は当該チェック処理の負荷が高くなり、DB110のレコードの更新内容を遅滞なくキャッシュサーバ200に反映させることが困難となる場合があった。そこで、本実施の形態では、DB110のレコードに対する更新内容を記録するためのテーブルを別途有する構成としている。図3は、本実施の形態における、データベースの更新内容をキャッシュに反映させる方法の例について概要を示した図である。
However, since it is unknown how many records are updated in which table in this method, each
図3の例では、各テーブルに対する更新内容を記録するためのログテーブル120を有する。ログテーブル120に対しては、例えば、各テーブルのレコードが更新された際にデータベース管理ソフトウェアによって生成される更新トリガ等を利用して、DBサーバ100上の図示しないプログラム等により、図3に示すように更新内容(追加、削除、変更等)を示す更新レコードを追加する。このとき、各レコードは、上述した分類番号111についても保持するカラムを有する。
In the example of FIG. 3, the log table 120 for recording the update contents for each table is provided. The log table 120 is shown in FIG. 3 by a program (not shown) on the
ここで、各キャッシュサーバ200のロード部220は、DB110のログテーブル120にアクセスし、更新レコードが新たに追加されているか否かを更新日時等によりチェックし、追加されている場合は該当する更新レコードを読み込んで、更新内容をキャッシュ210の内容に反映させる。更新レコードを読み込む際に分類番号111を参照することで、自身が読み込むべき更新レコードのみを読み込むようにすることができる。ロード部220はキャッシュサーバ200に予め設定された所定の間隔で定期的にログテーブル120にアクセスしてもよいし、更新トリガ等を利用して更新があったタイミングでログテーブル120にアクセスしてもよいが、以下ではロード部が定期的にログテーブルにアクセスする場合について説明する。
Here, the
読み込んでキャッシュ210への反映が完了した更新レコードについては、ログテーブル120から削除するようにしてもよい。この場合は、ロード部220がログテーブル120にアクセスした際に、ログテーブル120に存在する更新レコードを新たに追加された更新レコードと判断することができ、更新日時等のチェックは不要となる。
An update record that has been read and reflected in the
このように、各テーブル単位ではなく全てのテーブルで共通のログテーブル120を有することにより、DB110においてテーブル数やレコード数が増大しても、各キャッシュサーバ200がチェックする対象とするのはログテーブル120だけでよく、チェック処理の負荷を大きく低減させることが可能となる。
As described above, by having the log table 120 common to all tables instead of each table, even if the number of tables and the number of records increases in the
なお、ログテーブル120に更新レコードが追加されるタイミングが、各テーブルに対する更新処理が行われた時点であり、その後にトランザクションが完了してコミットされるという場合も生じ得る。この場合は、ログテーブル120のレコードの整合性を考慮して、各キャッシュサーバ200のロード部220は、トランザクションが完了してコミットされたタイミングの順でログテーブル120から更新レコードを読み込むものとする。
It should be noted that the timing at which the update record is added to the log table 120 is the time when the update process is performed on each table, and there may be a case where the transaction is completed and committed thereafter. In this case, considering the record consistency of the log table 120, the
ログテーブル120から更新レコードを読み込んだロード部220は、その更新内容をキャッシュ210の内容に反映させる。すなわち、対応するバケット211内のレコードを、更新レコードの更新内容に基づいて更新する。このとき、同一のレコードに対してDB110において複数回の更新が行われている場合は、整合性を維持するため、更新の順序に従って時系列でキャッシュ210の内容を更新する必要がある。一方、異なるレコードに対する更新については、可能な限り並列的な処理を行い、反映させるまでのタイムラグを極力小さくする必要がある。
The
そこで、本実施の形態では、DB110におけるデータの更新をキャッシュサーバ200において効率的にキャッシュ210に反映させる手段を有する。図4は、DB110におけるデータの更新を効率的にキャッシュ210に反映させるためのキャッシュサーバ200の構成例について概要を示した図である。
Therefore, in this embodiment, the
キャッシュサーバ200におけるロード部220は、フィード部221と複数の処理部223とを有する。フィード部221および処理部223はそれぞれ、データの授受を行うためのキューとしてフィードキュー222および処理キュー224を有する。また、各処理部223から共通してアクセス可能なメモリ領域や変数等からなる共通作業領域225を有する。フィード部221は、DB110のログテーブル120から自身が読み込むべき更新レコードを読み込むスレッドである。処理部223は、フィード部221がDB110のログテーブル120から読み込んだ更新レコードを並列的に処理してキャッシュ210の対応するバケット211に反映させるスレッドである。
The
図5は、ロード部220におけるフィード部221および処理部223の処理の例を示したフローチャートである。フィード部221は、処理を開始すると、DB110のログテーブル120の内容をチェックし(S11)、新たに追加された更新レコードのうち、自身が読み込むべき更新レコード(分類番号111の値がキャッシュ210内のバケット221のIDの値と同じもの)があるかを判定する(S12)。読み込むべき更新レコードがある場合は、それを読み込んで、フィードキュー222に挿入する(S13)。その後、予め定められた所定の時間スリープし(S14)、ステップS11に戻って一連の処理を繰り返す。なお、更新があったタイミングでロード部220がログテーブル120にアクセスする場合、スリープ時間は更新を知らせる信号を受けるまでとされる。
FIG. 5 is a flowchart illustrating an example of processing of the
一方、各処理部223は、処理を開始すると、まず自身の処理キュー224をチェックし(S21)、更新レコードがあるかを判定する(S22)。更新レコードがある場合は、そこから1件取得し、その内容に基づいてキャッシュ210への反映処理を行う(S23)。すなわち、取得した更新レコードの分類番号111の値と同じIDのバケット221の内容に、取得した更新レコードの内容を反映させる。なお、この反映処理の最中、共通作業領域225に自身が処理中のレコードを特定することが可能な情報を記録しておく。
On the other hand, when each processing unit 223 starts processing, it first checks its processing queue 224 (S21) and determines whether there is an update record (S22). If there is an update record, one record is acquired from the update record, and reflection processing to the
ステップS22において自身の処理キュー224に更新レコードがなく空である場合は、フィードキュー222から更新レコードを1件取得する(S24)。ここで共通作業領域225をチェックし、取得した更新レコードに対応するレコードに対して他の処理部223で現在反映処理が行われているかを判定する(S25)。他の処理部223で現在反映処理が行われている場合は、当該更新レコードを対象の処理部223の処理キュー224に挿入し(S26)、ステップS24に戻って、再度フィードキュー222から更新レコードを1件取得する。ステップS25においてフィードキュー222から取得した更新レコードに対応するレコードが他のいずれの処理部223においても反映処理が行われていない場合は、当該更新レコードの内容に基づいてキャッシュ210に対する反映処理を行う(S27)。その後、ステップS21に戻って、一連の処理を繰り返す。
If there is no update record in its processing queue 224 in step S22 and it is empty, one update record is acquired from the feed queue 222 (S24). Here, the
なお、各キャッシュサーバ200のキャッシュ210にDB110の全データを初期ロードする際に、上記の更新データを反映する方法を利用することも可能である。例えば、DBサーバ100上で、図示しないプログラム等によりDB110の各テーブルのデータ全体を読み込み、その内容で新たに各テーブルにレコードを追加したものとして、対応する処理内容からなる更新レコードをログテーブル120に書き込むなどの対応をとることができる。この場合、初期ロード時も含めてログテーブル120からデータを取得してキャッシュ210にデータを格納することになるため、各テーブルのレコードには分類番号111を割り振らず、ログテーブル120に更新レコードを追加する際に割り振るようにしてもよい。
It is also possible to use the method of reflecting the above update data when initially loading all the data of the
以上に説明したように、本発明の一実施の形態である分散キャッシュシステムによれば、DB110に保持する全てのデータを各キャッシュサーバ200のキャッシュ210上に展開し、データがパーティション化された分散キャッシュシステム1を実現することができる。
As described above, according to the distributed cache system according to an embodiment of the present invention, all data stored in the
各キャッシュサーバ200は、自身のキャッシュ210内において定義されたバケット211の構成に応じて、自身が読み込むべきレコードのみをDB110から読み込んでキャッシュ210に保持する。これにより、DB110に保持するレコードの値の分布等に影響されずに各キャッシュサーバ200間でリソースの使用量を平準化することができる。また、キャッシュサーバ200の台数の増減にも柔軟に対応可能で、内部トラフィックを低減させることが可能となる。
Each
さらに本実施の形態では、DB110内の各テーブルに保持するレコードが他のシステム等により更新された場合にその更新内容を示す更新レコードを保持するための、各テーブルで共通のログテーブル120を有する。これにより、DB110のテーブル数やレコード数が増えた場合でも、更新内容を遅滞なく各キャッシュサーバ200のキャッシュ210に反映させることが可能となる。
Further, in the present embodiment, when a record held in each table in the
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。 As mentioned above, the invention made by the present inventor has been specifically described based on the embodiment. However, the present invention is not limited to the embodiment, and various modifications can be made without departing from the scope of the invention. Needless to say.
本発明は、各キャッシュサーバに保持するデータがパーティション化された分散キャッシュシステムに利用可能である。 The present invention can be used in a distributed cache system in which data held in each cache server is partitioned.
1…分散キャッシュシステム、
100…データベース(DB)サーバ、110…データベース(DB)、111…分類番号、112…更新日時、120…ログテーブル、
200…キャッシュサーバ、210…キャッシュ、211…バケット、220…ロード部、221…フィード部、222…フィードキュー、223…処理部、224…処理キュー、225…共通作業領域、230…分散キャッシュ管理部。
1 ... distributed cache system,
DESCRIPTION OF
200 ... cache server, 210 ... cache, 211 ... bucket, 220 ... load unit, 221 ... feed unit, 222 ... feed queue, 223 ... processing unit, 224 ... processing queue, 225 ... common work area, 230 ... distributed cache management unit .
Claims (4)
前記各キャッシュサーバ上の前記キャッシュ上には、データを保持するための論理的な領域である1つ以上のバケットが定義され、前記各バケットには、当該分散キャッシュシステム内でユニークなIDが割り振られており、
前記データベースに保持するデータの各レコードには、それぞれ前記バケットのIDの範囲に属する値が分類番号として割り振られており、
前記キャッシュサーバは、前記データベースから、自身の前記キャッシュ上に定義されている前記バケットのIDに一致する前記分類番号を有するレコードのみを読み込んで、対応する前記バケットに格納するロード部を有することを特徴とする分散キャッシュシステム。 A database server connected to a network and a plurality of cache servers, and storing each of the data held in the database on the database server in a cache on each cache server without overlapping each other, A partition type distributed cache system that expands all data held in the database as a whole cache server to the cache,
One or more buckets that are logical areas for holding data are defined on the cache on each cache server, and each bucket is assigned a unique ID within the distributed cache system. And
Each record of data held in the database is assigned a value belonging to the bucket ID range as a classification number,
The cache server has a load unit that reads from the database only a record having the classification number that matches the ID of the bucket defined in the cache of the database and stores the record in the corresponding bucket. A featured distributed cache system.
前記データベースは、前記データベース上の各テーブルに対する外部からの更新があった際に、前記データベースサーバ上のプログラムにより、当該更新内容を示し前記分類番号を含む更新レコードを追加して記録するログテーブルを有し、
前記キャッシュサーバの前記ロード部は、前記ログテーブルから、前記キャッシュ上に定義されている前記バケットのIDに一致する前記分類番号を有する更新レコードを読み込み、当該更新レコードの内容を対応する前記バケットの内容に反映させることを特徴とする分散キャッシュシステム。 The distributed cache system according to claim 1, wherein
The database includes a log table for adding and recording an update record indicating the update content and including the classification number by a program on the database server when there is an external update to each table on the database. Have
The load unit of the cache server reads an update record having the classification number that matches the ID of the bucket defined on the cache from the log table, and reads the content of the update record in the corresponding bucket A distributed cache system that is reflected in the contents.
前記ロード部は、前記ログテーブルから更新レコードを読み込んでフィードキューに挿入するフィード部と、
前記フィードキューから更新レコードを取得し、当該更新レコードの前記分類番号に対応するIDを有する前記バケットの内容に当該更新レコードの内容を反映させる反映処理を並列的に行う複数の処理部とを有することを特徴とする分散キャッシュシステム。 The distributed cache system according to claim 2,
The load unit reads an update record from the log table and inserts it into a feed queue;
A plurality of processing units that perform update processing in parallel to acquire an update record from the feed queue and reflect the content of the update record in the content of the bucket having an ID corresponding to the classification number of the update record; A distributed cache system characterized by that.
前記ロード部の前記各処理部は、それぞれ処理キューを有し、前記フィードキューもしくは前記処理キューから更新レコードを取得して前記反映処理を行う際に、当該更新レコードが他の処理部において現在前記反映処理を行っているレコードと同一のレコードを対象とするものである場合は、当該更新レコードを、当該他の処理部の前記処理キューに挿入することを特徴とする分散キャッシュシステム。 The distributed cache system according to claim 3,
Each processing unit of the load unit has a processing queue, and when the update record is acquired from the feed queue or the processing queue and the reflection process is performed, the update record is currently stored in the other processing unit. A distributed cache system characterized by inserting the update record into the processing queue of the other processing unit when the record is the same as the record for which reflection processing is performed.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010156762A JP5661355B2 (en) | 2010-07-09 | 2010-07-09 | Distributed cache system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010156762A JP5661355B2 (en) | 2010-07-09 | 2010-07-09 | Distributed cache system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012018607A true JP2012018607A (en) | 2012-01-26 |
JP5661355B2 JP5661355B2 (en) | 2015-01-28 |
Family
ID=45603802
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010156762A Expired - Fee Related JP5661355B2 (en) | 2010-07-09 | 2010-07-09 | Distributed cache system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5661355B2 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5706956B1 (en) * | 2013-12-13 | 2015-04-22 | エヌ・ティ・ティ・アドバンステクノロジ株式会社 | Database system and database control method |
JP2015525392A (en) * | 2012-12-28 | 2015-09-03 | 華為技術有限公司Huawei Technologies Co.,Ltd. | Cache processing method, node, and computer-readable medium for distributed storage system |
KR20160036447A (en) * | 2014-09-25 | 2016-04-04 | 주식회사 엘지씨엔에스 | Database apparatus, database management methof performing in database apparatus and storage media storing the same |
JP5908057B1 (en) * | 2014-12-16 | 2016-04-26 | エヌ・ティ・ティ・アドバンステクノロジ株式会社 | Database system and database control method |
KR20170058293A (en) * | 2015-11-13 | 2017-05-26 | 에이취지에스티 네덜란드 비.브이. | Systems and methods for adaptive partitioning in distributed cache memories |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11224219A (en) * | 1998-02-05 | 1999-08-17 | Nippon Telegr & Teleph Corp <Ntt> | Decentralized cache control method, decentralization controller, decentralizzed cache system, and storage medium stored with decentralized cache control program |
JP2000339279A (en) * | 1999-05-28 | 2000-12-08 | Matsushita Electric Ind Co Ltd | Video distribution cache device and video collection reproducer |
JP2004118482A (en) * | 2002-09-26 | 2004-04-15 | Toshiba Corp | Storage device and cache method |
JP2005128861A (en) * | 2003-10-24 | 2005-05-19 | Hitachi Ltd | Storage system of remote site and/or local site, and file reference method of remote site storage system |
WO2008057191A2 (en) * | 2006-11-06 | 2008-05-15 | Wms Gaming Inc. | Handheld gaming system having dynamically adjusting interfaces and displays |
WO2010048595A2 (en) * | 2008-10-24 | 2010-04-29 | Microsoft Corporation | Partition management in a partitioned, scalable, and available structured storage |
-
2010
- 2010-07-09 JP JP2010156762A patent/JP5661355B2/en not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11224219A (en) * | 1998-02-05 | 1999-08-17 | Nippon Telegr & Teleph Corp <Ntt> | Decentralized cache control method, decentralization controller, decentralizzed cache system, and storage medium stored with decentralized cache control program |
JP2000339279A (en) * | 1999-05-28 | 2000-12-08 | Matsushita Electric Ind Co Ltd | Video distribution cache device and video collection reproducer |
JP2004118482A (en) * | 2002-09-26 | 2004-04-15 | Toshiba Corp | Storage device and cache method |
JP2005128861A (en) * | 2003-10-24 | 2005-05-19 | Hitachi Ltd | Storage system of remote site and/or local site, and file reference method of remote site storage system |
WO2008057191A2 (en) * | 2006-11-06 | 2008-05-15 | Wms Gaming Inc. | Handheld gaming system having dynamically adjusting interfaces and displays |
WO2010048595A2 (en) * | 2008-10-24 | 2010-04-29 | Microsoft Corporation | Partition management in a partitioned, scalable, and available structured storage |
Non-Patent Citations (2)
Title |
---|
CSND201000450009; 米田 正明: '絶対わかるクラウド技術' みてわかるクラウドマガジン 第1巻, 20100510, p.56-57, 日経BP社 * |
JPN6014005489; 米田 正明: '絶対わかるクラウド技術' みてわかるクラウドマガジン 第1巻, 20100510, p.56-57, 日経BP社 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015525392A (en) * | 2012-12-28 | 2015-09-03 | 華為技術有限公司Huawei Technologies Co.,Ltd. | Cache processing method, node, and computer-readable medium for distributed storage system |
JP5706956B1 (en) * | 2013-12-13 | 2015-04-22 | エヌ・ティ・ティ・アドバンステクノロジ株式会社 | Database system and database control method |
KR20160036447A (en) * | 2014-09-25 | 2016-04-04 | 주식회사 엘지씨엔에스 | Database apparatus, database management methof performing in database apparatus and storage media storing the same |
KR101646954B1 (en) | 2014-09-25 | 2016-08-09 | 주식회사 엘지씨엔에스 | Database apparatus, database management methof performing in database apparatus and storage media storing the same |
JP5908057B1 (en) * | 2014-12-16 | 2016-04-26 | エヌ・ティ・ティ・アドバンステクノロジ株式会社 | Database system and database control method |
KR20170058293A (en) * | 2015-11-13 | 2017-05-26 | 에이취지에스티 네덜란드 비.브이. | Systems and methods for adaptive partitioning in distributed cache memories |
KR101960138B1 (en) | 2015-11-13 | 2019-03-19 | 에이취지에스티 네덜란드 비.브이. | Systems and methods for adaptive partitioning in distributed cache memories |
Also Published As
Publication number | Publication date |
---|---|
JP5661355B2 (en) | 2015-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10218584B2 (en) | Forward-based resource delivery network management techniques | |
US11153380B2 (en) | Continuous backup of data in a distributed data store | |
US11294890B2 (en) | Batch data ingestion in database systems | |
US20200201775A1 (en) | Managing a distributed cache in a cloud-based distributed computing environment | |
US10579272B2 (en) | Workload aware storage platform | |
US9330108B2 (en) | Multi-site heat map management | |
EP2545458B1 (en) | Method and memory cache data center | |
US20130290643A1 (en) | Using a cache in a disaggregated memory architecture | |
CN106648464B (en) | Multi-node mixed block cache data reading and writing method and system based on cloud storage | |
US9280470B2 (en) | Cache replacement for shared memory caches | |
CN110998557A (en) | High availability database through distributed storage | |
US20210185142A1 (en) | Cache storage for streaming data | |
CN102591970A (en) | Distributed key-value query method and query engine system | |
US20130290636A1 (en) | Managing memory | |
JP5661355B2 (en) | Distributed cache system | |
CN108540510B (en) | Cloud host creation method and device and cloud service system | |
Lensing et al. | hashfs: Applying hashing to optimize file systems for small file reads | |
CN117539915B (en) | Data processing method and related device | |
CN112334891A (en) | Centralized storage for search servers | |
JP5821692B2 (en) | File sharing system, file write-back control program, and file write-back method | |
US10140190B1 (en) | Efficient transaction log flushing | |
CN118426713B (en) | Cluster file distributed management method and system | |
CN117827102A (en) | Method for supporting data local cache and high concurrency security access | |
JP2021170289A (en) | Information processing system, information processing device and program | |
CN114579514A (en) | File processing method, device and equipment based on multiple computing nodes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130312 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140129 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140212 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140414 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20141007 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141027 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20141202 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20141203 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5661355 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |