高いリアルタイム性を保つため、デバイスにつき、 3秒に1回 の頻度でデータを貯めています。 1つ1つのデータは小さいのですが、何年間分のデータを残すとなると、積もり積もって相当なデータ量になっていきます。 センサデータを保存するためのテーブルは1つ( 単一テーブル )で、いわゆる分割はしていません。 ちなみに最初期は、「DynamoDBで時系列データベースを構築するベストプラクティス」の中で紹介されているように、データの期間によってテーブルを分けていました。ただし、紆余曲折があって単一テーブルに戻しました。詳細は本筋から外れるので、もし興味があれば下記の(補足)をご覧ください。 (補足)ベストプラクティスをやめて単一テーブルにした理由 以下の3つの理由によるものです。 1. テーブルが分かれることで、データアクセスが複雑になる テーブルをどう分けるか次第でもありますが、DynamoDBで書
Redisよ安らかに眠れ: Garantia Dataが引き起こしたオープンソースの歴史上最大の強盗とは オープンソースRedisの歴史について、事実をはっきりさせましょう。 TL;DR 2024年3月20日Redis社は、これまでオープンソースとして開発してきたRedis 7.4ソースコードのライセンスを、Redis Source Available License (RSALv2)とServer Side Public License (SSPLv1)のデュアルライセンスに変更すると発表しました。この変更によりRedis社の許可なくRedisを用いたマネージドサービスなどを提供することができなくなります。 2009年1人の情熱的なエンジニアAntirezが作り出したRedisですが、2013年のGarantia Data社の介入により様々なドラマが勃発し2020年にAntirezはIP
2017年10月末のアップデートにより、Amazon ElastiCache for Redis が通信の暗号化とクライアント認証に対応しました。 通信の暗号化(encryption in-transit)を使うと アプリとRedis間の通信(encrypted connections) プライマリ↔レプリカなどのRedis間の通信(encrypted replication) が暗号化されます。 また、Redis の AUTH コマンドによるクライアント認証にも対応したため、認証レベルを強化できます。 これらの機能追加により、個人を特定できる情報(PII)など機密度の高い情報を扱うシステムでAmazon ElastiCache for Redisを導入しやすくなりました。 それでは、実際に使ってみましょう。 なお、同時に機能追加された、保管時の暗号化は次のブログをご確認下さい。 Amaz
TL;DR Redis Clusterで運用は本当に楽になった でも、Redis 4.0は不安 Redis Clusterで一番怖いのはDisk IO 特にフェイルオーバーなどのFull Resync時 Redisとは? 高速なインメモリ型のKVS シングルスレッド 豊富なデータ構造(次ページにて詳細) 豊富な操作(次々ページにて詳細) 豊富なデータ構造 key-value型 hash型(key-field-value) set型(集合演算ができる) sorted set型(スコア付きset) 任意の型(redis modules機能) 豊富な操作 インクリメントや和集合などなど lua scriptも実行できちゃう シングルスレッドだからatomicな処理になる Redisの問題点 writeがスケールしない 気軽に停止できない サーバー再起動やバージョンアップなど Redis Clus
master slave 構成を取っている Redis で、master が落ちた場合に slave を昇格させてフェイルオーバーしたいという要件がありまして、Keepalived と組み合わせて構成してみました。Redis の運用経験がないのでご意見などいただければありがたいです。 ScientificLinux 6.2 keepalived-1.2.2-3 redis-2.4.10 前提 Redis のレプリケーションではマルチマスター構成を取ることができない Redis の slave は起動時に master に接続し、全データを取得してコピーを取る その後は順次 master で更新されたデータをコピーする redis-cli で slaveof コマンドを実行することで、動的に master, slave を切り替えることが可能 このような作りになっているため、2ホスト間で
WEB+DBのRedis特集をひろせまさあきさんと共同で執筆しました。 WEB+DB PRESS Vol.73posted with amazlet at 13.03.05設樂 洋爾 白土 慧 奥野 幹也 佐藤 鉄平 後藤 秀宣 mala 中島 聡 堤 智代 森田 創 A-Listers はまちや2 大和田 純 松田 明 後藤 大輔 ひろせ まさあき 小林 篤 近藤 宇智朗 まかまか般若波羅蜜 Mr. O技術評論社 売り上げランキング: 335Amazon.co.jpで詳細を見る 買ってください。 このRedis特集の第五章では、Redisを使ったリアルタイムランキングについて取り上げたのですが、 記事中にある同点問題について、執筆時から状況が変わりましたのでupdateします。 記事中では、RedisのSortedSetsはスキップリストというアルゴリズムを使っている特性上、 同じス
こんにちは。hatak (@hisashi) です。Perl でジョブキューというと TheSchwartz や Qudo などの名前が挙がるかと思いますが、今回はバックエンドに Redis を利用したジョブキュー "Resque" を紹介します。 Resque はバックグラウンドジョブを処理するためのライブラリで、Github を始め大規模なサイトでも利用されています。もともとはRubyライブラリですが、Ruby 以外の様々な言語でも実装されています。今回紹介するのはそのPerl 実装のモジュールです。 試してみる クライアントで入力した文字列をワーカーが表示するだけのシンプルなプログラムを作ってみます。 まずは Redis を利用できるようにしておく必要があります。今回はローカルの Redis を利用しますが、異なるホストで動作している場合は適宜ホスト名やポート番号を変更してくだ
昨日のKyoto.js #2 で、trayというお手軽な画像アップローダについて発表してきました。ドラッグアンドドロップで画像がアップロードされます。画像は12枚のパネル上に表示され、誰かがアップロードするとリアルタイムで画面が切り替わったりします。 http://tray.douzemille.net:8080 http://imagetray.herokuapp.com/ でお試しできますので、お手元の適当な画像をドラッグアンドドロップして遊んでみてください! 何アップロードされているかはよくわからないので、ご注意ください。たまに勝手に適当な写真に切り替わるようにしてあります。*1 ドラッグアンドドロップでのアップロードが手軽で便利なだけではなく、12枚のパネルにきれいな画像をはめこむおもしろさもあります。 割と簡単に設置できておもしろいのでぜひおためしください。GIFアニメを投稿しま
* wiki(TechNote)のページ追加 このエントリーの内容を整理してwikiにもRedis関連のページを追加しました。 Redis –TechNote Redis is an open source, advanced key-value store.It is often referred to as a data structure server since keys can contain strings, hashes, lists, sets and sorted sets. インメモリKVSのRedisを少し触ってみました。 さくらVPS(CentOS 5.6)にインストールしようと思ったのですが、yumのレポジトリだと今は古いバージョンしか入れられないようなのでソースからビルドしました。手順は公式の通りに。(参照: Download – Redis) また、/
Kyoto Tycoonに自動スナップショット機能が実装され、オンメモリDBでも永続化できるによになり、高速性と永続性を両立できるようになったよという話 自動スナップショットとは 「永続化したキャッシュサーバ」としてのコンセプトを掲げるKyoto Tycoonだが、それはメモリ上でなくファイル上でデータベースを表現するからである。今回の自動スナップショットによる永続化は、それとは異なる。オンメモリDBの中にあるレコードを定期的にファイルに書き出すことで永続化するのだ。 ファイルDBの場合、データベース内のレコードは常にファイルに書かれている。よって、サーバプロセスを再起動してもレコードは消えない。その代償として、ファイル上で更新された領域をディスクに書き込むためのIO処理にかかるオーバーヘッドが無視できない。ファイルシステムのページキャッシュによって緩和されるとはいえ、IO処理がランダムア
前回までに、Redisの概要と、コマンドラインクライアントによる基本的なコマンド操作を見てきました。今回からは、Redisのデータ型を使ったアプリケーション開発について、簡単なサンプルコードと、ニコニコ生放送での事例を交えて紹介していきます。 クライアントライブラリを用いた開発 WebアプリケーションからRedisにアクセスするには、言語ごとのクライアントライブラリを導入することになります。公式サイトにライブラリがリストアップされていますので、各々の環境に合ったものを探してください。 ニコニコ生放送では、PHPによる開発の場合にはphpredisを、Javaで実装している検索サーバーなどではJedisやJRedisを使っています。 今回から掲載するサンプルコードでもこれらのライブラリを使っていきますので、他のライブラリを導入される方はそれぞれ対応するAPIに置き換えてご覧ください。 LIS
今回は実際にRedisをインストールしてみるところから、コマンドラインクライアントを使った基本的な操作方法、そして実際のアプリケーション開発時に重宝するDB選択やタイムアウトなどのRedis特有の仕様について説明します。 インストール ダウンロード本連載執筆時点の最新stableである、2.0.4をダウンロードします。 $ wget http://redis.googlecode.com/files/redis-2.0.4.tar.gz コンパイル RedisはANSI Cで書かれ、外部の依存ライブラリの必要ないシンプルな実装になっているため、コンパイルは以下のステップで完了します。 $ tar xzf redis-2.0.4.tar.gz $ cd redis-2.0.4 $ make 「redis-server」や「redis-cli」が生成されたのを確認してください。 設定の変更
はじめに こんにちは、Python界のはみだし刑事純情派です。さて、最近 id:a2c と @shibukawa ととりかかっていたRedisドキュメントの翻訳プロジェクトですが、自分が担当していたコマンドリファレンスがようやく翻訳完了したのでここにお知らせします。 翻訳したもの とりあえず自分が翻訳したのはコマンドリファレンスとデータ型について コマンドリファレンス — redis 2.0.3 documentation データ型 — redis 2.0.3 documentation そもそもRedisってなんですか? 「翻訳したのはわかったけど、とりあえずRedisって何よ?」って方には下記をご参照あれ。 id:Voluntas お疲れ様です。 redis 使ってますか? -Twisted Mind すげーざっくり言えばKVSだけどもmemcachedよりは機能がたくさんあるんじゃ
2010/09/07 KVS(キー・バリュー・ストア)に分類されるオープンソースのRedisの新バージョン、「Redis 2.0.0」が2010年9月5日にリリースされた。Redisはmemcachedと同様にキーと値のペアをメモリ上に保持するKVSの一種だが、3つの際立った特徴がある。1つはハッシュ以外のデータ構造もサポートしていることで、リスト型、集合型、順序付き集合型などのデータ構造が扱え、サーバ側でコレクションに対するpush/pop、コレクション同士のunion/intersection、数値のincr、decrなどの操作がアトミックに行える。バージョン2.0では複数の操作を1つにまとめてアトミックに操作するコマンドも増えている。 もう1つのRedisの特徴は、マスター・スレーブによるレプリケーション設定ができ、リード側のスケールアウトが容易にできること。 そして3つ目の特徴は、
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く