タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

programmingとtutorialとdbに関するkgbuのブックマーク (13)

  • ここまでできる! CouchDBパワーアップ作戦

    これまでの連載を通して、CouchDBの基的な概念と使い方、アプリケーションの作成方法までを解説してきました。ここからはさらに一歩踏み込んで、CouchDBDBサーバやAPサーバとして実際に運用するときに役に立つ機能を紹介していきます。具体的には、次の3つのテーマを取り扱います。 全文検索を導入すれば、CouchDB内にあるすべてのドキュメントを対象に、特定のキーワードを指定して検索できます。ユーザー認証では、例えばDBの管理者権限を特定のユーザーのみに付与できます。ユーザー認証はまだ充実しているとはいえないレベルですが、現時点ではどのような選択肢があるかを紹介していきたいと思います。最後にCouchDBへの負荷を分散させる方法として、CouchDBのインスタンスをノードとして複数用意し、各ドキュメントを分散して配置するやり方を紹介します。これらの手段を目的に応じて生かすことができれば

    ここまでできる! CouchDBパワーアップ作戦
  • 開発メモ: Kyoto TycoonでテーブルDBを実現する

    Kyoto Tycoonで、RDBMSのテーブルのように複数のコラムを持ったレコードを扱ったり、特定のコラムを対象にセカンダリインデックスを張ったりすることもできるという話。 テーブルDB Tokyo CabinetおよびTokyo Tyrantでは、テーブルDBという実装があった。最も率直なKVS(永続化連想配列)の実装としてお馴染みのTC/TTではあるが、valueに構造を持たせることによってマルチコラムを実現し、さらに更新処理にフックをかけてセカンダリインデックスを自動的に管理できるようにもしていた。結果として、「ドキュメント指向DB」とか「スキーマレスDB」とかいったような、ゆるふわな感じの用途で便利に使えるツールになっていると思う。 しかし、KyotoシリーズではテーブルDBは実装しない方針である。多機能すぎてメンテが大変だからだ。アプリケーション寄りの機能を提供するということは

    kgbu
    kgbu 2011/01/28
    ここまで書いてくれていると、これをscrapbookしとくだけで安心してしまいそうな自分が怖いwアトミックな操作についての実例も嬉しい、つかさすが。
  • 開発メモ: スレーブエージェントによるKTからMySQL等へのレプリケーション

    Kyoto TycoonからRDBMS等の他製品に対してレプリケーションを行う方法について述べる。 カスタマイズ機能群の最後のパーツ 以下のイラストのように、Kyoto Tycoonには、カスタマイズ性を高めるための様々な機能が実装されている。 HTTPの既存プロトコル上で任意のデータベース操作処理を実現するための「スクリプト言語拡張」。ユーザ定義の任意のプロトコルで任意のデータベース操作処理を実現するための「プラガブルサーバ」。既存のデータベース操作指示に対して任意の処理を行うための「プラガブルデータベース」。これら3つの機能を使えば、KTのほぼ全ての機能の振る舞いをユーザ定義のものに差し替えることができる。かなり究極的なカスタマイズ性を既に備えていると言える。 今回加わったのは、KTの外部の別システムとKTを連携させるための機能である。KTで更新ログを有効にすると、KTのデータベースに

    kgbu
    kgbu 2010/12/23
    Rubyのサンプルあり。ピーク負荷の高いキャッシュサーバーのバックエンドに永続化用のDBを置く構成を取りたい場合に、なじみのあるDBMSを使えるのは結構大事かもしれん。ここまで楽しくいじれるDBは、かつて無かったかも
  • 開発メモ: Kyoto Tycoonのプロトコル仕様

    TTではpure Ruby版とpure Perl版のクライアントライブラリを自分で実装していたが、KTでは各種pure実装は自分では書かないことにする。私はC++版のクライアントライブラリを作成しメンテナンスするが、その他の言語に関しては、その言語で生活していて腕に覚えのある方々にお任せしたい。その前提として、プロトコルを明らかにしておく必要がある。英文の仕様書を後で書くが、そのたたき台としてまずは日語で書いてみる。 ---- 概要 KTのサーバプログラム(ktserver)は、HTTPに基づいてクライアントと通信を行う。デフォルトのサービスポートは1978番だが、ユーザの設定によって変わることもある。サーバは、HTTP/1.0およびHTTP/1.1のリクエストを解釈することができ、それに対応するレスポンスを返す。 HTTP/1.1のリクエストにおいてContent-Typeヘッダの値が

    kgbu
    kgbu 2010/10/06
    自分の得意な言語でバインディングを作る練習に好適と思える。すぐ動きそうだし、使えるし。とか書く暇があったらやってみよう>俺。あと、動的リンクですらないからライセンスの自由度も高い。
  • GT Nitro: カーレーシング・ドラッグレーシングゲーム - Google Play のアプリ

    GT Nitro: Car Game Drag Raceは、典型的なカーゲームではありません。これはスピード、パワー、スキル全開のカーレースゲームです。ブレーキは忘れて、これはドラッグレース、ベイビー!古典的なクラシックから未来的なビーストまで、最もクールで速い車とカーレースできます。スティックシフトをマスターし、ニトロを賢く使って競争を打ち破る必要があります。このカーレースゲームはそのリアルな物理学と素晴らしいグラフィックスであなたの心を爆発させます。これまでプレイしたことのないようなものです。 GT Nitroは、リフレックスとタイミングを試すカーレースゲームです。正しい瞬間にギアをシフトし、ガスを思い切り踏む必要があります。また、大物たちと競いつつ、車のチューニングとアップグレードも行わなければなりません。世界中で最高のドライバーと車とカーレースに挑むことになり、ドラッグレースの王冠

    GT Nitro: カーレーシング・ドラッグレーシングゲーム - Google Play のアプリ
  • sinatraとActiveRecordとERBでBBS作ったのでソースを公開してみる - 新だるろぐ跡地

    rubyのwafでsinatraが最近人気なのでBBS作ってソース晒してみた。 http://github.com/hirafoo/sinatra_bbs/tree/master rubyrailsも、ほぼ知識無しの状態でやったので色々見苦しいはず。俺が使えるのはrailsの中でのマイグレーションのみです。 sinatraについては以下が大変参考になります。 http://labs.unoh.net/2009/05/sinatra.html 第9回 SinatraとSequel・Hamlで掲示板アプリを作る:Ruby Freaks Lounge|gihyo.jp … 技術評論社 作ったBBSの機能、特徴など。 ActiveRecord使用 railsと同じコマンドによるマイグレーション セッション管理 セッションをDBに保存 ログイン 認証 ページング ERB使用 にげっとのソースを晒し

    sinatraとActiveRecordとERBでBBS作ったのでソースを公開してみる - 新だるろぐ跡地
    kgbu
    kgbu 2010/06/08
    ModelをActiveRecordで作った例。migrationなんかもついてくるのか、というところが個人的には目ウロコ。
  • 第9回 SinatraとSequel・Hamlで掲示板アプリを作る | gihyo.jp

    はじめに 第7回はRails以外のWebフレームワークの簡単な紹介と、SinatraでHello Worldアプリケーションを動かすところまでを解説しました。今回はSinatraで実際のアプリケーションを作り、SequelとHamlという2つのライブラリを紹介します。 Sinatraの特徴は、CGIスクリプトのようにファイル一つからアプリケーションが書ける気軽さです。CGIスクリプトといえば、代表的なものは何と言っても掲示板(BBS)です。そこで、今回はSinatraで掲示板アプリを作ってみました。ソースコードが少し長めなので、githubにて全文を公開しています。適宜参照しながら読み進めて下さい。ファイル構成は以下のようになっています。 start.rb アプリケーションの体。 model/comment.rb 掲示板の書き込みを表すモデルの定義。 view/index.haml トッ

    第9回 SinatraとSequel・Hamlで掲示板アプリを作る | gihyo.jp
  • http://1978th.net/tech/promenade.cgi?id=75

    kgbu
    kgbu 2010/04/07
    Kyoto Cabinetにアクセスする拡張ライブラリからRuby VMのglobalなロックを外すという荒業w。それができちゃうってことは、危なくないのかしら。ソース嫁。
  • Amazon Web Services Developer Community : Parsing Logs with Apache Pig and Elastic MapReduce

  • 転置インデックスを実装しよう - mixi engineer blog

    相対性理論のボーカルが頭から離れないmikioです。熱いわっふるの声に応えて今回はTokyo Cabinetのテーブルデータベースにおける検索機能の実装について語ってみたいと思います。とても長いのですが、最後まで読んだあかつきには、自分でも全文検索エンジンを作れると思っていただければ嬉しいです。 デモ モチベーションをあげていただくために、100行のソースコードで検索UIのデモを作ってみました。Java 6の日語文書を対象としているので、「stringbuffer」とか「コンパイル」とか「倍精度浮動小数」とかそれっぽい用語で検索してみてください。 インデックスがちゃんとできていれば、たった100行で某検索エンジン風味の検索機能をあなたのデータを対象にして動かすことができます。ソースコードはこちら(テンプレートはこちら)です。 でも、今回はUIの話ではないのです。ものすごく地味に、全文検索

    転置インデックスを実装しよう - mixi engineer blog
    kgbu
    kgbu 2009/07/03
    短いコードで収まるのは、読む側にとってありがたい。いくつか速度と空間のチューニングのポイントもでてくる。これ動かす時間ほしい。N-gramインデックスについては「情報検索アルゴリズム」読んでもいい。
  • プラグインで独自ストレージを作ろう - mixi engineer blog

    OpenSocialとかC++0xとか世の中の流れが早すぎて、いろいろと勉強しなきゃなと焦りつつも、ついついピクミン2にはまってしまうmikioです。今回はTokyo Tyrant(TT)を使ってユーザ独自のストレージシステムを簡単に構築する方法について説明します。 プラグインとは オブジェクト指向プログラミングに慣れた人にとっては、インターフェイスと実装を分離することによってプログラムの拡張性や保守性を向上させる技法(データ抽象)は常識ですよね。その考えをさらに進めると、インターフェイスのみをプログラムに記述しておいて、具体的な実装は実行時に割り当てるという、いわゆるプラグイン(plug-in)という技法に至ります。プラグインでカスタマイズできる能力をプラガブル(pluggable)などと言ったりもします。 例えばTokyo Cabinet(TC)では、レコードの挿入、削除、参照といった

    プラグインで独自ストレージを作ろう - mixi engineer blog
    kgbu
    kgbu 2009/05/12
    C言語を使い、実装とインターフェースを切り離してpluggableにするtutorialとして読める。今はこういうのフレームワークに入っちゃってて自分で触ること無い場合もあるんだろうな。
  • 楽々ERDレッスン 第1回:「お持ち帰りご注文用紙」編

    はじめに システム構築においてデータベース設計は不可欠です。そこで多くの方がデータベースの設計技法について書籍で学んだりするのですが、なかなか身についたと感じられないことも多いのではないかと感じます。 その理由は、実務で任せられる機会というのが少ないからというのが大きなものとして挙げられます。データベース設計というのは、やはり重要な箇所ですから自然と経験のある人に任せられることが多いのが実態です。しかもデータベース設計を担当するのはプロジェクト全体の中でもごく少数だけになりますから、なかなかチャンスが巡ってきません。 しかし、それを嘆いているばかりではスキルが身につかないのも道理です。そこで身近にあるものを何でも手当たり次第にデータベース設計のネタにしてしまうことで、コツコツと地力をつけていこうというのがこのシリーズの主旨です。 合言葉は、「表組みを見たらERDを描け!」 。では、張り切っ

    楽々ERDレッスン 第1回:「お持ち帰りご注文用紙」編
  • ricollab Web Tech Blog » Blog Archive » CouchDB について Erlang 分散システム勉強会で紹介してきました

    先日、Erlang分散システム勉強会で、最近私が追っている CouchDB というオープンソースのドキュメント指向分散データベースについて紹介してきました。発表資料をおいておきます。 ドキュメント指向データベース CouchDB(PDF) 分散システムでしかも Erlang というニッチっぽい勉強会でしたが、30人の参加者が一瞬で集まり、非常に熱い会でした。私も自分の好きな話を好きなように話してしまい、参加者のみなさんはドン引きだったかもしれません… これだけでは何なので、ついでに手元の Fedora7 on coLinux に CouchDB の trunk を入れたときの手順と、簡単な couchdb の使い方をご紹介しておきます。 基的にはオフィシャルwikiにあるとおり、yum でモジュールを入れていけば問題ありません。素の coLinux からの場合、以下のモジュールが必要でし

    kgbu
    kgbu 2008/06/20
    発表資料は必見。歴史的!
  • 1