タグ

kvsに関するtarchanのブックマーク (27)

  • LevelDB入門 (基本編) - from scratch

    さて、今回は比較的新しいデータストアであるLevelDBについてまとめてみました。 LevelDBは1年ほど前からNode.js界隈ではブームが来ていて、理由がよくわかっていなかったんですが、まとめている内に分かるかなと思ってまとめました。今回はNode.js無関係でLevelDBの基礎的なことだけ調査した結果をまとめてみました。 Node.jsで使ってみる話は後に回します。 LevelDBとは? key-value型のデータストアの一つです。 Googleの研究者である、Jeff DeanとSanjey Ghemawatが開発し、2011年に公表されました。C++で書かれており、多くのプログラミング言語でbindingsが書かれています。もちろん、JavaScript/Node.jsでも書かれています。 LevelDBGoogle のBigTableをベースにしたアーキテクチャを持

    LevelDB入門 (基本編) - from scratch
  • [速報]オラクル、Oracle 12cにインメモリとカラム型データベースの追加機能を発表~Oracle OpenWorld 2013

    [速報]オラクル、Oracle 12cにインメモリとカラム型データベースの追加機能を発表~Oracle OpenWorld 2013 米オラクル主催のイベント「Oracle OpenWorld 2013」がサンフランシスコで開幕しました。 同社CEOのラリー・エリソン氏は最初の基調講演に登壇。現在データベースの新しい技術として注目されているインメモリとカラム型データベースの機能をオプションとしてOracle Database 12cに追加すると発表。さらにインメモリ処理に優れた32TBメモリ搭載可能な新型SPARCサーバも発表しています。 基調講演の内容をダイジェストで紹介します。 Oracle DatabaseのIn-Memroyオプション発表 米オラクルCEO ラリー・エリソン氏、ご機嫌な表情で登場。

    [速報]オラクル、Oracle 12cにインメモリとカラム型データベースの追加機能を発表~Oracle OpenWorld 2013
  • いまさら聞けないKVSの常識をHbaseで身につける

    いまさら聞けないKVSの常識をHbaseで身につける:ビッグデータ処理の常識をJavaで身につける(3)(1/3 ページ) Hadoopをはじめ、Java言語を使って構築されることが多い「ビッグデータ」処理のためのフレームワーク/ライブラリを紹介しながら、大量データを活用するための技術の常識を身に付けていく連載 ビッグデータの要! KVSとは何なのか 「KVS(Key-Value Store)」とは、Key値を指定してValue値の格納や取得を行う方式です。それに対して、RDBではキー(プライマリキー)が必須ではなく、逆に複数のカラムをセットしてキーにすることもできます。 テーブル構造だけを見れば、KVSとRDBは似ています。例えば、RDBでプライマリキーと1つのBLOB型を持ったテーブルを作れば、KVSと同じような構造にもなります。しかし、RDBでKVSのまねごとをするのと、KVSとして

    いまさら聞けないKVSの常識をHbaseで身につける
    tarchan
    tarchan 2012/03/05
    >KVSのKey値はユニークであることに加え、データを使うときの取り出し方も考えておく必要があります。
  • Googleが開発! 高速データベース「LevelDB」登場 | エンタープライズ | マイコミジャーナル

    LevelDB is a fast key-value storage library. Googleから新しいプロジェクトが公開された。高速なキーバリューデータベースライブラリ「LevelDB」だ。2条項のBSDライセンスのもとでオープンソースソフトウェアとして提供されている。 対象言語はC++。なるべくほかのライブラリやプラットフォームへの依存が少なくなるように設計および実装されており、アプリケーションへの組み込みやOSへの移植が簡単に実施できるという特徴がある。 LevelDBの提供する機能はキーから値への順序付きマッピングを提供するというもの。SQLに対応したリレーショナルデータベースのような機能は提供していない。割り切った機能に特化しており、基的にPut(key,value)、Get(key)、Delete(key)で操作を実施する。Chromeに搭載されているIndexedD

  • Cassandraが0.8にバージョンアップ。SQLに似たCQLを搭載し、分散カウンターも実装

    RackspaceのEric Evans氏がCassandraのメーリングリストに投稿した内容によると、Cassandra 0.8の最大の特徴は、SQLに似た問い合わせ言語のCQL(Cassandra Query Language)をはじめて搭載したこと。 また、これまで要望の多かった分散カウンターを実装し、ノード間の暗号化通信を実装したことでパブリッククラウドなどの環境でのセキュリティが高まったとしています。 CQL 1.0では、USE、SELECT、UPDATE、DELETE、TRUNCATE、DROP、BATCHなどのキーワードを備えており、SQL文のようにデータベースの内容を操作できるとのこと。PythonJava、Node.js用のドライバーが提供されています。 CQLについては、第16回Cassandra勉強会での@yukim氏の資料「CQL」が公開されています。分かりやすく

    Cassandraが0.8にバージョンアップ。SQLに似たCQLを搭載し、分散カウンターも実装
  • Webアプリケーション風。WebベースのMongoDB管理UI·MongoVision MOONGIFT

    MongoVisionはWebベースのMongoDB管理ツール。JavaScriptで作られている。 MongoVisionはJavaScript製のオープンソース・ソフトウェア。RDBMSのスキーマ定義の面倒さ、管理の複雑さに辟易していた時、登場したのがNoSQLだ。スキーマレスで使えて、データ定義が柔軟に行える。かつキーバリュー形式で高速に動作する。 横幅の広いUI もちろん得手不得手はあるが、RDBMSとは異なる選択肢として利用されるケースが増えている。その一つがMongoDBであり、管理インタフェースとしてMongoVisionを紹介しよう。 MongoVisionのシステムはJavaScriptでできている。それを動かしているWebアプリケーションサーバがPrudenceだ。MongoVisionを呼び出すとMongoDBに接続してコレクションの一覧が表示される。ドキュメントがあ

  • グーグル、NoSQL軽量ライブラリ「LevelDB」を公開。ChromeブラウザのIndexedDBとして採用

    LevelDBSQLをサポートせず、クライアント/サーバ型でもなく、シングルプロセスからアクセスされることを想定したいわゆるNoSQLの高速なキーバリュー型データストアを実現するためのライトウェイトなライブラリだと説明されています。 ChromeブラウザでHTML5の仕様として策定中のIndexedDBを実装するものとして開発されたようです(ドキュメントに明記されていないのですが)。 LevelDBを開発した理由 LevelDBのWebサイトによると、LevelDBは以下の主な機能を備えています。 基的な操作は、Put(key,value), Get(key), Delete(key) 1つのトランザクションとして複数の変更操作が可能 データは自動的に圧縮し保存される Hacker Newsの記事によると、当初はLevelDBを開発する代わりに平林幹雄氏が開発したTokyo Cabin

    グーグル、NoSQL軽量ライブラリ「LevelDB」を公開。ChromeブラウザのIndexedDBとして採用
  • ジャーナリングが追加された「MongoDB 1.8」がリリース | OSDN Magazine

    米10genは3月16日、オープンソースのドキュメント志向データベースシステム「MongoDB 1.8」を公開した。リクエストが多かったというジャーナリングなどの新機能が加わっている。 MongoDBはドキュメント志向のKey-Valueストア型データベースシステムで、SQLを使わない「NoSQLデータベース」と呼ばれるものの1つ。PythonPHPRubyJavaなどから利用するためのドライバも公開されている。 最新版は2010年8月に公開されたバージョン1.6のフォローアップリリースとなる。最大の特徴は、新機能となるジャーナリングストレージエンジンの追加。これにより、クラッシュ時に普及作業が高速かつ安全に行えるという。 このほか、1.6で導入された分散運用機能のシャーディングを改善し、スプリットやバランスなどが高速化し、全体のシステムへの影響が抑えられたという。同じく1.6で加わ

    ジャーナリングが追加された「MongoDB 1.8」がリリース | OSDN Magazine
  • NoSQLの成功は1:10問題にかかっている:Kenn's Clairvoyance

    ここ2-3年ほど、いわゆる非SQL系データベースがホットな話題になってきています。このムーブメントを総称して「NoSQL (Not-only SQL)」と呼ばれることが多いようです。まるでSQLを否定しているかのような誤解を招きやすい用語ですが、かといってキー・バリュー型データストアや列指向DBを総称できる他の呼び方もないので、このエントリではNoSQLという用語を使うことにします。 OracleMySQLなどのSQLデータベースが成熟していく一方で、SQLデータベースを特徴づける弱点である柔軟性のなさ、堅牢さと引き換えに犠牲になった更新性能の低さ、スケールアウトの難しさなどから、「何でもかんでもRDB」から「目的に応じた永続化」が模索される流れになってきました。 時を同じくして、キャッシュサーバの世界でも、MemcachedのもつシンプルなAPIの使いやすさが評価される一方、LRUによ

    NoSQLの成功は1:10問題にかかっている:Kenn's Clairvoyance
  • 分散 Key-Value ストア mio-0.0.1alpha をリリースしました - higepon blog

    分散 Key-Value ストア mio-0.0.1alpha をリリースしました。(mio-0.0.1-alpha.tar.gz) Mio とは何か? 範囲検索(range query) が出来る KVS です。例えば「key が "1000"〜"2000" にあるものを昇順に10件取り出す」という検索が可能です。 Mio は memcached 互換プロトコルを実装しているので、多くのプログラミング言語から簡単にアクセスする事が可能です。(後述のコード例参照) Mio のアーキテクチャ Mio は Skip Graphs(スキップグラフ)というアルゴリズムに基づいて実装されています。詳細はErlang 分散システム勉強会での発表資料 Mio - a distributed Skip Graph based orderd KVSをご参照ください。 インストール 最新の Erlang をイ

    分散 Key-Value ストア mio-0.0.1alpha をリリースしました - higepon blog
  • memcachedと“正反対”、Redisが仮想メモリをサポート - @IT

    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つ目の特徴は、

  • 2010-04-24

    昔からJSPでスクリプトレットを禁止するオプションがあればいいのに…と思っていたのですが、JSP 2.0からweb.xmlでスクリプトレットの使用を禁止できるようになっていたんですね。最近知りました。 以下のような感じで、scriptlet-invalidをtrueに設定しておけばいいようです。 <jsp-config> <jsp-property-group> <url-pattern>*.jsp</url-pattern> <el-ignored>false</el-ignored> <page-encoding>UTF-8</page-encoding> <scripting-invalid>true</scripting-invalid> <include-prelude>/WEB-INF/pages/common/common.jsp</include-prelude> </js

    2010-04-24
    tarchan
    tarchan 2010/04/26
  • memcachedプロトコルについて

    ※ memcachedプロトコルの仕様書は以下にあります。 http://code.sixapart.com/svn/memcached/trunk/server/doc/protocol.txt データの保存を行うコマンド(set,add,replace,append,prepend)は、以下のような文法となります。 <コマンド> <key> <flags> <exptime> <bytes> <data> <key>は保存するためのキー名を指定します。実装によっても異なりますが、最大長は250byteです。 <flags>はアプリケーション特有の32bitの値(0〜4294967295)を指定することができ、データの取得時に格納した時の値が返されます。 <exptime>はデータの有効期間を秒数で指定します。指定した時間経過すると、自動的にキーが削除されます。0を指定すると自動削除され

    memcachedプロトコルについて
  • KVSを使った高速配信Webサーバ·クリティカルスピード MOONGIFT

    クリティカルスピードは〜のオープンソース・ソフトウェア。高速なレスポンスを行うWebサーバは誰しもが願う所だ。Googleがあれだけ大きく成長したのは検索のアルゴリズムはもちろんのこと、高速なレスポンスにも一因があったと思われる。欲しい情報がすぐに手に入るというのはとても気分がいい。 表示が速い! Webサーバで高速化を行うための手法は幾つか存在する。並列化したり、サーバのスペックを上げたり、ネットワークを強化すると言った方法の他、システム側でも対応できるものがある。その一つ、高速配信サーバのクリティカルスピードを紹介しよう。 クリティカルスピードの最大の特徴はKVS(キー・バリュー・ストア)をWebサーバとして使っていることだ。KVSとしてTokyoTyrantを採用しているが、今後はLuxIO、kumofs、ROMAといった他のKVSにも対応していくとのこと。WebサーバはPlack/

    KVSを使った高速配信Webサーバ·クリティカルスピード MOONGIFT
  • Not Only NoSQL!! 驚異的なまでにWRITE性能をスケールさせるSPIDERストレージエンジン

    Webサービスでは、世界中からのトラフィックを捌く必要があるため、いくらチューニングしようとも一台のRDBMSでは捌ききることが出来ないのが常だ。MySQLは最初からマスター・スレーブ型のレプリケーション機能が搭載されており、スレーブをたくさんぶら下げることによって参照の負荷をスレーブに割り振るというスケールアウトによってその問題に対処してきた。スレーブによるスケールアウトは、参照(=PV)が多いWebサイトと非常に相性が良く、幾多のWebサイトにおいて実績を作ってきているし、まだまだ利用されている。 しかしながら、サイトのトラフィックが劇的に増加してくるようになると、レプリケーションによる負荷分散では追いつかなくなってきた。そこで人々がとった選択肢は、memcachedを利用することである。memcachedはインメモリ型の高速なKVSであり、参照・更新性能はMySQLより格段に高い。M

    Not Only NoSQL!! 驚異的なまでにWRITE性能をスケールさせるSPIDERストレージエンジン
  • scale out の技術 (in UNIX magazine, April 2009)

    scale outの技術 首藤 一幸 Last-updated: January 5, 2010 注: このページの文章は以下の記事の元原稿です。 首藤一幸, "スケールアウトの技術", クラウドの技術, pp.88-101, (株)アスキー・メディアワークス, ISBN978-4-04-868064-6, 2009年 11月 6日 アスキー・メディアワークス社の 書籍紹介ページ Amazon.co.jp の ページ 首藤一幸, "スケールアウトの技術", UNIX magazine 2009年 4月号, pp.78-91, (株)アスキー・メディアワークス, 2009年 3月 18日 データベースに求められる性能を試算したところ、 十台、百台…数万台のサーバが必要になった。 クラウドを構築する側はこういう問題に直面し、解決しようとしてきた。 台数に比例した性能を引き出すこと、つまりsca

  • key-valueストアの基礎知識

    首藤 一幸 Last-updated: January 5, 2010 注: このページの文章は Software Design 誌 2010年 2月号に掲載された以下の記事の元原稿です。 Software Design 誌編集部の了承の元に、ウェブページに掲載しております。 首藤一幸: "key-valueストアの基礎知識", Software Design 2010年 2月号, p.14-21, (株)技術評論社, 2010年 1月 18日 クラウド、特にPaaS向けのソフトウェア開発が現実のものとなり、 そこではリレーショナルデータベースとは違ったデータベースが 勢いを増しています。 その代表であるkey-valueストアを解説します。 もくじ key-valueストアとは なぜkey-valueストアか key-valueストアの使いどころ key-valueストアとNoSQL

  • 京都収納棚:DBMの率直な壱実装 - mixi engineer blog

    飲み屋に行くとかなりの確率で荷物を忘れて帰るmikioです。さて、今回はここ2ヶ月ほどで急ピッチで開発した軽量データベースライブラリ「Kyoto Cabinet」について紹介します。 開発の動機 以前から軽量データベースライブラリとしてご好評いただいているTokyo Cabinetですが、DBMとして必要十分な機能と性能を備えていてなかなか良いものだと自負しております。ただ、開発を進める中でいくつか不満な点があったのも事実です。端的に言えば、全てC言語で記述して、標準ライブラリ(とzlib/bzip2)以外の機能は全て自作しているので、最適化がしやすい反面、メンテナンスの難易度が高くなってしまっているというのが不満です。 そこで、多少性能が悪くなってもいいから、私自身としてお気楽に開発およびメンテナンスができて、移植性も高いような実装を作ってみようと思い立ったのが昨年10月頃。様々な検討を

    京都収納棚:DBMの率直な壱実装 - mixi engineer blog
  • RESTfulに使えるドキュメントストア·Terrastore MOONGIFT

    TerrastoreはJava製のオープンソース・ソフトウェア。KVS(キーバリューストア)はオンメモリーのものが多い。つまり高速ではあるが、サービスを再起動すると全てなくなってしまうということだ。それが利点でもあるが、活用していく中では物足りなく感じることもあるだろう。 サーバ起動中 そこで使ってみたいのがファイルストア型のKVSだ。有名なものとしてはAmazon S3が知られている。キーを使ってデータにアクセスし、更新したり削除できるシステムだ。そしてTerrastoreはRESTfulにデータアクセスができるKVSまたはドキュメントストアだ。 HTTPによるアクセスなのでJavaに限らず他の言語から(またはターミナルから)扱うことが出来る。データはJSON形式に保持されるようになっている。マスターとサーバによって複数台のスケーラブルな構成がとれるようになっているのが特徴だ。 データは

    RESTfulに使えるドキュメントストア·Terrastore MOONGIFT
  • 本を読む Shibuya.pm TT #12で話を聴いた

    11月30日に、Perlプログラマの集まるイベント「Shibuya.pm Technical Talk #12」に参加して、発表を聴いてきました。 中心となったのは「NoSQL vs. NoKVS ライトニングディスカッション」。実際に高速(分散)KVSやRDBMSを開発したり使ったりしている豪華メンバーが壇上に並んで、発表や議論を繰り広げました。 そのほかの発表も含めて、実開発者による濃い話が面白く語られていました。全体的に、アプリの実行速度にこだわった話が多かったのが印象的です。あと、予定の9時ぴったりに終わったのにもびっくり。 1週間たっちゃいましたが、以下、自分の復習として、メモをまとめておきます。 Tatsumaki" I/O bound HTTP clients in web frameworks(miyagawa) Shibuya.pmといえばこの人、miyagawaさんのセ