You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
さて、今回は比較的新しいデータストアであるLevelDBについてまとめてみました。 LevelDBは1年ほど前からNode.js界隈ではブームが来ていて、理由がよくわかっていなかったんですが、まとめている内に分かるかなと思ってまとめました。今回はNode.js無関係でLevelDBの基礎的なことだけ調査した結果をまとめてみました。 Node.jsで使ってみる話は後に回します。 LevelDBとは? key-value型のデータストアの一つです。 Googleの研究者である、Jeff DeanとSanjey Ghemawatが開発し、2011年に公表されました。C++で書かれており、多くのプログラミング言語でbindingsが書かれています。もちろん、JavaScript/Node.jsでも書かれています。 LevelDB は Google のBigTableをベースにしたアーキテクチャを持
InfluxDBとは http://influxdb.org メトリクスやイベントといった時系列データを格納するのに適したデータストアです。 ちなみに go で書かれています。 ちなみに 2013のOpen Source Rookiesに選ばれました。 InfluxDBの特徴 RRDやMySQLに時系列データを格納する場合と比較して、InfluxDBの特徴を紹介します。 バックエンドは LevelDB LevelDBとは、キーでソートされた状態で可能されたKVSです(Google製)。詳しくはこのへん参照のこと。 http://en.wikipedia.org/wiki/LevelDB https://code.google.com/p/leveldb/ https://speakerdeck.com/smly/influxdb-and-leveldb-inside-out 将来的にLev
Key-Value Store 勉強会を開催しました。 2009-02-26 (Thu) 3:08 勉強会 もう先週の金曜日になりますが、Key-Value Store勉強会というのを開きました。 既に素晴らしいまとめエントリが有りますので、詳細はこちらをご覧下さい。 Key-Value Store勉強会に行ってきました by katsumaさん Key-Value Store勉強会 by shudoさん はてなブックマーク「kvs」タグ UStream録画動画 by ichiiさん 日経BP社 中田さまには、草の根的勉強会にも関わらず、記事にして頂きました。有難うございます。 「キー・バリュー型データストア」開発者が大集合した夜 また、講師の方々に発表資料等をアップロードして頂いております。 末永さん: 全文検索エンジンgroongaをテストリリースしました 山田さん: About L
@ymmt2005 こと山本泰宇です。 今回は memcached 互換で冗長構成を簡単に組める自社製 KVS である yrmcds のリリースをご案内します。 ... この Redis 全盛なご時世になんで?とか、repcached や Kyoto Tycoon があるじゃない、といったツッコミの嵐が聞えてきそうです。わかってます、わかってますから物を投げないで! 順を追って説明しますので、批判はそれからにしてください! 何が欲しいのか 私は日頃 cybozu.com のインフラで動作するソフトウェアを開発しています。リリース後もうすぐ2年になりますが、お蔭様で 4,000 社以上にご利用いただくまでになりました。商売繁盛で嬉しいのですが、運用側は日々増えるデータとアクセスを捌くべく奮闘しています。 ここのところ問題になっていたのが、MySQL に保存しているセッション情報でした。アプリ
ハードウェア層 OS層 クラスタの留意点 負荷分散 ベンチマーク BitcaskとLevelDB コンフィグファイル スケールアウトとスケールアップの手順 運用上の注意点 64ビットCPUアーキテクチャ 最低4GBのメモリ。メモリは最も重要。局所性を活かせるのであれば多くメモリを必要としない。 RAID0、SSDを考慮すると良い。IOバウンドになりがちなので。 ミラーリング(RAID1)は考えなくて良い。 RAID(RAID1?)はやめちゃいな(クラスタ組んでるしいいんじゃない?的な?)。 ディスクサイズ重要。 ギガビットイーサも考慮にいれて。ネットワークも使うよ。 仮想マシンを使う場合は一番良いインスタンスを使う。同じデータセンタ/リージョンに配置するようにする。 クラスタ全体で必要なディスクサイズは次のように計算できる。 オブジェクト数 * 平均オブジェクトサイズ * n_val 50
まず、両者はかなり性質の異なるプロダクトなので、以下の比較は筋違い。 筋違いであることを前提に、ストリームデータ処理プラットフォームとしての両者を比べてみる。 基本情報 fluentd http://fluentd.org/ 今をときめくログコレクター/イベントアグリゲーター。Rubyで実装されているが軽量高速。 RPC基盤ではなく、その下のレイヤーに位置するプロダクト。 Storm http://storm-project.net/ 分散RPC基盤。ストリームデータ版MapReduce風フレームワーク。Java+Clojureで実装されている。 概要については、下記のスライドがとてもわかりやすかった。 Twitterのリアルタイム分散処理システム「Storm」入門 ストリームデータ処理で何をするのかについて ストリームデータ処理のニーズについて、自分が理解している範囲での簡単な説明。 典
Edis is a protocol-compatable Server replacement for Redis, written in Erlang. Edis's goal is to be a drop-in replacement for Redis when persistence is more important than holding the dataset in-memory. Edis (currently) uses Google's leveldb as a backend. Future plans call for a multi-master clustering model. Near term goals are to act as a read-slave for existing Redis servers. Learn more → Is Ed
このドメインは お名前.com から取得されました。 お名前.com は GMOインターネットグループ(株) が運営する国内シェアNo.1のドメイン登録サービスです。 ※表示価格は、全て税込です。 ※サービス品質維持のため、一時的に対象となる料金へ一定割合の「サービス維持調整費」を加算させていただきます。 ※1 「国内シェア」は、ICANN(インターネットのドメイン名などの資源を管理する非営利団体)の公表数値をもとに集計。gTLDが集計の対象。 日本のドメイン登録業者(レジストラ)(「ICANNがレジストラとして認定した企業」一覧(InterNIC提供)内に「Japan」の記載があるもの)を対象。 レジストラ「GMO Internet Group, Inc. d/b/a Onamae.com」のシェア値を集計。 2023年5月時点の調査。
分散KVS kumofs のコードは、全体で約2万行です*1。 そのうち、ネットワークI/Oやプロトコルに関するコードは約1万行*2で、全体の約半分を占めています。 ロジックは残りの半分*3だけで実装されています。 この実例から分かりますが、kumofsのような分散アプリケーションを開発するにはI/O周りの実装が大変で、とてつもなく大きな障壁になっています。*4 さらに今日では、性能を稼ぐためにマルチスレッド化が必須です。また、多数のクライアントを少ないリソースで効率よく相手にするには、非同期・イベント駆動型のアーキテクチャも必要になります。さらに、究極的な性能を達成すべく GC を利用しない C++ においては、実装のみならず設計も大変です。 これに加えてソケットAPIの難解な挙動に対処にしなければならないため、C言語やC++によるネットワークプログラミングは、vimの使いこなしなどと同
RiakはErlang製の分散型KVS。http://www.basho.com/Riak.html「またKVSですか」という見方もあるかと思うが、RiakはRiakなりの良さがある。まずインストールが簡単。以下のページからRPMをダウンロードしてインストールすればOK。http://downloads.basho.com/riak/CURRENT/Erlangを使っているKVSだと他にmembaseやHibari等があるが、これらが「どうしてパッケージ構成がこんなに複雑なんだろう」と首を傾げてしまうのに対して、Riakはかなり親切。RPMもRHELの流儀にのっとっており、好感度が高い。もう一つの特徴として、ストレージ層やトランスポート層がpluggableであるという点がある。Riakに興味をもったきっかけは、innostoreというEmbedded InnoDBを使ったストレージプラグ
最近 Test::RedisServer とかもろもろつくっててばれてるかもしれませんが、だいぶ Redis 期にありまして、最近の趣味は?っていう問いにはだいたいRedisのソースを読むことですってなくらいなのですが、 memcached とかシンプルな KVS と比べるとだいぶ機能が豊富なので使い方を迷ったりとかそういう事例もあり、周りにもう少し使える人を増やさなければ僕の書いたコードが属人化しててつらい感じになるなーっていうわけで、 布教活動をおこなっておりまして、その一環として ISUCON2 に参加してきましたのでその報告です。 livedoor Techブログ : #isucon2 リアルタイムフォトレポート 更新終了 前回の優勝チームに混ぜてもらった感じでだいぶついてる感じもしますが、見事連覇を果たせ、懇親会でも redis redis と連呼してきたのでだいぶ興味持った方も
序 章 ビッグデータの時代 第1章 NOSQLとは何か? 第2章 NOSQLのデータモデル 第3章 アーキテクチャの基本概念と技術 第4章 HadoopはNOSQL? 第5章 主なNOSQLデータベース製品 第6章 NOSQLデータベースの選択基準 第7章 NOSQLを使うビジネス 本連載は書籍『NOSQLの基礎知識』(リックテレコム刊、ISBN:978-4897978871)で解説されている内容から一部を抜粋し、本連載向けに一部再編集して掲載したものです。 書籍では、一般にNoSQLと呼ばれている各種データベース技術について、基本概念から主要なプロダクトの特性、ベンチマーク結果までを紹介しています。データモデルやアーキテクチャの違いといった基本概念から、各プロダクトの特徴を理解できる内容になっています。 本連載では、この書籍の内容から、主要プロダクトを紹介している第5章を抜粋し、そのエッ
Riak KV: flexible data model for many unstructured use cases including user, session and profile data Riak TS: for IoT & other time series data To address global audiences modern web and IoT applications must be built to be highly distributed. But this presents a few challenges. Distributed Systems Challenges: Data Availability Data Accuracy Cost of Scale At Riak, we are distributed systems expert
今回は,以下の条件でサーバを起動してアクセス速度を調べました. クライアントマシン1台とサーバマシン1台をギガビットハブで結び,TCPv4アクセスの速度を調べる サーバは4ワーカスレッド,ディスクへのスナップ機能はオフにする クライアントはC言語APIに統一 キーは32バイト固定,バリューは2560バイトと41960バイトの2種類 サーバもクライアントもプロセス数は1とする クライアントからのアクセスは,OpenMPを用いて1スレッドから16スレッドまで変化させる データのsetを100000回または10000回繰り返し,その後getを同じ回数だけ繰り返す まずはバリューの長さが短いケース. データのsetもgetも,特にどのKVSでも差は出ないようです. 結果として,読み書きを足した場合でも差は見られません. 続いて,バリューの長さが40Kバイトと大きい場合. まずデータのsetでは,r
クイックスタート¶ このクイックスタートを読めば5分でRedisの使い始め方がわかります。さらにRedisを知りたい方はRedisのドキュメントの見出しを確認してください。
FuelPHPには、標準でRedisクラスが用意されている為、特別な事をする必要はなく、そのままRedisへアクセスが可能です。 例によって、ソート済みセット型を使用した、ランキング風のサンプルで試しました。 以下は、ユーザー名と年齢のリストをソート済みセット型に追加し、要素を取得するサンプルになります。 <?php class Controller_Redistest extends Controller { public function action_index() { $redis = Redis::instance('default'); $staff = array( 'staff1' => 30, 'staff2' => 25, 'staff3' => 42, 'staff4' => 60, 'staff5' => 38 ); foreach ($staff as $name
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く