タグ

kvsに関するconceal-rsのブックマーク (20)

  • fallabs.com

    fallabs.com 2023 著作権. 不許複製 プライバシーポリシー

  • 開発メモ: memcachedとKyoto Tycoonの空間効率

    Kyoto CabinetおよびKyoto Tycoonに新たに導入された「StashDB」を使うとmemcachedよりも空間効率を向上させられるという話。 StashDBとは 前回の記事で説明したように、Kyoto CabinetではローカルMapReduceのキャッシュとしてTinyHashMapというクラスを実装して省メモリ化を図っている。丁寧にシリアライズしてデータを詰めていくとかなりメモリを節約できるものなのだ。 同じ構造をDBMのインターフェイスにしたのがStashDBである。ProtoHashDB, ProtoTreeDB, CacheDB, GrassDB, HashDB, TreeDB, DirDB, ForestDBに続く第9番目のDBMということになる。もちろん、マルチスレッドセーフにして、レコード単位の粒度でロックを施して一貫性を確保し、VisitorやCurso

  • 開発メモ: ローカルMapReduceの性能

    Kyoto CabinetMapReduceを実装したという話は前回書いたが、そのLuaバインディングでもMapReduceをサポートした。また、Kyoto Tycoonとそのスクリプト言語拡張でもMapReduceをサポートした。今回はその性能について解説する。 ローカルMapReduceのツボ 世に言うMapReduceは分散処理のフレームワークだけれども、KC/KTの「ローカルMapReduce」は分散処理を行わない。分散処理をしなかったらデータ処理能力が上がらないじゃないかと思うかもしれないけれども、そうとも限らないのだ。前回も書いたけども、MapReduceフレームワーク部分をうまく実装すると、時間効率と空間効率の双方を向上させることができる。特にキャッシュとソートの部分に工夫がある。 MapReduceは、リポジトリ内(KCではデータベースファイル内)の各レコードからキーと値

  • 世界の「NoSQL」開発者が東京に集結 - NOSQL afternoon in Japan - Blog by Sadayuki Furuhashi

    NoSQLと呼ばれる新型の分散データストアの開発者が一堂に会するイベント NOSQL afternoon in Japan が、2010年11月1日、楽天タワーで開かれました。 海外からは「Cassandra」のサポートを行う Riptano や、「MongoDB」を開発する 10gen、「Couch DB」の Cloudant、「Hadoop」の Cloudera のエンジニアが登壇し、日からは Hibari、Okuyama、ROMA、そして kumofs の開発者が講演しました: ContentsPresenters HibariJoe NortonGemini Mobile Technologies OkuyamaTakahiro Iwase CassandraNate McCallRiptano ROMAMuga NishizawaRakuten Mongo DBRoger Bo

  • 開発メモ: Kyoto Tycoonベータ版リリースすた

    ここのところ必死こいて作り込んでいたKyoto Tycoonだが、主要機能を実装しきって文書もそこそこ書けてきたので、ベータリリースということにした。プロジェクトページもちゃんと作ってある。 公式には英語の文書しか作らない方針なのだが、それだと国内ではなかなか使ってもらえないので、この場でチュートリアルを書いてみる。 Kyoto Tycoonとは プロセス組み込み軽量データベースライブラリであるKyoto Cabinetをネットワーク越しに利用できるようにするためのツールキットである。KCのデータベースを内部に持ったサーバプログラムと、それに接続してデータベースを操作するためのクライアントライブラリからなる。また、コマンドラインからサーバにアクセスするためのユーティリティもついてくるので、簡単に使い始められる。 製品コンセプトは、「永続的キャッシュサーバ」もしくは「memcachedの永続

  • ウノウラボ Unoh Labs: 今からはじめるCassandra入門

    こんにちわ、7月に入社したばかりの@emorinsです。 題名の通りですが分散データベース『Apache Cassandra』を紹介したいと思います。 少し前はHadoop(とHBase)と比較されることの多かったCassandraですが、最近はHadoopの人気に押されつつあるようにも感じます。 しかし、CassandraとHadoopは特徴が異なり、よく言われるのがCassandraはリアルタイム処理に向き、一貫性のかわりに可用性を重視し、またHadoopとは違って単一障害点もありません。 今日はそんなHadoopとは違った魅力のある分散データベース『Apache Cassandra』をはじめてみましょう。 目次 Cassandraとは アーキテクチャ Cassandraの特徴 コンシステンシレベル データモデル MemtableとSSTable セットアップ storage-conf

  • Cassandra入門と、さらに詳しく知るためのリソース集

    クラウド時代の新しいデータベースとして、非リレーショナルな構造を持つNoSQLデータベースが話題になっています(NoSQL=Not Only SQL。命名の経緯はこちら)。そのNoSQLの中で、もっとも注目されているデータベースの1つがApacheのCassandraです。 Cassandraは、Facebookで大規模データ処理のために開発され、その後オープンソースとなり、現在ではApache Software Foundationのプロジェクトとして開発されています。 現在、CassandraはFacebookやDiggなどで使われている、もしくは使うことが検討されているとされ、Twitterでも(ツイートデータの格納には使われないようですが、それ以外の用途で)利用されています。 TwitterとDiggがNoSQLの「Cassandra」を選ぶ理由 Twitterが、Cassandr

    Cassandra入門と、さらに詳しく知るためのリソース集
  • 逆襲のLua - mixi engineer blog

    こんにちは。開発部最後の良心、mikioです。今回はLua処理系の並列化とそこでのKyoto Cabinetの利用法についてご紹介します。 サーバサイドスクリプティングといえばLua Kyoto CabinetのLuaバインディングは後回しにしてKyoto Tyrant的なサーバの設計を進めていたのですが、やはりそのサーバにもスクリプティング機能を持たせたくなりました。つまり、サーバがデフォルトで提供する機能群だけでなく、ユーザがスクリプト言語で記述した任意の機能を追加して利用できるようにするということです。 Tokyo TyrantではLua拡張と呼ばれる機能を用いてそれを実現しています。サーバの起動時にLuaのスクリプトを記述したファイルを読み込ませて、そこで定義した関数をリモートから呼び出せるようにしています。そこで実行されるLuaの処理系にはTTが管理するデータベースを操作するため

    逆襲のLua - mixi engineer blog
  • 第1回 NoSQL、そしてCassandraとは | gihyo.jp

    NoSQLミドルウェアの特徴をもう少し細かく挙げてみます。分量の都合もあり個別には触れませんが、それぞれのNoSQLミドルウェアで差別化部分に関してはかなり詳細に説明がされていますので、ぜひそちらを参照してみてください。 高速に動作する リレーションモデルではないデータモデル スケールアウト型アーキテクチャ コモディティサーバによって構築される スキーマフリー SPOF(単一故障点)を持たない 自動的に複数台へレプリケーションする イベンチュアルコンシステンシまたは一貫性の選択が可能 SQLのような強力なクエリ言語を持たず、シンプルな問い合わせしかできない Cassandraとは何か NoSQLミドルウェアの筆頭といえばGoogle BigTableやAmazon Dynamoですが、オープンソースの世界でもいろいろなものが出てきています。その中でも最近特に注目を集めているのが、Apach

    第1回 NoSQL、そしてCassandraとは | gihyo.jp
  • hbstudy#10「ずばり動く!kumofs と ずばり動かないケース」 - Blog by Sadayuki Furuhashi

    ずばり動く!kumofs と ずばり動かないケース と題して、hbstudy#10 で発表してきました。 序盤の趣旨は丸レク2010と共通しながらも、別の側面とストーリーから紹介してみました。 また今回は、列指向DBなどの他の分散データストアとの違いについても紹介しました。 kumofsは Dynamo で言うところの Eventually Consistent ではないのですが、今回は Eventually Consistent でポイントとなる Vector Clock についても少し紹介しています。 kumofsは double-hash-spaceという独自のアルゴリズムを使うことで、ノード増減時の一貫性を保っています。Vector Clock で問題となる、データの新旧が「比較不能」になることがないため、アプリケーションでマージ処理を実装する必要がありません。 目次 kumofs

    hbstudy#10「ずばり動く!kumofs と ずばり動かないケース」 - Blog by Sadayuki Furuhashi
  • 丸レク2010「分散Key-valueストアkumofsの思想と設計」 - Blog by Sadayuki Furuhashi

    分散Key-valueストアkumofsの思想と設計 と題して、丸レクセミナー2010で発表してきました。 kumofs を使いたくなるユースケースの紹介を中心に、kumofs のメリットを紹介しています。 会場は楽天タワーで、何やらスゴイ数の方に聞いていただけたようです。来場者数は500名を超えたと聞いています。 ネット中継でも多くの方に視聴していただいたようで、Twitterでも多くのフィードバックをいただきました。ありがとうございます。 分散Key-valueストアkumofsの思想と設計View more presentations from frsyuki. 発表スライド(PDF) Ustream.tvの録画 あわせて読みたい 情報システムの信頼性:対策は進んだが改善の余地も 企業IT動向調査2009 kumofsから学ぶNot only SQL技術@Developers Su

    丸レク2010「分散Key-valueストアkumofsの思想と設計」 - Blog by Sadayuki Furuhashi
  • 京都収納棚紅玉束縛: Rubyで簡単、DBプログラミング - mixi engineer blog

    静かに暮らしたいmikioです。今回は、新進気鋭のDBMであるKyoto CabinetRubyバインディングを駆使してお手軽にデータベースプログラミングを行う方法について述べます。 Kyoto Cabinetのおさらい Kyoto Cabinet(KC)は、Tokyo Cabinet(TC)に比べて、最適化された性能よりも保守性を重視したDBMの実装です。オブジェクト指向プログラミングの技法を用いて、少ないコード記述量で容易に機能追加できるように設計しています。また、実装としては、空間効率の向上と並列処理性能の向上を重視しています。以下のプレゼン資料も参考になると思います。 TCでもハッシュ表やB+木などのデータ構造を動的に切り替えて同じインターフェイスで操作するための「抽象データベース」という機構がありましたが、KCでは同じことを「多相データベース(polymorphic datab

    京都収納棚紅玉束縛: Rubyで簡単、DBプログラミング - mixi engineer blog
  • Webアプリをとりまく最近のKVS事情、雑感 - Tous Les Jours 攻防記

    RDBの復権はしばらくないと思う 最近目にしたのは、「これからRDBが十分速くなっていくので、memcachedに代わってRDBがまた使われるようになる」という意見。これはしばらくの間は無いんじゃないかと思う。全データがオンメモリだったとしても、KVSはRDBより一桁以上速い(Memcachedで100,000req/sec出せるマシンで、MySQLのpkeyによる単純なSELECTをした場合、10,000req/sec出るかどうか)。SQLパーサやらなんやらを捨てない限りこの速さには対抗できない。RDBには、1コネクション1スレッドというモデルが持つ、接続数がスケールしないという制約もある。 また、memcacheプロトコルは、get_multiが使える。get_multiを効果的に活用した場合、RDBとの差はさらに広がると思う。 RDBで大丈夫なアプリも Viewキャッシュが効果的なア

    Webアプリをとりまく最近のKVS事情、雑感 - Tous Les Jours 攻防記
  • KVSをWebアプリのメインストレージにしたら、集計バッチをMapReduceでやるはめになったでござるの巻 - Tous Les Jours 攻防記

    という題で、RubyKansai勉強会#39で発表させていただきました。 内容はMapReduceとKVSの関係、および自作のMapReduce処理系であるTinyMapReduceの紹介について。実装にはDRubyを使っています。といってもTinyMapReduceはコードサイズ200行以下で、対障害性もなくサンプルの域を出ないものですが。。 TinyMapReduce標準添付のSampleは、1〜100万までの自然数の中に2の倍数と3の倍数がそれぞれいくつ含まれるかカウントするタスクです(結果保存にSimpleResourceを使っており、別途導入が必要)。Workerの数を増やしていくことで、タスクの実行時間がシームレスに短縮することがわかると思います。 というわけで、使用したスライドを置いておきます。 TinyMapReduce on rubyView more presentat

    KVSをWebアプリのメインストレージにしたら、集計バッチをMapReduceでやるはめになったでござるの巻 - Tous Les Jours 攻防記
  • Bigtable論文を読んだメモ - スティルハウスの書庫の書庫

    Bigtable: A Distributed Storage System for Structured Data をざっと読んだ感想: Bigtableは単なるソートされたkey-valueペアだ Multidimensionalという言葉に惑わされない方がよい レコードをイミュータブルにして履歴を残し、たまにGCするのはpgsqlやInterBaseなどのバージョニング系DBと同じ row keyとcolumn keyを組み合わせて1つのキーをつくり、2次元の表のように使っているが、実態は単なる超巨大なkey-valueペア column familyとかlocality groupも、とりあえず忘れてOK アクセス権チェックとか、でかいBlobだけ遅延読み込みするとか、そういうやつだ Bigtableはこれしかできない keyを指定して特定行をatomicにCRUDする 分散txは

    Bigtable論文を読んだメモ - スティルハウスの書庫の書庫
  • 第三回 ライブドア・テクニカルセミナーに行ってきた - aomushi510の日記

    livedoor Techブログ : 第三回 ライブドア・テクニカルセミナーのお知らせに行ってきました。 内容が濃くてメモしきれないところもあったのですが載せておきます。 「クラウド時代のWebストレージ/データベース戦略」 ライブドアが求めるストレージは? webサービスのメディアストレージ 安価に容量を拡張可能 データの冗長化、高可用性 実際の構成は(あまり)意識したくない ※あまり、というのがポイント。自社で使う分にはうすらぼんやり見えているといい 自社で使う向けに作った HTTPを利用した分散ストレージ 参考にしたのはMogileFSとかAmazon S3 Pros シンプルなKey-Value クライアントから巨大なストレージプールとして見える 普通のサーバを使用して拡張可能 データのレプリケーション Apacheモジュールベースなので拡張可能 Cons ファイルシステムとしてマ

    第三回 ライブドア・テクニカルセミナーに行ってきた - aomushi510の日記
  • NoSQLを知る

    Azure Day Rome Reloaded 2019 - Deconstructing Kubernetes using AKSazuredayit

    NoSQLを知る
  • kumofsから学ぶNot only SQLの技術 - Blog by Sadayuki Furuhashi

    NoSQLを知る〜kumofsから学ぶNot only SQL技術 と題して、Developers Summit 2010で発表しました。 twitterの#devsumi2010 kumofsを見る限りでは大変ご好評をいただいたようで、ひとまずほっとしています。 プレゼンテーションの資料を公開しました。内容はどれも同じですが、クリックで進むムービー版がオススメです。 クリックで進むムービー(クリック/矢印キーで進む) PDF Keynoteファイル(Keynote '09が必要) NoSQLを知るView more presentations from frsyuki. Consistent Hashingとdouble-hash-spaceアルゴリズムの紹介は、68ページ以降にあります。 第101回 カーネル読書会 2月25日に楽天タワーで行われるカーネル読書会でも、kumofs関連

  • kumofsはなぜスケールするか - Blog by Sadayuki Furuhashi

    先日、分散Key-valueストア kumofs を公開しました。 多く方から反響とフィードバックをいただいています。ありがとうございます。 今回は、kumofs はなぜスケールするのか、なぜスケールすると言えるのかーということについて紹介したいと思います。 ところでスケーラビリティとは何か? スケーラビリティとは、利用者や仕事の増大に適応できる能力・度合い とされています(端的!)*1 。Scalability を日語にすると、拡張性 と訳されるようです。 ただ一口でスケーラビリティと言っても、様々な側面があります。ITシステムでは主には処理性能と運用に関することを指す場合が多いと思いますが*2、その中にも様々な側面があります。 なぜスケーラビリティが必要か スケーラビリティは システムなどが持つべき望ましい特性 であって、高いに越したことはありません。しかし、高いスケーラビリティはタ

    kumofsはなぜスケールするか - Blog by Sadayuki Furuhashi
  • 分散Key-Valueストア「kumofs」を公開しました! - Blog by Sadayuki Furuhashi

    分散Key-Valueストア kumofs を、日オープンソースソフトウェアとしてリリースしました! kumofs@SourceForge kumofs関連資料まとめ kumofsとは? kumofs(クモエフエス)は、実用性を重視した分散データストアです。レプリケーション機能を備え、一部のサーバーに障害が発生しても動作し続けます。単体でも高い性能を持ちながら、サーバーを追加することで読み・書き両方の性能が向上する特徴を持ち、低コストで極めて高速なストレージシステムを構築・運用できます。 kumofsの大きな特徴は、システムの構成の簡単に変更できる点です。システムを止めることなく、簡単な手順でサーバーを追加したり復旧したりできます。アプリケーションには一切影響を与えません。 またkumofsは、広く利用されている分散キャッシュシステムの「memcached」と互換性のあるプロトコルを実装

    分散Key-Valueストア「kumofs」を公開しました! - Blog by Sadayuki Furuhashi
  • 1