SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

直近開催のイベントはこちら!

EnterpriseZine編集部ではイベントを随時開催しております

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けの講座「EnterpriseZine Academy」や、すべてのITパーソンに向けた「新エバンジェリスト養成講座」などの講座を企画しています。EnterpriseZine編集部ならではの切り口・企画・講師セレクトで、明日を担うIT人材の育成をミッションに展開しております。

お申し込み受付中!

Oracle技術者から見た、SAP HANA

SAP HANAの永続化技術とは

 今回は前回予告したように、SAP HANAの永続化技術について解説します。

インメモリと永続化

 従来のデータベース(例えばOracleデータベース)ではデータは基本的にディスク(Oracleの場合データファイル)上にあり、キャッシュ及び作業領域は、メインメモリ(DBバッファ等)に確保されています。

 データベースが処理を行う場合、データはいったんディスクからメインメモリに読み込まれ、CPUはメモリ上のデータを使用して処理を行います。

 もし、データに更新が発生した場合は、変更されたメモリ上のデータはディスクに書き戻されます。

 データ変更をディスクへ反映させるところまでを一連のトランザクションに含めると、(メモリに比べて)低速なディスク(レイテンシ10ミリ秒程度)の影響でパフォーマンスが頭打ちになってしまうため、通常は最小の変更情報(Oracleの場合はREDOログ)をディスク(REDOログファイル)に書き込むことでトランザクションの永続性を担保しています。

 ストレージをディスクよりも高速なフラッシュメモリ(レイテンシ50~150マイクロ秒)を使用したSSD(Solid State Drive)に替えることでパフォーマンスを向上させることができますが、永続化の基本的な原理は同じです。

 一方、データそのものはトランザクションとは非同期にディスクに反映されます。(図1)

 つまり、万一サーバに障害が発生したとしても、ディスクからメモリにデータを再読込すれば大半のデータは復旧できますし、一般的なRDBMSにおいては障害直前までのコミット済みデータは安全にリカバリすることができます。

 一方、インメモリデータベースでは、キャッシュ及び作業領域の一部はCPUキャッシュへ、データおよび作業領域はメインメモリ上に確保されています。

 メインメモリに使用されている半導体DRAM: Dynamic Random Access Memory は書き換え可能な半導体メモリの一種ですが、コンデンサとトランジスタの組み合わせにより電荷を保持することで情報を記憶させる仕組みです。

 DRAMのI/Oはレイテンシ120ナノ秒程度で非常に高速なのが特長ですが、電荷が放電してしまう前に記憶保持のための定期的な再書き込み(リフレッシュ)動作が必要なので、万一電源瞬断が発生するとデータが消失してしまうという大きな欠点があります。

 これは、全てのデータをメモリ上に持つインメモリデータベースにとって致命的な障害となり得ますので、揮発性メディアであるDRAMのデータを別の不揮発性メディア(ディスク等)にバックアップする永続化の仕組みは必須要件となります。

 連載第2回で解説したカラムストアのメインストレージとデルタストレージは原則的に全てメインメモリ上に存在していますが、SAP HANAにおいても基本的にメインメモリ上の情報は不揮発性メディアにバックアップされなければならないのはディスクベースの従来型データベースと同じです。

 また、ディスクとメモリの書き込み速度は10万倍以上の違いがあるため、インメモリデータベースの永続化は、必要最小限のディスク出力で行われなければなりません。

 永続化は障害対応、災害対策の仕組みにも影響を与えるので、運用面おいても非常に重要です。

 連載第1回で、高速なインメモリ・アーキテクチャにこだわるハッソー・プラットナーに対し「インメモリではデータの永続性が担保できない」と猛反対した当時のSAP社経営幹部の逸話を紹介しましたが、今回は実用化されたHANAがどのように永続化を実現しているかを解説したいと思います。

次のページ
SAP HANAの永続化技術

この記事は参考になりましたか?

  • Facebook
  • Twitter
  • Pocket
  • note
Oracle技術者から見た、SAP HANA連載記事一覧

もっと読む

この記事の著者

三原健一(ミハラケンイチ)

 ベンチュリーコンサルティング株式会社 技術顧問 現在、大手SIerの性能問題対応チームに従事。主にOracleデータベースの性能問題解決や負荷テストの計画・実施・分析・評価等を担当。前職のインサイトテクノロジーではメルマガやブログの執筆に関わる。 ・ブログ「サイクル&オラクル

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

EnterpriseZine(エンタープライズジン)
https://enterprisezine.jp/article/detail/10455 2018/03/14 06:00

Job Board

AD

おすすめ

アクセスランキング

アクセスランキング

イベント

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング