• 株ラボ システム開発 www.kabulab.com 

  • 株ラボ システム開発 www.kabulab.com

  • 株ラボ システム開発 twitter

インメモリーDB(リアルタイム処理) ソフト 備忘録

2014/05/16 (金) 01時25分 375 views

インメモリーDB(リアルタイム処理) ソフト 備忘録

メモリー上のデータベース

インメモリデータベース(IMDBあるいはメインメモリデータベース、MMDB)はデータストレージを主にメインメモリ上で行うデータベース管理システムである。ディスクストレージ機構によるデータベースシステムと対比される。メインメモリデータベースは内部最適化アルゴリズムが簡素であり、相対的に少ないCPU命令を実行するので、ディスク最適化されたデータベースと比較して高速である。メモリ上でデータアクセスを行うことで、ディスクと比較し、より高速かつ安定したパフォーマンスを提供できる。通信ネットワーク機器など、応答時間が肝要であるアプリケーションにおいて、インメモリデータベースは多用されている

メモリー上のデータベース拡大

メモリの価格下落や64bitOSの普及により大容量のメモリを扱えるようになったという技術的要因

インターネットや携帯電話の普及によりリアルタイム性を求められる高トランザクションシステムが増えたという顧客要因

 

リレーショナル型データベースにも、テーブルをメモリー上に展開する機能を備えているものがあります。MySQL、H2 Database、HSQLDBなどが相当します。

特にMySQLでは、メモリー上に展開するかどうかをテーブルごとに選択できます。操作も非常に簡単

インメモリー・データベース

インメモリー・データベースは、非常に高速に動作するうえに、リレーショナル型の利点をそのまま残しています。

インメモリー型は、 ディスクに退避していたバッファをそのままメモリーに展開したものではありません。メモリー・アクセス用に内部ロジックを最適化したOracle TimesTenのように、高速性を確保しつつ、従来通りのトランザクション管理やSQLを利用できる製品も登場しています。特に、インメモリー型のラン ダム・アクセス速度は、ディスク型と比較して1000倍と言われています。享受できるメリットはディスク型とは段違いです。

 

参考)

リレーショナル型データベースにも、テーブルをメモリー上に展開する機能を備えているものがあります。MySQL、H2 Database、HSQLDBなどが相当します。特にMySQLでは、メモリー上に展開するかどうかをテーブルごとに選択できます。操作も非常に簡単

 

KVS 【 Key-Value Store 】 Key-Valueストア / キーバリューストア

データの保存・管理手法の一つで、任意の保存したいデータ(値:value)に対し、対応する一意の標識(key)を設定し、これらをペアで保存する方式。また、そのような機能を提供するシステムやソフトウェアのこと

 

「キー」と「バリュー(値)」のペアからなるシンプルなデータ・モデルに基づくデータストアです。 RDB (relational database) と比較してデータ構造がシンプルなため、データを分散させやすく高可用性の構成が組みやすいと言われています。一方、スキーマに基づくテーブル構造を持た ないため、複雑な検索や集計は KVS の得意とするところではありません。上記の特性から保管するデータ構造がどのようなものかを見極めて KVS を使用するか RDB を使用するかを判断する必要

 

参考先

http://thinkit.co.jp/story/2011/03/18/2053

http://www.atmarkit.co.jp/news/200902/26/redis.html

楽天が「Ruby on Railsの利用を開始します」

http://www.atmarkit.co.jp/news/200703/15/rakuten.html

memcached

http://gihyo.jp/dev/feature/01/memcached/0001

NoSQL

http://builder.japan.zdnet.com/db-sql/35026605/1/

 

LINEで送る
このエントリーをはてなブックマークに追加

カテゴリー:システム備忘録

コメントを残す



次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

« »