Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥

OCHaCafe Premium OCI Cache with Redis

OCHaCafe Premium OCI Cache with Redis

Avatar for oracle4engineer

oracle4engineer PRO

December 06, 2023
Tweet

More Decks by oracle4engineer

Other Decks in Technology

Transcript

  1. Copyright © 2023, Oracle and/or its affiliates. 3 野侭 恭倧郎

    ゜リュヌション・アヌキテクト 日本オラクル株匏䌚瀟 • AppDev/Messaging/NoSQL/Frontend • Oracle Cloud Hangout Caféメンバヌ/Oracle Groundbreakers Advocate • 某パッケヌゞの開発者でした • Oracleにjoinしおもう4幎半 • 趣味は釣りずかキャンプずか(最近行けおない) @non_kyon
  2. Copyright © 2023, Oracle and/or its affiliates. 5 キャッシュ(Cache)ずは  •

    ハヌドりェアたたは゜フトりェアのコンポヌネントで、デヌタを保存しおおくこずで、そのデヌタに察するリク゚スト をより速く凊理できるようにするもの • キャッシュに保存されるデヌタは、以前の蚈算や凊理の結果 リク゚ストに察し、キャッシュから提䟛できるデヌタが倚ければ倚いほど、システムは高速に動䜜する (英Wikipediaより) キャッシュずは
  3. Copyright © 2023, Oracle and/or its affiliates. 6 クラむアントサむド •

    静的なアセット • 画像 • スタむルシヌト • スクリプト • 動的りェブアプリのペヌゞ • ナヌザヌ個別のコンフィグ サヌバヌサむド • デヌタベヌスク゚リの結果 • APIレスポンス • グロヌバルなコンフィグ • テナントなどで共有する蚭定など キャッシュの皮類
  4. Copyright © 2023, Oracle and/or its affiliates. 7 デヌタベヌスやディスクではなく、RAMにデヌタを保存する •

    ディスクリヌドの回数を枛らせる • アプリケヌションのパフォヌマンス向䞊が期埅できる e.g.; ECサむトの商品リストなどをキャッシュしおおくこずでレスポンスタむムが向䞊し、UXの向䞊に぀ながる むンメモリ・キャッシュを利甚する堎合の泚意点 • むンメモリに保存するこずになるので、シャットダりンや再起動などでデヌタは揮発する • 障害が発生した堎合にも同様にデヌタが消えるので、バックアップやレプリケヌションの戊略は考慮が必芁 • (むンメモリに限らず)キャッシュの有無を考慮した実装が必芁 • e.g.; ECサむトで商品を远加した堎合はキャッシュ・クリアを必ず行うように実装 むンメモリ・キャッシング
  5. Copyright © 2023, Oracle and/or its affiliates. 8 ネットワヌク内の耇数のサヌバヌやノヌドにたたがっお デヌタを保存するキャッシング

    • 高い可甚性ずスケヌラビリティを必芁ずするアプリ ケヌションに有効 • 耇数のサヌバヌがデヌタの保存ず取埗の䜜業負 荷を分担し、デヌタ損倱のリスクを軜枛 • システムの管理は耇雑で、耇数のノヌド間で 䞀貫性を確保するこずは困難な堎合がある 分散キャッシング
  6. Copyright © 2023, Oracle and/or its affiliates. 9 アプリケヌションがキャッシュを管理する責任を負う •

    デヌタがリク゚ストされるず、アプリケヌションはたずキャッシュを チェック • デヌタがキャッシュにある堎合は、それを利甚 • デヌタがキャッシュにない堎合は、デヌタベヌスから取埗 • 将来の䜿甚のために取埗したデヌタをキャッシュに保存 • キャッシュが垞に最新であるように泚意深く管理する必芁あり キャッシュ戊略 Cache-Aside Cache 1. Cache check 2. Return cache or not 3. Get data 4. Store Cache Application
  7. Copyright © 2023, Oracle and/or its affiliates. 10 キャッシュが䞻芁なデヌタ゜ヌスずしお䜿甚される •

    デヌタが芁求されるず、たずキャッシュがチェックされる • デヌタがキャッシュにない堎合は、デヌタベヌスから取埗 • 将来の䜿甚のためにキャッシュに保存 • デヌタベヌスの凊理速床が遅い堎合や、デヌタは頻繁 に読み蟌たれるが曎新が少ない堎合に有効 キャッシュ戊略 Read-Through Application 1. Read cache 2. Read and store from database Cache Engine Cache
  8. Copyright © 2023, Oracle and/or its affiliates. 11 デヌタはキャッシュずデヌタベヌスの䞡方に同時に曞き蟌たれる •

    デヌタが曎新されるず、キャッシュずデヌタベヌスに同時に曞き 蟌たれる • キャッシュには垞に最新のデヌタが栌玍されるこずになる • 曞き蟌み凊理が遅くなる可胜性がある キャッシュ戊略 Write-Through Cache 1. Write to cache 2. Write to Database Application
  9. Copyright © 2023, Oracle and/or its affiliates. 12 デヌタはたずキャッシュに曞き蟌たれ、その埌でデヌタベヌスに 曞き蟌たれる

    • 曞き蟌み操䜜が高速化される • キャッシュが適切に管理されない堎合、デヌタの䞍敎合 が発生する可胜性がある キャッシュ戊略 Write-Behind 1. Write to cache 2. Write to Database Application Cache Engine Cache
  10. Copyright © 2023, Oracle and/or its affiliates. 13 キャッシュヒットの割合 •

    バック゚ンドの代わりに キャッシュから凊理され たリク゚ストの割合 • 高いヒット率は、キャッ シュ戊略がバック゚ンド の負荷を枛らすのに効 果的であるこずを瀺す キャッシュ・むビクションの割合 • 有効期限切れやむビク ションによっおキャッシュ から削陀されたキャッ シュの割合 • この割合が高い堎合は、 キャッシュの有効期限が 短すぎるか、キャッシュサ むズが小さすぎる可胜 性がある キャッシュの倱効 • キャッシュされたデヌタが キャッシュから削陀され るたでの有効期限 • 有効期限を長くするず、 キャッシュのヒット率は向 䞊するが、デヌタが叀く なるリスクが高たる • キャッシュの有効期限を 短くするず、デヌタが叀く なるリスクは枛るが、 キャッシュのヒット率は䞋 がる デヌタの䞀貫性 • キャッシュされたデヌタが 叀くなるず、アプリケヌ ションの敎合性が損な われる可胜性があり • キャッシュされたデヌタを バック゚ンドのデヌタスト アにあるデヌタず比范す るこずで、デヌタの䞀貫 性を監芖可胜 キャッシュの効果枬定
  11. Copyright © 2023, Oracle and/or its affiliates. 14 キャッシュ眮換ポリシヌ LRU(Least

    Recently Used) • 最近䜿甚されおいないアむテムを最初に砎棄 • どのアむテムがい぀䜿われたかを远跡する必芁がある MRU(Most Recently Used) • 最埌に䜿甚されたアむテムを最初に砎棄 LFU(Least Frequently Used) • 䜿甚頻床が最も䜎いアむテムを最初に砎棄 • アクセスされた回数の倀を保存する必芁がある ARC(Adaptive Replacement Cache) • LRU ず LFU を組み合わせる方匏 新しいキャッシュのためのスペヌスを確保するため、どのキャッシュを砎棄するかを遞択するポリシヌ
  12. Copyright © 2023, Oracle and/or its affiliates. 15 Redis 抂芁

    キャッシュ゚ンゞンのデファクト
  13. Copyright © 2023, Oracle and/or its affiliates. 16 • オヌプン゜ヌスのむンメモリKVS

    • デヌタベヌス/キャッシュ/メッセヌゞブロヌカヌ/ストリヌミング゚ンゞン • 様々なデヌタ構造に察応 • 文字列 • ハッシュ • リスト • セット etc. • レプリケヌション/Luaスクリプト/LRU゚ビクション/トランザクション/ディスク 䞊の氞続性 • Redis Sentinelによる高可甚性 • Redis Clusterによる自動パヌティショニング Redisっお䜕
  14. SQL(RDB)をやめようずいう意味ではなく、適材適所で 非関係型デヌタストアを利甚しおいこうずいう意味 「NoSQL」は「Not Only SQL」の略 • RDBMS以倖のデヌタベヌスの総称 • RDBMS以倖も䜿っおいこうずいう運動の総称 RDBMS以倖ずいう意味で、RedisもNoSQLの䞀皮ず

    蚀える ※NoSQLに぀いおは以前OCHaCafeで取り扱っおおりたす ⇒ むンメモリKVS = NoSQL? 「NoSQL」が衚す意味 Document KVS カラム指向 グラフ key value key value key value ※JSON,XMLなど NoSQLが扱うデヌタ型 Copyright © 2023, Oracle and/or its affiliates. 17
  15. Copyright © 2023, Oracle and/or its affiliates. 18 Redisの特長 MULTI、EXEC、

    DISCARD、WATCH ずいうコマンドを䞭心に 耇数のコマンドを䞀床に 実行 Transacti ons SUBSCRIBE、 UNSUBSCRIBE、 PUBLISHコマンドによ るPub/Subの実装 Pub/Sub サヌバにLuaスクリプト をアップロヌドしお実行 可胜、アプリケヌションロ ゞックの䞀郚を移譲 Lua scripting KeyにTTL(有効期間) を蚭定可胜、キャッシュな どのデヌタが叀くなりすぎ るこずを防ぐ Keys with a limited time-to-live 新しいデヌタを远加するず きに叀いデヌタを自動的 に削陀する LRU eviction of keys フェむルオヌバヌプロセスを自 動開始、レプリカがマスタヌに 昇栌され、他の远加レプリカ が新しいマスタヌを䜿甚するよ うに再構成 Automatic failover
  16. Copyright © 2023, Oracle and/or its affiliates. 19 String •

    最も基本的なデヌタ型 • Bitmaps/Bitfieldsず蚀ったStringsを拡匵した デヌタ型がある Lists • Stringのリスト • むンサヌト順 Sets • 䞀意のStringのコレクション • 順序付けなし Sorted Sets • 順序ありのSets Hashes • フィヌルドず倀のコレクション • JavaのHashMapやPythonのdictionaryに䌌 おいる Streams • Append-only ログのように動䜜する • むベントの蚘録などに利甚可胜 Geospatial Indexes • 座暙の保存ず蚈算 HyperLogLogs • 倧芏暡なセットのカヌディナリティ(ナニヌクな倀の 数)の確率的掚定を提䟛 Redisのデヌタ型
  17. Copyright © 2023, Oracle and/or its affiliates. 20 マスタヌ・レプリカ型のシンプルなHA゜リュヌション •

    マスタヌはRead/Write、レプリカはRead Only • レプリカは耇数構成可胜 レプリケヌションは非同期 • マスタヌずレプリカがうたく接続されおいる堎合 • マスタヌはレプリカにコマンドのストリヌムを送信 • マスタヌ偎で発生したデヌタセットぞの圱響を耇補し、レプリカの曎新を維持 • ネットワヌクの問題や、マスタヌやレプリカでタむムアりトを怜知した堎合 • マスタヌずレプリカの間のリンクが切断されるず、レプリカは再接続しお郚分的な再同期を詊みる • 郚分的な再同期が䞍可胜な堎合 • レプリカは完党な再同期を芁求する • マスタヌは党デヌタのスナップショットを䜜成し、それをレプリカに送信 • デヌタセットの倉曎に合わせおコマンドのストリヌムを送信し続ける、より耇雑なプロセスが必芁 Redisの可甚性 Replication Client master replica
  18. Copyright © 2023, Oracle and/or its affiliates. 21 人手を介さず、障害からの埩旧を実珟 •

    監芖 • マスタヌずレプリカが期埅通りに動䜜しお いるかを垞にチェック • 通知 • Redisむンスタンスに問題があるず、API を䜿っおシステム管理者などに通知 • 自動フェむルオヌバヌ • フェむルオヌバヌプロセスを開始 • マスタヌが期埅通りに動䜜しおいない堎合、 レプリカがマスタヌに昇栌 • 他のレプリカは新しいマスタヌを利甚するよ うに蚭定 • Redisサヌバを䜿っおいるアプリケヌションが 接続時に新しいアドレスを䜿うように通知 Redisの可甚性 Sentinel Application Client master replica replica Sentinel Sentinel Sentinel 盞互監芖 通知 Application Client replica ⇒ master replica Sentinel Sentinel マスタヌず認識 アドレスを通知 自動フェむルオヌバヌ
  19. Copyright © 2023, Oracle and/or its affiliates. 22 マルチマスタヌ構成による、より高床なクラスタ化 •

    拡匵性 • 最倧1000ノヌド • 非同期レプリケヌション • 曞き蟌み安党性 • マスタヌに接続されおいるクラむアントからのすべおの曞き蟌みを保持 • ベスト゚フォヌト方匏 • 可甚性 • マスタヌノヌドに障害が発生した堎合は、同䞀Shard内のレプリカがマスタヌに昇栌 • レプリカ・マむグレヌションによっお、レプリカ・ノヌドをShard間でやり取り可胜 Redisの可甚性 Cluster Application Client master replica master master replica shard shard replica shard
  20. Copyright © 2023, Oracle and/or its affiliates. 23 • RDB(Redisデヌタベヌス)

    • 指定した間隔でデヌタセットのポむントむンタむム・スナップショットを実行 • AOF(Append Only File) • サヌバヌが受け取ったすべおの曞き蟌み操䜜をログに蚘録 • これらの操䜜は、サヌバ起動時に再床再生され、元のデヌタセットを再構築 • Redisプロトコルそのものず同じフォヌマットでログに蚘録 • 氞続化なし • キャッシュを行う堎合などに䜿甚 • RDB + AOF • 同じむンスタンスでAOFずRDBの䞡方を組み合わせる Redisのディスク氞続化 さたざたな氞続化オプション
  21. Copyright © 2023, Oracle and/or its affiliates. 24 Redisのナヌスケヌス •事前定矩の䞍正行為プロファむルずの比范

    •ナヌザヌのアクティビティ・デヌタ •メタデヌタ •APIデヌタ リアルタむム䞍正怜知 •RDBの負荷を軜枛し、高速な応答時間を確保 •グラフィックス •画像 •音楜 モダン・ゲヌミング •高速か぀柔軟なデヌタモデルによるリアルタむム圚庫システム •商品 •顧客 •圚庫/配送 オムニチャネルEC •バック゚ンドのコスト軜枛ずナヌザヌの応答時間の短瞮 •ナヌザコンフィグ •凊理/蚈算の結果 •静的アセット キャッシング •Pub/Subプロトコル •マむクロサヌビス間のメッセヌゞ •チャット •フィヌド/コメント チャット/メッセヌゞング/キュヌ •セッションデヌタを管理、認蚌/ナヌザヌプロファむル/ロギングのパフォヌマンス向䞊 •ID •トヌクン •セッション・メタデヌタ セッションストア 匕甚: Redis Use Case Examples for Developers
  22. Copyright © 2023, Oracle and/or its affiliates. 26 デフォルトではv5がむンストヌルされるので、v6をむンストヌル(埌にOCI Redisず接続するため)

    Redisのむンストヌルず起動 Oracle Linux 8 $ sudo yum module list redis Last metadata expiration check: 2:15:30 ago on Tue 05 Dec 2023 05:55:52 AM GMT. Oracle Linux 8 Application Stream (x86_64) Name Stream Profiles Summary redis 5 [d] common [d] Redis persistent key-value database redis 6 common [d] Redis persistent key-value database $ sudo yum module enable redis:6 === äž­ç•¥ === Is this ok [y/N]: y Complete! $ sudo yum module install redis
  23. Copyright © 2023, Oracle and/or its affiliates. 27 Redisの起動 redis-cliを䜿っお起動確認

    停止時はSAVEかSHUTDOWNを利甚 • SAVE: var/lib/redis(デフォルト)にdumpファむルを出力 • SHUTDOWN: Redisを終了 Redisのむンストヌルず起動 $ sudo systemctl start redis $ redis-cli ping PONG $ redis-cli save $ redis-cli shutdown
  24. Copyright © 2023, Oracle and/or its affiliates. 28 Redis CLIの起動

    SETコマンドでデヌタを保存 GETコマンドでデヌタを取埗 Redisのデヌタ操䜜 Redis CLI $ redis-cli $ SET bike:1 "Process 134“ $ GET bike:1 "Process 134"
  25. Copyright © 2023, Oracle and/or its affiliates. 29 Redis CLIでHashesを利甚するのは分かりにくい・・・

    Redisのデヌタ操䜜 Redis CLI $ HSET bike:2 model Deimos brand Ergonom type 'Enduro bikes' price 4972 $ HGET bike:2 model "Deimos" $ HGETALL bike:2 1) "model" 2) "Deimos" 3) "brand" 4) "Ergonom" 5) "type" 6) "Enduro bikes" 7) "price" 8) "4972"
  26. Copyright © 2023, Oracle and/or its affiliates. 30 Java Redisのデヌタ操䜜

    Jedis • RedisのJava Client • Redis本䜓がスポンサヌ
  27. Copyright © 2023, Oracle and/or its affiliates. 33 Redisでは「foo」のような文字列から JPEG

    ファむルのコンテンツたで、任意のバむナリ シヌケンスをキヌずしお䜿甚可胜 キヌ蚭蚈の䞊で考えるべきこず: • 長いキヌは避けるべき • 長いキヌは、キヌの怜玢の芳点で、キヌの比范にコストがかかる • 短すぎるキヌも避けるべき • 䞀䟋ずしお、「user:1000:followers」を「u1000flw」ず短くする意味はない • キヌを短くするこずでメモリの消費量は確かに枛るが、可読性ず実装のし易さずのバランスを考える • スキヌマ(=キヌ空間)を利甚する圢がプラクティス • 「object-type:id」のような圢 • 「.」や「-」を䜿っお耇数の単語は぀なぐ • 最倧キヌサむズは512MB キヌ空間
  28. Copyright © 2023, Oracle and/or its affiliates. 34 OCI Cache

    with Redis Redisベヌスの新サヌビス
  29. フルマネヌゞド・キャッシングサヌビス OCI Cache with Redis Copyright © 2023, Oracle and/or

    its affiliates. 35 ▪ ナヌスケヌス • デヌタをメモリにキャッシュし、䜎レむテンシで゚ンドナヌザ にデヌタを提䟛 ▪ 特長 • Redis 7.0.5 ベヌスのフルマネヌゞドサヌビス • メモリ量ずノヌド数のみ指定のシンプルなプロビゞョニング • 1クラスタあたり5ノヌドたで • 1ノヌドあたり2GBから500GBたで • オンラむンスケヌリング • メトリクスの収集 • 自動HA構成 ▪ 䟡栌 • 1GBメモリ利甚1時間ごずに¥2.716(10GBたで) • 1GBメモリ利甚1時間ごずに¥1.904(10GB以降) OCI Cache with Redis User API Service Containers Virtual Machine API Gateway AD/FD AD/FD AD/FD OCI Cache with Redis OCI Cache with Redis OCI Cache with Redis ナヌザヌ アプリケヌション /API キャッシュ局
  30. Copyright © 2023, Oracle and/or its affiliates. 36 OCI Cache

    with Redis の䞻な特長 フルマネヌゞド • 自動クラスタ構成 • OSレベルパッチ • モニタリング • フェむルオヌバヌ • SLA 99.95% 圧倒的なシンプルさ • メモリ容量ずノヌド数を指定する だけで、あずはすべおお任せ • ワヌクロヌドに合わせお正確な メモリ量を遞択 • 過剰プロビゞョニングの必芁なし スケヌラビリティ • ダりンタむムなしでオンラむン 拡匵 • 1ノヌドあたり2GBから最倧 500GBたで、1クラスタあた り5ノヌドたで拡匵可胜 自動HA • 2台以䞊のノヌドをデプロむす るず、OCIが自動的に分散 • Multi-AD: AD分散 • Single-AD: FD分散 匷力なむンサむト •クラスタの健党性ずパフォヌマンス を監芖するアりトオブボックス・メ トリクス •CPUずメモリの䜿甚率にアクセス •ネットワヌク・バむトの送受信を 確認
  31. Copyright © 2023, Oracle and/or its affiliates. 40 珟圚(GA盎埌)の機胜 Feature

    Description マルチノヌドクラスタヌ 単䞀のプラむマリノヌドず耇数のリヌドレプリカノヌドを持぀クラスタを導入可胜 マルチAD/FD HAクラスタ パヌティション・トレランスを持぀別ADのレプリカ・ノヌド 自動障害怜出 クラスタ内の1぀以䞊のノヌドがダりンするず、それを補うために新しいノヌドが自動的にクラスタに参加 AD/FD停止時の 自動フェむルオヌバヌ マルチAD/FDシナリオの堎合、AD/FDがクラスタから倱われるず、リヌド・レプリカが新しいプラむマリに昇栌し、DNSが新しいプラむマリを指すように曎新 暗号化in-transit ノヌド間通信のTLS暗号化ずクラむアント通信の暗号化をサポヌト リサむズクラスタサむズを小さくする オンデマンドでノヌドを削陀 リサむズクラスタ容量の拡倧 ノヌドを远加しおクラスタ党䜓のむンメモリ・ストレヌゞ容量を远加 パフォヌマンス1ミリ秒の読み取り/ 曞き蟌み動䜜 1ミリ秒の読み取り/曞き蟌み動䜜 パッチ適甚ホストOSの自動パッチ 適甚 顧客の操䜜なしでパッチを適甚 Redis API、コン゜ヌル、SDK、 Terraformを介したクラスタずのむ ンタヌフェヌス Redis APIずの互換、暙準的なRedis APIプロトコルをサポヌト、コン゜ヌル、SDK、TerraformからRedisにアクセス
  32. Copyright © 2023, Oracle and/or its affiliates. 41 珟圚(GA盎埌)の機胜 Feature

    Description むンスタンスのヘルス・メトリクス OCI Monitoringずの統合 コンプラむアンス すべおのOCI基準コンプラむアンスプログラムに準拠: FIPS、PCI、HIPAA、GDPR、SOC、ISO
  33. Copyright © 2023, Oracle and/or its affiliates. 42 シンプルで競争力のある䟡栌蚭定で提䟛 •

    ナヌザが支払うのはノヌドあたりのGBのみ • ノヌド内の最初の10GBに぀いおは、1GB/時間あたり Â¥2.716 • 10GBを超える堎合は、 • 最初の10GBに察しお¥2.716 • そのノヌドの10GB以䞊のGBに察しお¥1.904 䟡栌蚭定 9GB Node 9GB x Â¥2.716 / GB / hr -> Total per node/h Â¥24.444 10GB Node 10GB x Â¥2.716 / GB / hr -> Total per node/h Â¥27.16 11GB Node 10GB x Â¥2.716 / GB / hr -> Total per node/h Â¥29.064 䟋: 1GB x Â¥1.904 / GB / hr ->
  34. Copyright © 2023, Oracle and/or its affiliates. 43 OCI Cache

    with Redis の䜿い方 Back End Users ゚ンドナヌザヌは、アプリケヌション・む ンタヌフェヌスを通じおデヌタの芁求 を開始 Application アプリケヌションは入っおくるリク゚スト を受け、ナヌザヌずバック゚ンド間の デヌタの流れを凊理 User API Service Application Virtual Machine Containers 1 高速な凊理: デヌタ・リク゚ストを高速に凊理、デヌタがむン メモリで操䜜されるため、アプリケヌションの応答性が向䞊 2 適したデヌタ: 倉曎頻床が䜎く、頻繁に芁求されるデヌタ、 たたはミッションクリティカル床が䜎く、頻繁に曎新されるデヌタ 3 デヌタ・キャッシュ: デヌタベヌスの負荷を軜枛 Redisはむンメモリの速床 を掻甚し、デヌタベヌスや 他のアプリケヌションなどの バック゚ンドの負荷を軜枛 キャッシュヒット Redisがデヌタを返す OCI Cache with Redis キャッシュミスデヌタベヌスなどを調べる Database etc.
  35. Copyright © 2023, Oracle and/or its affiliates. 44 アヌキテクチャ OCI

    Region Availability Domain 1 Fault Domain 1 Fault Domain 2 Fault Domain 3 VCN Subnet A 00.0.00.0/00 Subnet B 00.0.00.0/00 Browser Load Balancer Microservices Microservices OCI Cache with Redis OCI Cache with Redis OCI Cache with Redis OCI Cache with Redis Cluster1 Cluster2
  36. Copyright © 2023, Oracle and/or its affiliates. 45 プラむマリ・゚ンドポむント •

    クラスタのプラむマリ・ノヌドの゚ンドポむント • プラむマリ・ノヌドずしお構成されたむンスタンスが倉曎された堎合でも、垞にプラむマリずしお構成されたノヌドに接続 レプリカ・゚ンドポむント • クラスタのレプリカ・ノヌドの゚ンドポむント • この゚ンドポむントは垞にレプリカずしお構成されたノヌドに接続される • 耇数のレプリカ・ノヌドを持぀クラスタの堎合は、毎回同じレプリカではない堎合がある ノヌド・゚ンドポむント • 各ノヌド・むンスタンスぞの゚ンドポむント • プラむマリ・ノヌドずなるむンスタンスが倉曎されおいるこずがあり埗るので、この゚ンドポむントを利甚する堎合は、接続先のノヌドのタむプ (プラむマリ or レプリカ)に泚意する必芁がある • 確実にプラむマリ・ノヌドに接続したい堎合は、プラむマリ・゚ンドポむントを䜿甚 ゚ンドポむント プラむベヌト・゚ンドポむントを介しおクラスタにアクセス
  37. 46 Copyright © 2023, Oracle and/or its affiliates. Business Challenge

    SmartVisit Solutions utilizes microservices architectures and need to enhance overall performance. By strategically caching frequently accessed data from diverse sources such as Oracle, MySQL, files, and other services, their solution effectively alleviates the burden on the backend database, resulting in substantial acceleration of read operations. With Redis acting as an intermediary layer between these disparate data sources and the microservices, SmartVisit Solutions optimizes data retrieval by storing commonly accessed information in memory. This approach eliminates the need for repetitive and potentially resource-intensive queries to the primary databases or file systems, thereby enhancing the speed and responsiveness of read operations. Results By implementing OCI Cache with Redis as a caching solution, SmartVisit Solutions empowers their microservices to efficiently serve data from the in-memory store, reducing latency and improving overall system performance. This caching strategy enables their solution to seamlessly handle a high volume of read requests while ensuring minimal strain on the backend infrastructure. - Enhanced Performance - Accelerated response times for read operations, elevating the overall application performance and enriching the user experience - Alleviated Database Burden: By efficiently delivering cached data from Redis, the strain on backend databases is substantially diminished. - Enhanced User Journey - Applications enjoy minimized waiting periods, resulting in a seamlessly responsive and exceptionally smooth user experience. Products Used OCI Cache with Redis serves as a reliable and high-performance caching layer within our microservices architecture at SmartVisit Solutions. By selectively caching frequently accessed data from diverse sources, we significantly optimize read operations, resulting in enhanced system efficiency and responsiveness. SmartVisit improves overall performance with OCI Cache with Redis Joon Daroy Development Manager – IT OCI Cache with Redis
  38. Copyright © 2023, Oracle and/or its affiliates. 47 Appendix: ロヌドマップ

    Feature Description Network Security Group (NSG) 顧客がVNICのむングレスずむグレスのルヌルを蚭定できるため、サブネット・アヌキテクチャずアプリケヌション・セキュリティ芁件を分離可胜 Version 7.2 リリヌスノヌトを参照 シャヌディング デヌタベヌス・キヌのサブセットを別々のシャヌドに分散するこずで、スケヌラビリティずパフォヌマンスが向䞊 Lua scriptのサポヌト luaスクリプト蚀語のサポヌトにより、Redisが実行可胜な拡匵機胜を蚘述可胜 デヌタの氞続性 ディスク䞊にデヌタを氞続化 マむナヌバヌゞョンアップ 自動マむナヌアップグレヌド 手動メゞャヌアップグレヌドず、メゞャヌアップグレヌドの前にテストが必芁であるこずをお客様にお知らせ バックアップずパッチのための定期メンテナンス りィンドり バックアップずパッチのための顧客定矩のメンテナンスりィンドり Role-based Access Control (RBAC) ナヌザヌを䜜成し、特定のロヌルを割り圓おるこずで、ナヌザヌグルヌプによるクラスタヌアクセス制埡が可胜 自動バックアップ デヌタ玛倱を防ぐための自動バックアップ䜜成機胜 ナヌザヌが遞択したバックアップ頻床ず保持期間で自動バックアップを䜜成 ゚クスポヌトずリストア 手動バックアップ デヌタ玛倱を防ぐための手動バックアップ䜜成機胜 ゚クスポヌトずリストア カスタムコンフィグ 動的および静的コンフィグ(ノヌドのリブヌトなどの定矩) ゚クスポヌトずリストア バックアップを゚クスポヌトし、Redisのバックアップから新しいクラスタにリストア オヌトスケヌル 必芁に応じおクラスタをスケヌルアップ/ダりン クロスリヌゞョン・レプリケヌション リヌゞョンをたたいだレプリケヌション ベクタヌサヌチ ベクトル怜玢察応 サヌバレスオプション ノヌドを意識しない構成オプション
  39. Copyright © 2023, Oracle and/or its affiliates. 51 redis-cli Redis

    CLIの起動 SETコマンドでデヌタを保存 GETコマンドでデヌタを取埗 python OCI Cache with Redisのデヌタ操䜜 $ redis-cli --tls -h <プラむマリ・゚ンドポむント> $ SET bike:1 "Process 134" $ GET bike:1 "Process 134"