タグ

dbに関するbsheepのブックマーク (23)

  • Big Sky :: 組み込み版 NoSQL、「UnQLite」

    これまで組み込みDBだと SQLite が一般的でしたが、ローカルであっても NoSQL したい、組み込みで使いたい、というニーズはあるかと思います。 そんな場合、UnQLite を使うと便利そうです。 UnQLite - An Embeddable NoSQL Database Engine UnQLite is a self-contained C library without dependency. It requires very minimal support from exte... http://unqlite.org/ unqlite/unqlite - GitHub README.md UnQLite UnQLite is a in-process software library which implements a self-contained, server...

    Big Sky :: 組み込み版 NoSQL、「UnQLite」
    bsheep
    bsheep 2013/07/03
    なんて読むのこれ・・・?うんこライト?
  • ソーシャルゲームのためのデータベース設計

    ・データベース的な観点でのソーシャルゲームの特徴 ・データモデル ・ソーシャルゲームに従来型RDBMSを使うべきか、�流行りのNoSQLで行くべきか ・負荷対策 (アーキテクチャ面) ・負荷対策 (ツール面) ・インフラエンジニアのキャリアについて

    ソーシャルゲームのためのデータベース設計
  • 大人のためのInnoDBテーブルとの正しい付き合い方。

    InnoDB関連でよくある質問のひとつに「テーブルのメンテナンスは何をすればいいんですか?」というものがある。InnoDBMySQL 5.5でデフォルトストレージエンジンとなるため、InnoDBのテーブルメンテナンス計画を立ようと思う機会も増えることだろう。そこで、今日はInnoDBのテーブルメンテナンスの各種方法となぜそうしなければいけないかという理由を解説しようと思う。 ANALYZE TABLEテーブルメンテナンスの代名詞といえば、インデックス統計情報の更新ではなかろうか。運用を続けるうちに、知らず知らずインデックス統計情報が狂ってしまい、思うような性能が出ない。RDBMSにはそのような問題がつきものであるが、InnoDBの場合、ANALYZE TABLEは不要である。なぜなら、InnoDBが自発的に統計情報を更新するからだ。InnoDBは以下の条件に適合すると、ANALYZE T

    大人のためのInnoDBテーブルとの正しい付き合い方。
  • [ThinkIT] 第2回:MyISAMとInnoDB (2/3)

    MyISAMテーブルには固定長構造、可変長構造、圧縮テーブルの3種類のデータ構造があります。前者の2つはレコードデータのサイズの取り扱い方法で、MySQLが自動で選択します。 なお、データ構造は「show table status」コマンドで確認できます。次の例では「TEST00」テーブルが固定長レコードの構造(Row_format: Fixed)でできていることがわかります。 mysql> show table status \G; ******** 1. row *************************** Name: TEST00 Engine: MyISAM Version: 10 Row_format: Fixed Rows: 0 Avg_row_length: 0 Data_length: 0 Max_data_length: 41658296553177087 In

  • ソーシャルゲームのためのMySQL入門 | BLOG - DeNA Engineering

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

    ソーシャルゲームのためのMySQL入門 | BLOG - DeNA Engineering
  • インフラエンジニアのためのcassandra入門

    @marqsさんと@muranetさんと一緒にhbstudy#11で発表させていただきました。 これを機にとか言うとでかすぎる気がしますがCassandraが国内でも盛り上がるといいなーと思います。 懇親会でも結構使おうとしている方がいたりしてうちもうかうかしてられないですねw 資料をあげましたのでこちらよろしかったらどうぞ! インフラエンジニアのためのcassandra入門 View more presentations from Akihiro Kuwano. これだけはかかないと! 素晴らしい会を開いて下さっているハートビーツの方々や、スピーカーの方々、来ていただいた方々に感謝しております 非常に楽しかったです! ただいま二日酔いですw

    インフラエンジニアのためのcassandra入門
  • DB設計時のサイズ見積もり - よねのはてな

    ここのところ、javaccとawsに魅了されている米林です。 よく使うDB(Oracle/MySQL/PostgreSQL/SQLServer)における設計時のサイズ見積もりで使うサイトの備忘録。 あとは、OracleからのPython情報。 Oracle Oracle 物理設計 http://www.oracle.com/technology/global/jp/columns/skillup/oracle9i/index.html 領域サイズ見積もり http://otn.oracle.co.jp/document/estimate/index.html OTNにログインする必要ありますがオンラインで見積もりが出来ます。 アカウント持っていない人は、この見積もりツールを使う目的でアカウントを作ってみてはいかがでしょうか。 OLTP系とDWH系においてブロックサイズを考慮し、DWH系はブ

    DB設計時のサイズ見積もり - よねのはてな
    bsheep
    bsheep 2009/05/12
  • ユーザーの伝票明細テーブルを間違ってTRUNCATEした。 ROLLBACKも効かない。:アルファルファモザイク

    編集元:プログラマー板「759 :仕様書無しさん: 2009/03/12(木) 07:32:32 」より 178 WBC監督(東京都):2008/09/14(日) 22:30:48.60 ID:mNrtA2B90 深夜のメンテナンス作業で眠くて眠くて、ユーザーの伝票明細テーブルを間違ってTRUNCATEした。 ROLLBACKも効かない。 あせってArcserve開いてテーブルを戻そうとする・・・ログウィンドウを見ると、 バックアップバッチは数ヶ月前から停止したままだった。 頭が真っ白になった。 IDCを出て深夜の自席に戻って、机の中の大事なものをかきあつめてかばんに詰めた。 社員証を課長の机の上に置き、会社を出て、アパートに戻る。 保険証、パスポート、前の年に死んだ愛犬の写真を持ち、始発にあわせて家を出る。 携帯が鳴り始める。何度も何度も何度も。空港につくころには着信

  • MySQLクイック・リファレンス

    この文書は、osCommerceで使用しているデータベースMySQLの基的な使い方について解説しています。おもにデータベースの管理者よりも、ユーザに向けて書かれています。 はじめに ここでは、MySQLサーバは起動しているものとして説明します。 MySQLの文字について MySQLでは、データベース名やテーブル名の大文字と小文字を区別しています。それ以外は区別しません。 MySQLのフィールド名やテーブル名に使える文字は、英数字と_(アンダーバー)、$、サーバのキャラクタセットにある文字です。 知っておきたいコマンド mysqladmin(データベースの作成・削除や、MySQLサーバの情報を得る) mysqlshow(データベース、テーブルの情報を表示する) mysqlMySQLクライアントの起動) mysqldump(データベース、テーブルをダンプする) myisamchk(テーブル

  • RDBのテーブルについて質問です。 テーブルを作る際に、 CREATE TABLE TableName (   id INTEGER,   value VARCHAR(255),   PRIMARY KEY(id) ); や CREATE…

    RDBのテーブルについて質問です。 テーブルを作る際に、 CREATE TABLE TableName ( id INTEGER, value VARCHAR(255), PRIMARY KEY(id) ); や CREATE TABLE TableName2 ( id INTEGER, value VARCHAR(256), PRIMARY KEY(id) ); などのように、カラムの桁数を「2の階乗数」または「2の階乗数-1」といった数にしている例をたまに見かけます。 これは何か重要な意味のある事なのでしょうか? また、「2の階乗数」と「2の階乗数-1」ではどちらかがより適切である、といった違いはあるのでしょうか。 ちなみに特に興味があるDBMSはMySQLとPostgres SQLです。 よろしくお願いします。

  • Tokyo TyrantによるHAハッシュDBサーバの構築 - mixi engineer blog

    来年のバレンタインデーに、正確には「2009-02-14T08:31:30+09:00」に、UNIX時間が「1234567890」を迎えることを発見してちょっと嬉しいmikioです。さて、今回は高効率ハッシュデータベースサーバTokyo Tyrantを用いてHAハッシュデータベースを構築する手法についてご紹介します。ちょっと難しいし非常に長い内容なのですが、最後までお付き合いくださいませ。 可用性と保全性 HA(High Availability:高可用性)とは、可用性(Availability)が高いことです。それでは説明になっていないので詳しく言い替えますと、システムに障害が起きにくくすることと、たとえ障害が起きたとしてもできるだけ迅速に復旧できるようにすることです。データベース系のシステムはユーザのデータを管理するという中核的役割を担うため、可用性を高めることは最も重要な課題となりま

    Tokyo TyrantによるHAハッシュDBサーバの構築 - mixi engineer blog
    bsheep
    bsheep 2008/05/26
    1234567890
  • Kazuho@Cybozu Labs: データベースの差分バックアップとウェブサービスのお引っ越し

    « C++ テンプレートを使って高速な高機能サーバを書く方法 | メイン | YAPC::Asia 2008 で Pathtraq について話してきました » 2008年05月01日 データベースの差分バックアップとウェブサービスのお引っ越し 現在、Pathtraq のサーバを、オフィス内のサーバルームに設置されたマシンからデータセンタ内の新サーバへ移行する作業を行っています。その際に問題となるのは、ダウンタイムを最小にしつつ、100GB 弱ある MySQL のデータをいかに移動させるか、という点になります。答えは言うまでもなく差分転送なのですが、rsync は双方向の接続が必須だったり、差分情報をキャッシュすることができなかったり、いろいろ融通が効かなそうです。だんだん調べるのも面倒になってきたので、自分のニーズに見合う、データベースファイル用の差分バックアッププログラムを書いてみました

  • 重複レコードをSQLデータベースから一括削除 | 株式会社フォレスト・コンサルタンツ

    01/13 Re2:「福沢諭吉の正体」-補足1-東大話法の元祖(山根治) 01/13 Re1:「福沢諭吉の正体」-補足1-東大話法の元祖(Kan Yabumoto) 01/07 Re6: ホリエモンの弁解術 -1(Smitha695) 01/07 Re1:謹んで新年のご挨拶を申し上げます(須増) 12/01 Re25: 倉田まり子事件の真相 -その3(ナマナマ) ※以前別の場所で書いた文章を備忘的に書き記しておきます。 MySQLでデータベース操作をしていると、間違って同一データを複数回データベースに挿入してしまうことがあります。すなわち重複レコードの発生です。 そのような時は「SELECT DISTINCT」を使ってデータを取り出せばいいのですが、たまに重複レコードを削除して取り出せないケースも出てきます。また、データ(レコード数)が多くなってくると、重複したレコードをデータベースから一

  • MySQL (InnoDB) における行のサイズと速度の関係について - kazuhoのメモ置き場

    集約演算を行うケースでは、行のサイズを小さく保つことはとても重要。アクセス頻度が低いコラムは別テーブルに追い出すとかしたほうがいいくらい。 一方、集約演算を行わないケース (単一行の insert, update 等を含む) の場合は、(クライアントとの通信のための) システムコールがオーバーヘッドになるので、小さなテーブルにたくさんアクセスをするよりも、長い行を持つテーブルに1回アクセスするほうが良い。 たとえば手元の環境での insert on duplicate key update の速度は、 行のサイズ 必要時間 0KB 1 3KB 4 6KB 7 9KB 13 12KB 13 とかそんな感じ (環境やクエリによる変わるので自分で測定してね。9KB の速度低下はページサイズの1/2を超えたからかな)。つまり、行のサイズが1KB程度だと、通信のオーバーヘッドが大きいからあまり問題に

    MySQL (InnoDB) における行のサイズと速度の関係について - kazuhoのメモ置き場
  • つくるぶガイドブログ: Catalyst Jifty::DBIの組み合わせを試してみる

    こんにちは、Perl担当の西山です。 PerlにはたくさんのDBアクセス用のモジュールが用意されていますが、 皆さんはどのDBアクセスを使用していますか? 最近ではDBIx::Class(通称DBIC)がデファクトと呼ばれていますね。 ある程度長くPerlを使っている人だとClass::DBI(通称CDBI)に手馴れていて 今でも使っているケースもあると思います。 あとはSix Apartの社内標準モジュールとして開発・公開されている Data::ObjectDriverもありますね。 Jifty::DBIとは 数あるDBモジュールの中でも個人的に気になっているモジュールがありまして、 それがJifty::DBIです。 DSLを駆使しててかっこいい、独創的、奇抜、変態、などなどと賞賛されているWebアプリケーションフレームワーク「Jifty」と セットで開発されているDBアクセ

  • SQLで木と階層構造のデータを扱う――入れ子集合モデル

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • 探偵 料金比較窓ロ|探偵 料金比較窓ロでは気になる探偵の料金を簡単に比較できるサービスです。浮気調査などで探偵に依頼を検討している方に是非!

    タントくんでは、無料で依頼者ごとの調査内容を詳しくヒアリングし詳細な料金見積もりを提示して、その人にあった探偵事務所を紹介します。 直接探偵事務所とやり取りをしないので、料金に納得がいかなければ気軽に断れるし、断っても嫌な顔をされるどころか親身に今後についての相談にものってくれます。 またタントくんで紹介される探偵事務所はどこも老舗で信頼のおける探偵事務所ばかりです。全国対応なので、地方の方でも安心して依頼できます。

    探偵 料金比較窓ロ|探偵 料金比較窓ロでは気になる探偵の料金を簡単に比較できるサービスです。浮気調査などで探偵に依頼を検討している方に是非!
    bsheep
    bsheep 2007/07/26
    検索キーとして使用する可能性が少ないものは、シリアライズして、一つにまとめるメソッド
  • MySQLクイック・リファレンス

    この文書は、osCommerceで使用しているデータベースMySQLの基的な使い方について解説しています。おもにデータベースの管理者よりも、ユーザに向けて書かれています。 はじめに ここでは、MySQLサーバは起動しているものとして説明します。 MySQLの文字について MySQLでは、データベース名やテーブル名の大文字と小文字を区別しています。それ以外は区別しません。 MySQLのフィールド名やテーブル名に使える文字は、英数字と_(アンダーバー)、$、サーバのキャラクタセットにある文字です。 知っておきたいコマンド mysqladmin(データベースの作成・削除や、MySQLサーバの情報を得る) mysqlshow(データベース、テーブルの情報を表示する) mysqlMySQLクライアントの起動) mysqldump(データベース、テーブルをダンプする) myisamchk(テーブル

  • SQL::Abstract かしこす - daily dayflower

    以前「DBICで当に困ったら SCALAR REFERNCE を使え - daily dayflower」にて, DBIC で WHERE field1 IS NOT NULL な検索をしようと思って, …… $resultset->search({ field1 => \'IS NOT NULL' }); とか書いていたんですが, $resultset->search({ field1 => { '!=', undef } });でよかったのでした。 $resultset->search({ field1 => undef });が WHERE field1 IS NULLというのは知っていたんですが,'!=' をつけるときちんと「IS NOT NULL」に変換してくれるとは(SQL::Abstract の 714 行目あたりのロジックとしてちゃんとありました)。これでスカラーリファレ

    SQL::Abstract かしこす - daily dayflower
  • CatalystでDBICを使っていてSELECT時にテーブルを結合(JOIN)する | ブログが続かないわけ

    前回の間違いを修正しました。 今回はCatalystでDBICを使う際、searchでjoinを実現する方法を説明します。 例アプリケーション名はMyApp。 ユーザー情報を格納しているUser というテーブルがあり、そこには都道府県がコードで格納されている。 都道府県はPref といテーブルにコード(pref_id)と都道府県名(pref_name)が1対1で対応している。 まず、model は下記のヘルパースクリプトで機械的に作っていますよ ね...?script/myapp_create.pl model DBIC DBIC DBI:mysql:mydb user passこれ(Catalyst::Model::DBIC)はあまり推奨されていないようですので、Catalyst::Model::DBIC::Schema を使うようにしましょう。script/myapp_create.p

    CatalystでDBICを使っていてSELECT時にテーブルを結合(JOIN)する | ブログが続かないわけ