タグ

Redisに関するtknzkのブックマーク (61)

  • Snapchatを支える技術:768台のRedisをGoogleクラウドで構築 #gcpja - Qiita

    GoogleのSVP、Urs Hoelzleが「いま世界でもっとも人気のあるスマートフォンアプリ」と評し、Facebookによる3000億円の買収提案をスルーしたとされるSnapchat。その共同設立者でCTOのBobby Murphyが、3/25に開催されたGoogle Cloud Platform Liveに登場し、“Snapchatを支える技術”としてのGoogle Cloud Platform (GCP)の使い所や開発体制をかなり具体的に説明していたので、補足と解説を交えながらざっと意訳してみた。 SnapchatのCTO, Bobby Murphyと、GoogleのSVP, Urs Hoelzle From Google Cloud Platform Live SnapchatがGoogle App Engineを選んだ理由 "それまでいくつかの小さなプロジェクトGoogle

    Snapchatを支える技術:768台のRedisをGoogleクラウドで構築 #gcpja - Qiita
  • ムック「データベース徹底攻略」 - MySQL/Redis/MongoDB/Redshift

    最近発売された技術評論社のムック「データベース徹底攻略」に寄稿しました。 このは、データベースのためのということで、データベース設計、SQLMySQL、Redis、MongoDB、Redshiftという代表的な要素技術についてのまとめとなっています。各プロダクト(MySQL、Redis、MongoDB、Redshift)については、現場で実際に格的に使われている方々による記事なので大いに参考になると思います。 私は冒頭のまとめ記事を寄稿しました。詳細はぜひお手に取って読んでくださればと思います。ここでも自分が各技術を現時点でどのようにとらえているか、ではいささか書きづらい内容について、最近流行りの言葉でもある「技術的負債」という観点も踏まえて書いておこうと思います。 ・MySQL (RDBMS) 私はMySQLの中の人でもありましたし、これまで至るところで話してきたので省略します

  • Redis SortedSet型のZINTERSTOREの使い道とその内部実装 | VASILY DEVELOPERS BLOG

    バックエンドエンジニアの吉田です。 フォローしている人のLikeしたもの iQONにはフォローしている人の「Likeしたアイテム」や「Likeしたコーデ」などの活動が見られる画面があります。 ここでは、フォローしている人の活動が最近のものから表示しています。 今回この機能をRedisを使ったしくみに作り変えたのでその事例とRedisの内部的なお話をしたいと思います。 内容はこんな感じです。 Redis SortedSet ZINTERSTOREによる共通項の取得 フォローしている人を、Likeした順に絞り込む ZINTERSTOREのキー指定順は計算コストに影響するか Redis SortedSet Set内のValueがそのスコアを保持できるもので、保存したSetをスコアの昇順か降順で取得することができるデータ構造になっています。 何らかのランキングや時系列情報などに使われるデータ

    Redis SortedSet型のZINTERSTOREの使い道とその内部実装 | VASILY DEVELOPERS BLOG
    tknzk
    tknzk 2014/03/18
  • 人間とウェブの未来 - mrubyのHashとmruby-{Redis,Vedis,Memcached}でSET/GETの簡易ベンチマークしてみた

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 mrubyでKey-Value Storeにアクセスできるクライアントをこれまでいくつか作ってきたので、VedisやHashの性能が見たいというのと、その他ちょっとした興味でそれぞれのKVSのSET/GETを投げてみて速度の比較をしてみました。 といっても、それぞれの良さを考慮したベンチマークではなくソフトの良し悪しを測るものではないので、この条件だとこういう結果になるという参考程度に見て頂ければと思います。 比較対象は、mrubyのHash、Redis、Vedis(In-Memory)、Vedis(On-Disk)、Memcachedです。それぞれ、Fedora19のyumでインストールした後にserviceコマンドで起動させただけの状態で

    人間とウェブの未来 - mrubyのHashとmruby-{Redis,Vedis,Memcached}でSET/GETの簡易ベンチマークしてみた
  • Redis(2.8系)の基本オペレーションとかSentinelの挙動とかの色々メモ - 元RX-7乗りの適当な日々

    最近必要に迫られて、ようやくRedisをインストールして触ってみました。(Redis童貞からの脱却) 色々と、基部分ではあるけど、せっかく実際に触りながら勉強したので、このエントリにメモしておこうと思います。 尚、使ってみたRedisのバージョンは、stableの最新版である2.8.7です。(OSは、LinuxのCentOS 6.5) ちなみに、このエントリに書いていないような、Redisの基的なアレコレについては、WEB+DB Press Vol.73のRedis特集(2.6向けではありますが)にほとんど書いてあるので読むべし。 WEB+DB PRESS Vol.73 作者: 設樂洋爾,白土慧,はまちや2,大和田純,松田明,後藤大輔,ひろせまさあき,小林篤,近藤宇智朗,まかまか般若波羅蜜,Mr. O,川添貴生,重国和宏,柳澤建太郎,奥野幹也,佐藤鉄平,後藤秀宣,mala,中島聡,堤智

    Redis(2.8系)の基本オペレーションとかSentinelの挙動とかの色々メモ - 元RX-7乗りの適当な日々
    tknzk
    tknzk 2014/03/12
  • Redisととあるシステム

    7. データの永続化 • 定期的にメモリ上のデータセットのスナップショッ トをファイル(.rdb)にダンプ • 再起動時にはこのスナップショットの内容をメモ リに読み込むことにより,前回ダンプした状態ま でデータセットを復元 • ただし、最後にダンプしてからクラッシュするまで の更新内容は消えてしまう(><) ↓ 追記専用ファイルモードで損失を抑えることができる 8. 追記専用ファイルモード • すべての更新コマンドをファイル(Append Only File)に随時追記 • 再起動時にこれらのコマンドを再実行することにより,データを復元! Append Only File(AOF) $ ls -l -rw-r--r-- 1 cy_redis cy_redis 732 3月 29 14:10 appendonly.aof ただし、AOFの更新コマンドログが増加していくとパフォーマンスが落ち

    Redisととあるシステム
    tknzk
    tknzk 2014/03/12
  • Redis の永続化について調べた - akishin999の日記

    Redis でのデータの永続化方法について調べたので、忘れないうちにまとめておきます。 調べた時の Redis のバージョンは 2.6.13 です。 スナップショット(RDB) Redis のデフォルトの永続化の仕組み この設定が有効な場合、Redis は定期的にデータベースの内容をディスクに出力する Redis を再起動するとこのファイルからデータが読み込まれ復元される 一定回数の更新 + 一定間隔でディスクにファイル出力 ファイル出力タイミングは設定ファイル、CONFIG コマンドで変更可能 無効にもできる 出力は非同期で行われるため、プロセスがクラッシュした場合には前回のスナップショット以降のデータが失われる可能性あり 多少のデータロスを許容できるようなデータならスナップショットのみでもイケそう 手動で実行するには SAVE コマンドまたは BGSAVE コマンドを実行 SAVE は

    Redis の永続化について調べた - akishin999の日記
    tknzk
    tknzk 2014/03/07
  • Redis Sentinelを運用してみたお話 | GMOメディア エンジニアブログ

    こんにちは、宇津井です。 弊社ではゲソてんというゲームプラットフォームを運営しております。ゲソてんではサービスリリース当初から主にキャッシュ的な役割でRedisを導入していました。つい先日の事ですが訳あってRedis 2.6からサポートされたRedis Sentinelを採用しました。今回は、採用に至った経緯をご紹介します。 簡単なシステム構成 パフォーマンスは良いし、Memcachedには無い便利な機能を提供するRedisですが約一年間運用していくつかの問題が出てきました。 Redisサーバーが突然高負荷に陥るするとWebサーバーも高負荷に陥るRedisのReplicationは張ってるけどアプリケーション側でRedis Slaveへフェイルオーバーしない(MySQLを直接参照する)Redis落ちると恐らくMySQLサーバーが耐えられない(落ちた事無いけど)という事で対策を行ってきました

  • Redisのクエリーアナライザー "redis-traffic-stats" を書きました - (ひ)メモ

    redis-traffic-stats という Redis のクエリーアナライザーを作りました。 https://github.com/hirose31/redis-traffic-stats redis-traffic-statsはtcpdump -wで書き出したpcapデータを解析して、以下のような統計を表示します。 総ネットワークトラフィック量と平均byte/sec 総リクエスト数と平均とピークのreq/sec コマンド毎のリクエスト数、総リクエスト数に占める割合、req/secを、リクエスト数が多い順に上位10コマンドを表示 コマンド毎の総転送バイト数、byte/secを、総転送バイト数が多い順に上位10コマンドを表示 コマンド別に、キー毎の総転送バイト数、byte/sec、リクエスト数、リクエスト数の割合、req/secを、総転送バイト数が多い順に上位10キーを表示 時間のかかっ

    Redisのクエリーアナライザー "redis-traffic-stats" を書きました - (ひ)メモ
  • Redisを使って排他制御するwrapperコマンド Redis-Setlock をPerlとGoで書いた - 酒日記 はてな支店

    しばらく前に作って書きそびれていましたが、Yokohama.pm #10 でLTしたのでエントリもあげます。 Perl版 https://metacpan.org/release/Redis-Setlock Go版 http://fujiwara.github.io/go-redis-setlock/ LTのスライドはこちら ⇒ Redis-Setlockを書いたはなし なにをするもの? 「setlockコマンドのロック処理をRedisサーバで行うもの」です。 setlockはflockを使ってロックを獲得したら引数に渡されたコマンドをexecする、daemontools付属のwrapperコマンドで、cronでコマンド実行するときなど多重実行を制御する場合に重宝します。 flockだとホストをまたいだロック処理が行えないため、その部分をRedisを使った排他制御に置き換えたものを書いてみ

    Redisを使って排他制御するwrapperコマンド Redis-Setlock をPerlとGoで書いた - 酒日記 はてな支店
    tknzk
    tknzk 2014/02/24
  • Pairy : チャットデータを Redis から Amazon DynamoDB に全移行した話(2) 〜DynamoDB導入事例〜 - Tech Blog

    CTOの椎名アマド ( @ima_amataro) です。 前回の記事:「Pairy : チャットデータを Redis から Amazon DynamoDB に全移行した話(1)」 前回はRedisをチャットのプライマリのストレージとして使う上での問題点と、 Amazon DynamoDB の特徴などを紹介しました。 今回はDynamoDBの詳細説明と、実際の移行作業と、その際にハマった点をお話していきます。 DynamoDBのテーブル構成 まずは DynamoDB 上のテーブル構成を考えるところから。 Redisにおいてはシンプルな list にチャットを保存していて、 chat.room.{room_id} {timestamp}:{user_id}:{urlencode(message)} {timestamp}:{user_id}:{urlencode(message)} {tim

    Pairy : チャットデータを Redis から Amazon DynamoDB に全移行した話(2) 〜DynamoDB導入事例〜 - Tech Blog
  • Redisへと至る、gumiデータストアの歴史

    4. 自己紹介 • 間 知教(ほんま とものり) • TwitterID @CkReal • Systems Operations Engineer (しすおぺ) • 入社歴約2年 • 国内アプリのサーバ運用 • アプリのイベントとかは作ってないです • 好きなAWSサービス:Amazon S3

    Redisへと至る、gumiデータストアの歴史
  • 『redisをsentinelとAliasIPを利用して冗長化』

    どうも初めまして2012年度入社の社内ニート予備軍editnukiです。 普段は引きこもって WebSocketで監視もリアルタイムに を書いた社内ニートさんの下でコミュニティサービスのインフラをやっております。 運用面以外ではrpmパッケージ作ったりしています。 さて、題ですがコミュニティサービスでもredisを利用したいという声が最近多くなりいくつかのサービスではredisを導入しているのですがマスターとなるredisが死ぬと更新系が一切できなくなるため、マスターが死んだ時はアプリの向き先をスレーブに変更しなければなりません。 今までのredisの構成としては下図の様な構成でした。 redisの2.6系がリリースされた時に「sentinel」というフェイルオーバーの機能が追加されました。 詳細は公式ドキュメントをご参照ください。 フェイルオーバーしたとしてもアプリ側にマスターが切り替

    『redisをsentinelとAliasIPを利用して冗長化』
  • Redis勉強会資料(2015/06 update)

    Redis勉強会の資料です。2013年に初版をアップしました。2015年6月にRedis-Clusterの内容を追記して再アップを行っています。Read less

    Redis勉強会資料(2015/06 update)
    tknzk
    tknzk 2013/10/15
  • FluentdとRedisを使ったランキング機能の実装 | SmartNews開発者ブログ

    ゴクロの大平です。ごくろうさまです。 Redisは高速で、かつデータの永続化や、複数のデータ型によるストア(list,set,sorted set等)も対応しており、機能的が豊富ということから愛用者の多いKVS実装の一つだと思います。 特に私のようなアプリケーションエンジニアの人間にとってはデータ型のバリエーションの豊富さが便利さを感じる部分で、たとえばlistを用いてタイムライン的な情報や履歴情報の管理、sorted setを用いてランキング情報の管理、などのようにアプリケーションの需要の多くにRedisが対応することができます。 これらの情報を登録する際のフローとしては自作のアプリケーションから直接、というケースが多いと思いますが、せっかくFluentdのような便利なlog collector実装があるので、FluentdとRedisを組み合わせる事でカジュアルに情報の蓄積を行いたい

  • Vedis - An Embeddable Datastore Engine

    Vedis is an embeddable datastore C library built with over 70 commands similar in concept to Redis but without the networking layer since Vedis run in the same process of the host application. Unlike most other datastores (i.e. memcache, Redis), Vedis does not have a separate server process. Vedis reads and writes directly to ordinary disk files. A complete database with multiple collections, is c

    Vedis - An Embeddable Datastore Engine
  • conma.me

    This domain may be for sale!

  • AWS News Blog

    Amazon SageMaker Geospatial Capabilities Now Generally Available with Security Updates and More Use Case Samples At AWS re:Invent 2022, we previewed Amazon SageMaker geospatial capabilities, allowing data scientists and machine learning (ML) engineers to build, train, and deploy ML models using geospatial data. Geospatial ML with Amazon SageMaker supports access to readily available geospatial dat

  • Redisを使う時は見積の二倍の容量必要だよね、という話 - Qiita

    [15487] 04 Aug 21:02:37.523 * 1 changes in 900 seconds. Saving... [15487] 04 Aug 21:02:37.523 # Can't save in background: fork: Cannot allocate memory redis-cli infoしても、使用してるメモリは全体の半分ちょっとだったし、空きは十分にある… 答えは Redis Administration http://redis.io/topics/admin に書いてありました。 原因と解決策 redisのバックアップが走る際、おそらく現状使用している量と同じだけのallocateを要求しているために、redis自体はメモリ使用が50%強だとしても、バックアッププロセスが落ちてしまう模様。 解決は簡単で、Redis Administratio

    Redisを使う時は見積の二倍の容量必要だよね、という話 - Qiita
    tknzk
    tknzk 2013/08/08
  • Redis Sentinel で冗長構成を組む際の注意点 : DSAS開発者の部屋

    KVS界隈ではすっかりおなじみ(?)のRedisですが、当社でも徐々にそのニーズが高まってきました。 標準機能として、レプリケーション、Pub/Sub、ソート等の便利機能が満載のRedisですが、サービスに投入する際に冗長構成をどう組むかといった点が気になっている方もいるのではないでしょうか。 まだまだ検証中ではあるのですが、Redisに実装されているRedisSentinelを用いて冗長構成を組んだ際にハマった所をご紹介したいと思います。 RedisSentinelとは Redisに標準実装されている機能の一つで、Redisのステータス監視、通知、自動フェイルオーバーが行なえます。 詳細な仕様、設定に関しては以下のドキュメントをご確認下さい。 http://redis.io/topics/sentinel RedisSentinel導入前の構成 特に何の変哲も無い構成です。 Redisサ

    Redis Sentinel で冗長構成を組む際の注意点 : DSAS開発者の部屋