タグ

DB,SQLに関するtyruのブックマーク (15)

  • JSONで入出力可能なNoSQL「Couchbase」が最初の製品をリリース

    JSON形式で入出力可能なドキュメントデータベースの「CouchOne」と、Memcached互換のキーバリュー型データストアの「Membase」、それぞれの開発企業が先月合併した「Couchbase」から、最初の製品「Couchbase Server」がリリースされました。Linux版、Windows版、MacOS版が用意されています。 無償のCommunity Editionと同時に、24時間365日のサポートがあるEnterprise Editionもリリース。両者の機能に違いはないとのこと。 合併後1カ月で統合製品をリリース Couchbaseは、JSONで入出力可能でスキーマ設計が不要な、柔軟性が高く使いやすいフロントエンド部分と、Memcachedと互換性のある高速なメモリキャッシュ機能を備え、自動シャーディングとクラスタリングによるスケーラビリティを備えたバックエンドから構成

    JSONで入出力可能なNoSQL「Couchbase」が最初の製品をリリース
  • ウノウラボ Unoh Labs: viの中でSQLを実行する

    こんにちは,ttsuruoka です. vi の中で SQL を実行することができるプラグイン, dbext.vimを紹介します. 機能(一部) - ex コマンドで SQL 文を入力して,その結果を取得 :Select user_id from users order by rand() limit 7 Result バッファに結果が表示されます - 選択したテキスト部分のSQLを実行 // プログラム中のSQL $query = "SELECT * FROM users LIMIT 10"; // 変数が含まれている場合 $query = "SELECT * FROM users LIMIT $n"; // プレースホルダーが含まれている場合 $query = "SELECT * FROM users LIMIT ?"; php 等のプログラムに書かれている SQL

  • RubyからGitをデータストアとして使う·Git Store MOONGIFT

    コミュニティサイトなどではユーザが自由にテキストを変更できる機能がある。自分のプロフィールを更新したり、Wikiのようにコラボレートするようなものだ。その際、重要になるのが履歴管理機能だ。ユーザの間違った修正などを元に戻したり、悪意ある更新からコンテンツを保護する必要がある。 Gitをデータストアに使うという方法! 更新前に現在のテキストを全て保存してしまうのも手だが、ここではGitを使うという手法をご紹介したい。使い方も簡単だ。 今回紹介するオープンソース・ソフトウェアはGit Store、Gitを使ったデータストアライブラリだ。 Git Storeはデータストアということもあって、キーと値の仕組みをとっている。キーを指定して値を入れ、コミットを行えばそのデータが適用される。memcachedのようなシンプルさで、それでいて履歴管理までされるのが素晴らしい。なお、そのログや前のバージョン

    RubyからGitをデータストアとして使う·Git Store MOONGIFT
  • Firefox Bookmarks dump/restore script.

    tyru
    tyru 2011/01/25
    「Firefox Bookmarks dump/restore script」まぁブックマークのバックアップ/復元とかfirefoxからできるけどなんとなくDBIのコードとしてダウンロードしておこう
  • Leo's Chronicle: ぜひ押さえておきたいデータベースの教科書

    先日のエントリで少し話したのですが、僕が在学していたときの東大にはデータベースを学ぶためのコースというものがありませんでした(DB関係の授業は年に1つか2つある程度。現在はどうなんだろう?)。そんなときに役だったのは、やはり教科書。読みやすいものから順に紹介していきます。(とはいってもすべて英語です。あしからず) 一番のお薦めは、Raghu Ramakrishnan先生 (現在は、Yahoo! Research) の「Database Management Systems (3rd Edition)」。初学者から研究者まで幅広く使えます。データベース管理システム(DBMS)の基概念から、問い合わせ最適化、トランザクション管理など、これらを実装・評価するために必要な、「DBの世界での常識」が、丁寧な語り口でふんだんに盛り込まれています。この1冊を読んでおけば、DBの世界で議論するための

  • 第3回 バックアップとリカバリ―「もしも」に備え、転んでも泣かない子になる(1) | gihyo.jp

    はじめに データベースには、重要なデータが多く保存されています。企業の財務状況から、私たち個人のプライバシーに関わるものまで、近年ではほとんどありとあらゆるデータがデータベース化されています。もし、そのデータが何かの間違いで消失してしまったら、データベースを管理していた企業やシステム構築を請け負った企業の受けるダメージは計りしれません。 しかし現実には、データ消失のニュースは定期的と思えるぐらい繰り返し報じられます。最近では、クラウドサービスのEvernoteでデータが消え、顧客6,323人に影響を与えた可能性があると報じられた話は記憶に新しいですし、昨年にはMicrosoft傘下の携帯電話向けサービスDangerでもユーザデータが消失する事件が起きました。 こうした障害が発生する原因は、大きく分けて2つあります。1つ目は論理障害と呼ばれるもので、そもそもシステムのロジックに欠陥があって、

    第3回 バックアップとリカバリ―「もしも」に備え、転んでも泣かない子になる(1) | gihyo.jp
  • 第5回 SQLで木構造を扱う~入れ子集合モデル (1)入れ子集合モデルとは何か | gihyo.jp

    はじめに 木構造と呼ばれるデータ構造の一種があります。1つのルート(根)と呼ばれるノードを始点として、(⁠通常)複数のリーフ(葉)と呼ばれるノードまでを経路で結んでできるデータ構造です。その名のとおり自然界にある「木」の構造ですし、学校時代、確率の授業で樹状図を書いた経験のある人もいるでしょう。 この構造は、私たちの周囲にとてもたくさん存在します。家系図や組織図も木ですし、IT関連の例では、ヒープやRDBのインデックス、ディレクトリ(フォルダ)によるファイルシステムやXMLも木構造です。Webの掲示板でも、最初の書き込みをルートとしてそれに対してコメントがつけられ、そのコメントにまたコメントがつけられるというプロセスで木構造を形成します。ここでは1つの書き込みがノードになります。 このように、IT技術と木構造は切っても切れない関係にありますし、多くの分野で応用されてもいるのですが、実は長い

    第5回 SQLで木構造を扱う~入れ子集合モデル (1)入れ子集合モデルとは何か | gihyo.jp
    tyru
    tyru 2011/01/20
    入れ子集合モデル
  • 配列から効率良くプレースホルダを作る : にぽたん研究所

    my @a = qw(foo bar baz); こんな配列から ?,?,? という文字列を使いたい場合があります。 例えば、 SELECT * FROM hoge WHERE user_id IN (?,?,?); みたいな SQL にする場合のプレースホルダを作ると言った具合に。 社内 IRC で、clouder さんが言い出して、 18:27 <clouder>join(',', map('?', @a)) 18:27 <clouder> こんなのしか思いつかない。。 と言う。 まぁ、それが妥当というか、普通それが思い浮かぶよなーって思ってたら、会社の dos さんという人が 19:15 <dos> '?,' x @a; で s/,$//; というソリューション とか、異様なことを言い出した。 sub placeholder_from_array { return join(',',

    配列から効率良くプレースホルダを作る : にぽたん研究所
  • 全文検索エンジンgroongaをテストリリースしました。 - グニャラくんのグニャグニャ備忘録@はてな

    全文検索エンジンのgroongaをテストリリースしました。 groonga 日開催された、key-value store勉強会で発表させていただきました。 今まで、Sennaには Tritonn経由で使った場合、MySQL側のインデックスとの併用が難しく、Senna来のパフォーマンスが発揮できなかった。 従来のインターフェースでは、トークナイザの切り替えなどの柔軟性がなかった。 といった問題がありました。 groongaは、それに対する返答です。 自分でデータベース書けばいいんじゃね? 柔軟なAPI用意すればいいんじゃね? ってことですね。 データベースは、key-valueストアを組み合わせたcolumnストア的な感じになっています。 詳細については、今後別エントリやドキュメントで述べます。 今後は、Sennaはバグ修正のみ行うメンテナンスモードに移行します。 実際使ってみよう 今回

    全文検索エンジンgroongaをテストリリースしました。 - グニャラくんのグニャグニャ備忘録@はてな
  • NoSQLとしてMySQLを使うDeNAが、memcachedよりも高速な75万クエリ/秒を実現

    モバゲーで知られるDeNAは、バックエンドデータベースにNoSQLを使っていません。なぜか? それはMySQL/InnoDB 5.1の環境で秒間75万クエリという、多くのNoSQLでも実現できないような高性能を実現しているから。DeNAの松信嘉範(まつのぶよしのり)氏は、自身のブログにこんな内容のエントリ「Using MySQL as a NoSQL - A story for exceeding 750,000 qps on a commodity server」(英語)をボストしています。 Yoshinori Matsunobu's blog: Using MySQL as a NoSQL - A story for exceeding 750,000 qps on a commodity server 松信氏が指摘するように、大規模なネットサービスを提供している企業の多くは分散環境で

    NoSQLとしてMySQLを使うDeNAが、memcachedよりも高速な75万クエリ/秒を実現
  • Vimから任意のデータベースを操作 - mfumiの日記

    ふとSQLを勉強しようと思ったんですが、ちまちまコマンドラインのクライアントから入力するのはきついので、Vimから操作できないのかなーとか妄想してたら普通にありました。 dbext.vim - Provides database access to many DBMS (Oracle, Sybase, Microsoft, MySQL, DBI,..) : vim online 使い方 初期設定 まずはじめに使用するSQL等の設定をする必要があります。 :DBPromptForBufferParameters か、<Leader>sbp(普通<Leader>は\)をすると対話形式で設定ができます。以下の項目などを設定します。 ・使用するSQLの種類(MySQLとかSQLiteとか) ・ユーザー名 ・パスワード ・サーバーのホスト名 ・使用するデータベース名 他にももっといろいろと設定できる

    Vimから任意のデータベースを操作 - mfumiの日記
  • クラッキングママ

    Randall Munroe

  • MySQLのVARCHARサイズについて

    正確な最大長がわからないときの最小かつ十分なサイズの値ってどう決めるのが良いのだろうーと思ってつぶやいてみたところ、多くの方々に返信いただけました。ありがとうございます。

    MySQLのVARCHARサイズについて
  • 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
  • MySQLのインデックスを学ぶ (1) - 刺身☆ブーメランのはてなダイアリー

    実践ハイパフォーマンスMySQL 第2版とLinux-DBシステム構築運用入門を読んで、 MySQL のインデックスについて勉強しなおしている。理解が曖昧だった部分の知識を深められたり、自分の間違いに気づけたりして、とても収穫が多い。 フルテーブルスキャンとフルインデックススキャン Linux-DBシステム構築運用入門 P185 に書いてあるケース。インデックスを利用してても対象レコード数が多いとランダムI/Oが大量に発生して遅くなる。読むべきレコード数が多いのならばフルテーブルスキャンのほうがI/O一回で多くのブロックを読み込めるので速い。 IGNORE INDEX ヒントを与えてパフォーマンスを改善するという例があった。 マルチカラムインデックスと範囲検索 SELECT * FROM users WHERE a = ? AND b >= ? and (c IS NULL OR c >=

    MySQLのインデックスを学ぶ (1) - 刺身☆ブーメランのはてなダイアリー
  • 1