General InformationDocumentationDeveloper Articles & TopicsCommunity ForumsBlogUniversity
![MongoDB](https://cdn-ak-scissors.b.st-hatena.com/image/square/218d3c214167171056f2ba139c25ec9cd82c1854/height=288;version=1;width=512/http%3A%2F%2Fs3.amazonaws.com%2Finfo-mongodb-com%2F_com_assets%2Fcms%2Fkuzt9r42or1fxvlq2-Meta_Generic.png)
SSDを使うとDBMSはどう変わる?徹底検証した記事を書きました! WEB+DB PRESS Vol.52 予約受付中です。 実際に最新最速のSSD、Intel X25-Eを使ってDBMSのパフォーマンスを計測するなど、わくわくしながら記事を書くことができました。SSDの実力に驚きつつも、使い方を間違えるとHDDより遅くなる? など新しい発見もあり。 そして、SSDとHDDの違いがどのようにデータベースの性能に影響するのか?ディスク上のデータ構造(ヒープ、B+-treeなど)からバッファ管理など、データベースシステムの中身を解剖してわかりやすく解説しています。読みやすくなったのは丁寧に添削してくださった担当様のおかげです。感謝。 ディスクを活用したデータのソーティング(External merge sortなど)に加え、2009年6月にEdgar F. Codd Innovation Aw
InteropTokyo 2009 クラウドコンピューティングコンペティション(通称クラウドコン)は、我等がえとらぼチームが優勝しました! 実行委員・StarBEDプロジェクト・IBMの皆様を始め関係者の皆様、ありがとうございました。 プレゼンテーションムービーとポスターとパンフレット*1を公開しました。 プレゼンムービー(マウスクリック/矢印キーで進む) PDF版 ポスター パンフレット *2 …どれも相当に気合いが入っているので、ぜひご覧ください^^ Ustream.tvの録画もあります(えとらぼチームはちょっと細切れですが) 途中で行ったデモは、StarBEDの45台の物理サーバーを使ってkumofsを動かして、ランダムで選んだノードを自動的にkill/再起動するスクリプトを走らせたものです。サーバーが落ちてもシステムは全然止まらないし、どのサーバーにも均等に負荷が分散されます。 時
CDB++という,静的ハッシュデータベースライブラリをリリースしました.ライセンスは修正BSDです. 静的ハッシュデータベースなので,いったんデータベースを構築したら,要素の追加や削除は行えません.その代わり,コンパクトなデータベース,高速な構築,高速な検索ができるようになっています.データ構造は,Constant Databaseを採用しています.Constant Databaseの実装はいくつかありますが,クロスプラットフォームでお手軽に使えるものがなかったので,作ってみました.また,このライブラリはcdbpp.hというインクルードファイルのみで構成されているので,このファイルをインクルードするだけでアプリケーションに組み込めます. ハッシュデータベースには,Oracle DBやTokyo Cabinetなど,優れた実装がたくさんあります.しかし,単にキーと値のペアをファイルに書き出し
相対性理論のボーカルが頭から離れないmikioです。熱いわっふるの声に応えて今回はTokyo Cabinetのテーブルデータベースにおける検索機能の実装について語ってみたいと思います。とても長いのですが、最後まで読んだあかつきには、自分でも全文検索エンジンを作れると思っていただければ嬉しいです。 デモ モチベーションをあげていただくために、100行のソースコードで検索UIのデモを作ってみました。Java 6の日本語文書を対象としているので、「stringbuffer」とか「コンパイル」とか「倍精度浮動小数」とかそれっぽい用語で検索してみてください。 インデックスがちゃんとできていれば、たった100行で某検索エンジン風味の検索機能をあなたのデータを対象にして動かすことができます。ソースコードはこちら(テンプレートはこちら)です。 でも、今回はUIの話ではないのです。ものすごく地味に、全文検索
(データベースシステムとその研究の世界を一般の人にわかりやすく伝えるため、「図書館」をモデルにした話を書いてみました。試験に出そうな(?)部分は太字で強調してあります。) 「データベース」という言葉は、データの集まりという意味です。データベースシステムの研究では、例えて言うなら「欲しい本がすぐに見つかる図書館」をいかに作るかという問題を考えます。ここで「データ」は図書館の「本」に相当し、「ハードディスク」は「本棚」がたくさん収められている図書館の建物だと考えてください。 「欲しい本がすぐに見つかる」とはどういうことでしょうか?例えば、図書目録を調べて目的の本棚の番号がわかったとしても、本棚までの距離が遠ければがっかりしてしまいますよね?(高すぎて手が届かない、とか泣けてきます)
サボっていた早朝ジョギング@駒沢公園を再開して2週間たち、やっと抜かれる数より抜く数の方が増えてきたmikioです。今回は、PerlやRubyのハッシュの代用としてTokyo Cabinetを使うことでメモリ使用量を激減させられることを説明します。 抽象データベースAPI Tokyo Cabinetには抽象データベースという機構があり、先日、そのPerlとRubyのバインディングをリリースしました。それを使うと、各種言語のハッシュとほぼ同じような共通したインターフェイスで、以下のデータ構造を利用することができます。 オンメモリハッシュ:各種言語に標準のハッシュと同じく、メモリ上でkey/valueの関係を表現する。 オンメモリツリー:メモリ上の二分探索木としてkey/valueの関係を表現する。 ファイルハッシュ:いわゆるDBMとして、ファイル上でkey/valueの関係を表現する。 ファ
去る1月23日、AJACS(All Japan Annotator/Curator/System DB administrator)勉強会に参加してきた。 AJACS7 - MotDB 統合データベース講習会:AJACS長津田 開催 - 統合ぐらし(2009-01-23) 以前坊農さんのラボ(?)に突入したときのレポートは以下。もう半年近く前なのか...。 ライフサイエンス統合DBプロジェクトの中に乗り込んできた - ミームの死骸を待ちながら 内容としては、黒川先生と中村先生のプレゼンを挟みつつ、 ライフサイエンス統合データベースプロジェクト-統合ホームページ-LSDB ここの使い方を紹介していく形。以下、メモ。 スケジュール 午前:講演+講習 10:30-12:30 時間 講演者 所属 題目 10:30-11:00 坊農秀雅 ライフサイエンス統合データベースセンター 「統合データベースプ
Yahoo! Researchの"Generating Example Data for Dataflow Programs"は恐らくPig Latinのデバッグ用のサンプルデータ生成の話。Hadoopなどの上で、複雑なデータ構造を動的に組み立てていくプログラム書きながら、横に実行結果の例を「適切に」示したサンプルが表示されると、わかりやすいよね、という話。”Towards a simpler XML Schema: effortless handling of nondeterministic regular expressions”はついに来たか、という感じ。Relational styleの考えが入っていて、スキーマ(relation)から考えられるいろいろな木構造をNFAを使って同時に検証する、という流れだったら嬉しい。"DDE: From Dewey to a Fully Dyn
講演タイトル (敬称略): 森大二郎,末永匡: 組み込み型全文検索エンジン groonga - Senna から groonga へ 山田浩之: About Lux IO 平林幹雄: Tokyo Cabinet の歴史 岡野原大輔: Key (-Value) の効率的な格納手法について 前坂徹: memcached 安井真伸: repcached のなかみ たけまる: Kai = (Dynamo + memcache API) / Erlang 上野康平: 分散メディアストレージ的ななにか (仮) 古橋貞之: kumofs - kumo fast storage 西澤無我: ROMA のアーキテクチャ 首藤一幸: peer-to-peer の方から来ました 藤本真樹: Flare のはなし 18:10 開始の予定が実際は 18:30 開始。 20分 x 12件 + 休憩 3回で、23時頃終
greeさんで開催されたKey Value Store勉強会に行ってきました。 時間にして4時間超え、内容も国内のKey-Value Storeなソフトウェアの最前線の話ばかりで相当なボリューム。以下、メモってたのを残しておきたいと思います。(誤字、脱字、内容に誤りを含むものなどありましたらお伝えください)また、発表者の方やプロダクトについて、ざっくり調べてURL見つけられたものについてはリンク張っています。 森さん / 末永さん groonga Sennaの後継エンジン 融通が効かないのがSennaのデメリット スコア算出式のカスタマイズなど Sennaの転置索引 索引の構成部品を自由に組み合わせて使える APIもいろいろ QL DB Low Level memcached互換のkey-value store バイナリのみ対応 計測 クライアント memstorm-0.6.8 mem
key/value storageの話を聞きに行くので、ちょっと予習 人によって色々なのを思い浮かべそうなので、思いついたポイントを列挙。 速度: 超高速(数十クロック~数百クロック/look up)←→人が見てインタラクティブ←→低速 キー: 数値、文字列、バイナリ 更新: 不可、高速、低速 lookup: 1 per 1 operation, multiple keys backing store: 無し、ディスク、ネットワーク 構成: 1thread, multi threads, cluster 記憶効率: compressed, succinct, 普通, 富豪 信頼性: 耐タンパ、耐故障(RAMのソフトエラー等)、ACID、特になし 例によって何か抜けてるとは思いますが、こんだけ組み合わせがあると既存のものがフィットしないで悩むことも多そうです。SQLサーバが全部をカバーしてく
ついに発売されたスト4のコンシューマ機版をやりたくてしょうがないけど筐体を買ってもらえないので、駅前のゲーム屋のディスプレー前で垂涎するばかりのmikioです。今回は連載の最終回で、各種スクリプト言語を使ってお手軽にテーブルデータベースを操作する方法について説明します。 TokyoCabinet::TDB まずは、TCのPerlバインディングとRubyバインディングの最新版を入手してください。それぞれテーブルデータベースを扱うための TokyoCabinet::TDB というクラスが加わっています。以下のようなIDLによるガイドラインに準拠したインターフェイスが提供されますので、使い方は言語にかかわらず同じようになるはずです。 module TokyoCabinet { interface TDB { boolean open(in string path, in long omode);
ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、オークション事業部のWangです。 データウェアハウス(以下DWH)という言葉になじみのない方は検索していただいたほうがよいかもしれません。 検索するのがめんどい、という方は、かみ砕いた表現ができなくて恐縮ですが、 基幹系システムから抽出したデータを目的をもって再構成し、 使用可能な状態に保管されたデータの集合体、とお考えください。 オークションでは、具体的には出品、入札、落札などのトランザクションデータや、 それをいろいろな単位で集計したデータなどが該当します。 ここでいう単位というのはたとえば、日ごと、週ごと、月ごとや、以前の記事でも紹介されている カテゴリといったものになります。 こういったデータは、運用、運営、
コアライブラリを一生懸命書くとユーティリティやバインディングなどの周辺機能がおろそかになり、逆も然りで、工数割り当てのジレンマが歯がゆいmikioです。今回は余談として、Tokyo Cabinetのテーブルデータベース(TCTDB)を作る途中で思いついた更新機能と性能検証について述べます。 アトミックな更新 再び TCTDBで好評だったっぽいアトミックな更新機能をその他のデータベースでも実装してみました。例えばハッシュデータベース(TCHDB)では以下の関数が提供されます。 typedef void *(*TCPDPROC)(const void *vbuf, int vsiz, int *sp, void *op); bool tchdbputproc(TCHDB *hdb, const void *kbuf, int ksiz, const char *vbuf, int vsiz,
最近、忙しさを理由に英会話レッスンをサボりがちになってよろしくないなと猛省するmikioです。今回は、Tokyo CabinetのテーブルデータベースをTokyo Tyrantを使ってデータベースサーバとして利用する方法について述べます。 とりあえず使ってみる Tokyo CabinetとTokyo Tyrantの最新版(1.4.4と1.1.12)がリリースされていますので、インストールしておいてください。またも社員名簿を作ってみましょう。まずは、TTのサーバを実行します。データベースファイルの接尾辞には「.tct」を指定して、テーブルデータベースファイルと接続します。 ttserver casket.tct 別の端末でクライアントを操作して、"put" コマンドで社員を登録しましょう。「-sep」は、コラムのキーと値を区切る文字を指定するオプションです。"|" 以外でも任意の区切り文字を
インフルエンザで休んだ影響で仕事が鬼のように溜まって消化不良のmikioです(こんな記事を書いている場合じゃない)。さて今回は、Tokyo Cabinetでリレーショナル風データベースを実現したテーブルデータベース(TCTDB)の実装について説明します。 SQLiteとの違いは? SQLiteはアプリケーション組み込み型のSQL対応リレーショナルデータベースのライブラリです。TCのテーブルデータベースよりもはるかに高機能で、それでいて性能も大変優れています。いわゆるデスクトップアプリケーションに組み込むデータベースをお探しであれば、TCなんかではなく、断然SQLiteがおすすめです。 一方で、TCなどのDBMは、より単純なデータ操作をより高速に実行できるように設計および実装されています。典型的なユースケースとして、大規模Webサイトのアカウント管理や、データマイニングに伴う集計操作が挙げら
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く