タグ

DBに関するcomoglyのブックマーク (12)

  • Zend_Db_Table の join でハマる - Memo

    Zend_Db_Table で join を使って、テーブルを結合してデータを取ろうとしてハマった。 発行したい SQL はこんな感じ。 SELECT statuses.id, statuses.user_id, statuses.reply_user_id, statuses.comment, statuses.created_at, users.user_name, users.private_flag FROM statuses JOIN users ON users.id = statuses.user_id WHERE statuses.user_id = ? AND users.private_flag = ? users テーブルと、statues テーブルを id と user_id で join する至って普通なもの。 O/R マッパとして Zend_Db_Table_A

    Zend_Db_Table の join でハマる - Memo
    comogly
    comogly 2012/01/14
    setIntegrityCheck(false) で無事にデータを取れる
  • SSD専用に設計された「ReThinkDB」、ロックもログも使わない新しいリレーショナルデータベースのアーキテクチャ

    SSD専用に設計された「ReThinkDB」、ロックもログも使わない新しいリレーショナルデータベースのアーキテクチャ SSDがHDDに代わるストレージとして普及しようとしていることを背景に、SSDに特化したまったく新しいアーキテクチャを備えたリレーショナルデータベースを開発しようとしている企業があります。「ReThinkDB」です。 昨年7月に、PublickeyではReThinkDBの概要を記事「SSDに最適化したデータベース「RethinkDB」、ロックもログも使わずにトランザクション実現」で伝えました。 その記事の中では、ReThinkDBがロックを使わずにトランザクションを実現し、データベース利用中でもスナップショットがとれ、また異常終了しても容易に復帰できる機能を備えている、といったことを紹介しました。 4月に米サンタクララでに行われた「MySQL Conference & Ex

    SSD専用に設計された「ReThinkDB」、ロックもログも使わない新しいリレーショナルデータベースのアーキテクチャ
    comogly
    comogly 2011/01/13
    SSDに特化したまったく新しいアーキテクチャを備えたリレーショナルデータベース
  • SQLiteのテストコードは4567万8000行! 本体のコードは6万7000行

    軽量なリレーショナルデータベースとして人気のSQLite。そのWebサイトに掲載されている「How SQLite Is Tested」の内容が、海外のプログラマなどのあいだで話題になっています。 3月に公開された最新バージョンのSQLite 3.6.23。体のソースコードは約6万7200行(67.2KSLOC、Kilo Source Lines of Code:空行やコメントを除いた行数)なのに対し、テストコードはなんと4567万8300行(45678.3KSLOC)だと紹介されているのです! これはテストコードが体の約679倍もの大きさだということになります。 100%のブランチカバレッジ SQLiteコアのライブラリをテストするテストコードとして、以下の3つが紹介されています。 TCL Tests TCL Testsはもっとも古いテストコードで、TCL scripting lang

    SQLiteのテストコードは4567万8000行! 本体のコードは6万7000行
    comogly
    comogly 2011/01/11
    テストコードが本体の約679倍
  • ソーシャルゲームのためのMySQL入門 | BLOG - DeNA Engineering

    こんにちはこんにちは。最近お腹痛いばっかり言ってることで有名なiwanagaです。 DeNAは外部的にはプラットフォーム的な部分の方がフィーチャーされることが多いですが、実はソーシャルゲームの提供も行っています。怪盗ロワイヤルとか、どこかで聞いたことがあるのではないでしょうか。 僕はDeNAでソーシャルゲームが誕生した辺りからずっとサーバサイドを見てきましたが、そんな運用の中で自分が貯めてきた知見とかTIPSをご紹介したいと思います。 かれこれ10タイトル近くはレビューしたり運用したりしてるため結構言いたいことはいっぱいあるので、小出しにしつつ評判よければ次も書きます。 ソーシャルゲームのためのMySQL入門一覧 ソーシャルゲームのためのMySQL入門 - Technology of DeNA ソーシャルゲームのためのMySQL入門2 - Technology of DeNA 「MySQL

    ソーシャルゲームのためのMySQL入門 | BLOG - DeNA Engineering
    comogly
    comogly 2010/11/16
    全然入門じゃない件。
  • レプリケーションとは 【replication】

    概要 レプリケーション(replication)とは、あるコンピュータやソフトウェアの管理するデータ集合の複製(レプリカ)を別のコンピュータ上に作成し、通信ネットワークを介してリアルタイムに更新を反映させて常に内容を同期すること。システムの耐障害性や可用性を高めることができる。 複製元のデータが追加、更新、削除などされると、リアルタイムに複製先に伝達され、同じ変更が加えられる。ネットワークやコンピュータへの負荷は高いが、複数のサーバなどの間で常に同様の記憶内容が維持される。最小の構成では現用系(マスター)と待機系(スレーブ)の2系統の同期が行われるが、複数の待機系へ同時に同期して信頼性を高める場合や、現用系が複数ありそれぞれに加えられた変更を互いに通知し合って同期する構成(マルチマスター)もある。 複製元と複製先のソフトウェア環境やサービス、機能は同等になるよう設定されており、複製元が障害

    レプリケーションとは 【replication】
  • 関係データベース管理システム - Wikipedia

    関係データベース管理システム(かんけいデータベースかんりシステム)またはリレーショナルデータベースマネジメントシステム(英語: relational database management system、略称:RDBMS)は、関係データベース (RDB) の管理システムである。RDB がデータベースの種類を示すのに対して、RDBMSRDB の実装を示す。標準問い合わせ言語として SQL を用いたアクセスを行うため、相対する言葉として RDBMS 以外のデータベースを意味する NoSQL (Not only SQL) がある。 2007年の時点では、広く知られていてまた広く使われているデータベースのほとんどは関係データベースであったが、その後NoSQLが発展したため必ずしもそうとは言えなくなっている。 SQLを扱うRDBMSが表を使って演算を行う事から、全く異なる用途の表計算ソフトと間

    comogly
    comogly 2009/11/10
  • PDO(PHP Data Objects)を試してみる - PDO_OCIは今どんな感じ? - Do You PHP?

    PDO1.0以降、定数が「PDO_xxx」から「PDO::xxx」に変更になっていますので、それ以前のバージョンを使用していた方は注意が必要です。 2005/06/10付けでPHP5.1.0β1がリリースされましたが、標準の拡張モジュールとしてPDOが含まれており、configure時に「--with-pdo-oci」を付けてbuildするようになります。 PHPDBを扱う際、最も一般的な方法としてOCI8やpgsqlmysqlなどの拡張モジュールを使用する方法が上げられますが、DBによってAPIが異なってしまいます。これを抽象化するため、データ抽象化レイヤ(Data Abstraction Layer)に相当する各種ライブラリが多くで回っています。現時点で出回っているライブラリとしては、おそらくデファクトスタンダードであると思われるPEAR::DBや拡張モジュールのdbx、最近流行(

  • PostgreSQL の COPY コマンドと SQL だけで様々なデータをインポートする - hoge256ブログ

    PostgreSQL の COPY コマンドと SQL だけを使って、いろいろなデータをテーブルにインポートする方法についてまとめてみました。 プログラミングが得意で、データベースはあんまり得意じゃないっていう人だと、データをインポートする際に、何でもかんでもゴリゴリとプログラムを書いて済ませてしまうことが多いかと思いますが、COPY コマンドと SQL だけでも結構複雑なデータをインポートすることができたりしますので、簡単に紹介してみます。 シーケンスをインクリメントしながらインポートする 例えば、次のような感じのテーブルと user_no_seq というシーケンスがあったとします。 user_no | user_name | total_score ---------+-----------+------------- 1 | A | 120 2 | B | 130 3 | C | 9

  • mixi Engineers’ Blog javascript

  • DBMによるデータベースサーバ - mixi engineer blog

    DSのスターフォックスというゲームにはまりまくりのmikioです。最近社内外で「俺ストレージサーバ」を作るのが流行っているようなので私も参戦してみました。今回はDBMのネットワーク層をほぼスクラッチで作った話をします。 Tokyo Tyrant Tokyo Tyrant(以下TT)はTokyo Cabinet(以下TC)をラップしてネットワーク越しに操作できるようにするツールです。キャビネット(内閣)を傀儡にするタイラント(僭主)ということで名付けました。ダウンロードはこちら。 TCは高性能なDBMで、マルチスレッドモデルで高い並列性を実現していますが、逆にマルチプロセスモデルだとファイルロックがかかるので並列性が低くなってしまいます。つまり、書き込みモードでデータベースにアクセスしているプロセスがいると、その間は他のプロセスがデータベースに接続しようとするとブロックされることになります。

    DBMによるデータベースサーバ - mixi engineer blog
  • プレーンなdumpファイルから特定条件のデータだけimportする - Do You PHP はてブロ

    個人用メモ。 データ移行とかテスト用DB構築のため、dumpファイルを使うことが多いのですが、特定条件を満たすデータだけを移行したい場合があります。こんな場合の王道(?)は dumpファイルをimportして、いらないデータをDELETEする かと思いますが、HDD容量とかの関係でできない場合もあります。 そんな時は、データを間引いたdumpファイルを作ってそれをimportするようにしています。dumpファイルは基的にテキストなので、grepでパターンを指定してやれば目的のデータは抽出できます。あとは、dumpファイルのヘッダ(先頭からCOPYコマンドまで)を抽出データの先頭にコピーしてやればOK。ヘッダはこんな感じ。 -- -- PostgreSQL database dump -- SET client_encoding = 'EUC_JP'; SET standard_confo

    プレーンなdumpファイルから特定条件のデータだけimportする - Do You PHP はてブロ
  • 制御構文 - 2部 Perl言語仕様 - [SMART]

    条件文 条件文はいくつかの選択肢をコード内で実現したい際に使用します。「もし~ならば、・・・を実行する」、「もし~ならば、・・・を実行しない」といったように条件によって処理を実行したり、いくつかの選択肢の中からひとつの処理を実行したりといったことを実現することができます。 if文 「もし~ならば、・・・を実行する」という条件つきの命令を実現するために、if 文が用意されています。if文は、カッコの中の条件式を評価し、TRUE のときだけ if ブロックの命令文を実行します。 if ( 条件式 ) { 処理.... } 変数 $var の値が A の時だけ出力するには次のようになります。 if ( $var eq 'A' ) { print "Aです\n"; } 条件式は複数あってもかまいません。複数の条件を並べたいときは、論理演算子の and もしくは or を使います。 # or: $v

    制御構文 - 2部 Perl言語仕様 - [SMART]
  • 1