Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Double 11を支えるApsaraDB for Redis (AliEaters #8)

221 views

Published on

Alibaba Cloudで提供しているマネージドのRedisの概要や特徴とTaobao内での利用について少しだけ触れます。元ネタはAlibaba Cloudの国際チームが投稿しているブログです。

Published in: Technology
  • Be the first to comment

Double 11を支えるApsaraDB for Redis (AliEaters #8)

  1. 1. 1 @mosuke5 AliEaters #8 2018/11/14 Double 11を支える ApsaraDB for Redis
  2. 2. はじめに 本内容はブログ How ApsaraDB for Redis Supports for the November 11 shopping spree の内容を日本語化してまとめたものです。プロダクトの説明について は独自の説明を補足しています。 また、著者に日本語化することを承諾得ているものとなります。 2
  3. 3. 3 Who are you? 名前:森 真也 (@mosuke5) 仕事:  Alibaba Cloud Solutin Architect  以前はWebアプリケーション開発や  インフラ作業の自動化の開発など その他:  待ち遠しいものがね。。
  4. 4. 今年もDouble 11で自己最高記録 4 出典: https://japan.cnet.com/article/35128480/ 開始2分で100億元 (1600億円)突破。 最終結果、約3.5兆円 達成。
  5. 5. Double 11を支える技術シリーズ ● How ApsaraDB for Redis Supports for the November 11 shopping spree ● Behind Alibaba's Double 11 Mysterious "Dragonfly" Technology ®C PB-Grade Large-File Distribution System ● Double Eleven Technology Series: Replacing Word Segmentation with Regular Expression and Similarity ● DoubleEleven Technology Series: Logistics and Dynamic Path Planning ● DoubleEleven Technology Series: Flash Sales Optimization on PostgreSQL 5
  6. 6. How ApsaraDB for Redis Supports for the November 11 shopping spree 6
  7. 7. ApsaraDB for Redisについて 7
  8. 8. ApsaraDB for Redisの提供している種類 8 ApsaraDB for RedisはAlibaba Cloudが提供しているマネージドRedisのサービスで す。下記の通り5種類のインスタンスタイプを提供しています。 スタンダード型、クラスター型、R/W分離型の違いは次のスライド以降で説明。 シングルコピーとデュアルコピーの違いは、データ保存領域(Partition Cluster)が冗長 構成になっているかどうかの違い。 1. スタンダード型(シングルコピー) 2. スタンダード型(デュアルコピー) 3. クラスター型(シングルコピー) 4. クラスター型(デュアルコピー) 5. R/W分離型
  9. 9. ApsaraCacheというオープンソース 9 https://github.com/alibaba/ApsaraCache ● Redis 4.0ベース ● ApsaraDB for Redisのベース ● 独自のパフォーマンスチューニング(30%の性能向上) ● Memcacheプロトコルのサポート(!???) ○ ApsaraDB for RedisはMemcacheのプロトコルをサポートしていません
  10. 10. スタンダード型 <概要> スタンダード型はいわゆるマスタースレーブ構成で 提供。マスターかスレーブのどちらかを利用するた め、購入できるメモリ容量やパフォーマンスの点で 上限値が小さい。 <ユースケース> 少量のデータ領域を利用したい。 クエリー発行量が少ない。 安価にマネージドRedisを使いたい。 10 出典: https://help.aliyun.com/document_detail/52226.html
  11. 11. クラスター型 <概要> クラスター型は、プロキシサーバ、パーティ ションサーバ、コンフィグサーバの3つで構成 された分散構成。 パーティションサーバの数に比例して、メモリ 容量やQuery per seconds(QPS)が増加す る。 <ユースケース> 大容量のRedisクラスターを利用したい。 クエリー発行量の多いシステムで利用した い。 11 出典: https://help.aliyun.com/document_detail/52228.html
  12. 12. 12 256GBのRedisインスタンスは16台のパーティ ションサーバで構成されている。
  13. 13. 13 例) パーティションサーバの数 に比例して増える。 80,000 * 16 = 1,280,000 ※1台で80,000QPSの性能
  14. 14. R/W分離型 <概要> Read用とWrite用の2つのタイプのパーティ ションサーバが用意されている。プロキシ サーバ層で、R/Wを判断して振り分けてく れる。 ※現在中国サイトのみで提供 <ユースケース> WriteよりReadのQueryが多い場合に向い ている。 14 出典: https://help.aliyun.com/document_detail/62870.html LoadBalancer
  15. 15. Taobaoの中で利用されている例 15
  16. 16. 1. ソーシャル情報のストレージとして Taobaoの中には買い手と売り手のソーシャルネットワークがあ ります。Twitterなどのタイムライン生成でもRedisが使われてい ることが有名ですね。 1. AさんとBさんはフォロー関係にあるか 2. Aさんがフォローしている商品タイムライン 16
  17. 17. Taobao内のソーシャルネットワークの簡略図 17
  18. 18. RDBでやるとどうなるか 18 id product seller_id 1 product_1 2 2 product_2 4 3 product_3 4 4 product_4 3 5 product_5 3 6 product_6 2 7 product_7 3 id following followed 1 1 2 2 1 4 id user_name 1 mori 2 tanaka 3 nakai 4 murata 規模が大きくなると パフォーマンス面で問題が発生してくる。 id 1のmoriがフォローしてい る人のプロダクトタイムライ ンを作ると仮定
  19. 19. Redisでタイムラインを作る 19 user:1:product_timeline (sorted sort) 1542173893 123456789(product_id) 1542173894 234567890(product_id) 1542173895 345678901(product_id) product 123456789 name description price … 234567890 name description price … 345678901 name description price ... unixtimeとproduct_idで timelineを管理。
  20. 20. 2. Tmall内のライブストリーミングのコメント表示 Tmallでは、売り手が商品の宣伝をするためにライブストリーミン グで製品紹介をしたりする機能があるらしいです。そのコメント欄 は50,000TPSにもおよぶとのことで、その処理にApsaraDB for Redisが活用されている。 ● ページスクロールダウンした時のコメント取得 ● ページスクロールアップした時のコメント取得 ● リフレッシュした時のコメント取得 20
  21. 21. まとめ 1. Alibaba CloudのApsaraDB for Redisはアリババが独自で改善を行ったオープン ソースベースで開発。 2. ApsaraDB for Redisでは様々なタイプのインスタンスを用意。自前でクラスターを 組むことなく簡単に利用できるメリットがある。 3. 紹介されていた利用方法は標準的なものであったが、アリババも自社のサービス を支えるためにユースケースがうかがえた。 4. (おまけ) 最近Alibaba Cloudの国際チームは英語ベースで技術情報を頻繁に投 稿するようになっている。非常に嬉しいこと。 21

×