タグ

dbに関するsgtakeruのブックマーク (22)

  • InnoDB行ロック待ちの秒数をセッション単位で指定する[MySQL 5.1, MySQL 5.5の場合] | キムラデービーブログ

    InnoDBの行ロック待ち時間は秒単位でinnodb_lock_wait_timeoutシステム変数に指定した時間待つ仕様になっていました。(デフォルトは50秒) ただMySQLではこの変数はグローバルでしか設定できず、一部のクエリのためだけにグローバル設定を変更するのはインパクトが大きく、特定の接続(セッション)やクエリ単位で設定できないかという機能要求があげられていました。 innodb_lock_wait_timeout is not dynamic, not per session ビルトインのInnoDBでは、この動作は変わりませんが、PluginのInnoDB(MySQL 5.1 + InnoDB Plugin 1.0, もしくはMySQL 5.5(InnoDB Plugin 1.1))では、innodb_lock_wait_timeoutにセッション単位のものが用意され、以下

    InnoDB行ロック待ちの秒数をセッション単位で指定する[MySQL 5.1, MySQL 5.5の場合] | キムラデービーブログ
  • RDBMSに関する典型的な誤解が絶えないという現実

    新入社員必読、データベースの基を理解しよう - データベースはなぜ必要なの?:ITproという記事に対するブクマで次のようなIDコールが来た。(現在はコメント返しへのお礼が入っているので、文字数制限のためオリジナルのコメントは少し切り詰められている。) "リレーショナルデータベースはすべてのデータを2次元の表形式で表現"こういうのもリレーションが2次元構造という誤解の一種なんだろうか。id:nippondanjiさんが書いてたような。 さて、この疑問に対する正解は如何なるものだろうか? つい先日「7つのデータベース 7つの世界」の書評で書いたばかりだが・・・ 言うまでもなくその通りである。 リレーションが2次元的な構造を持っているというのは典型的な誤解だ。(ちなみにリレーションの次元は属性の数に等しい。n個の属性があるリレーションはn次元。)リレーショナルモデルについてちゃんと学習してい

    RDBMSに関する典型的な誤解が絶えないという現実
    sgtakeru
    sgtakeru 2013/06/01
    2次元だと勘違いしてた。RDBMSの理論はおろそかにしてるところだ。。
  • MySQLがおかしい!あなたならどうしますか? – MySQL Casual Advent Calendar 2011 - As a Futurist...

    しわっす!DBA 兼オペレーションエンジニア兼タスクマネージャやってる riywo です。何のネタを書こうかなぁと考えたのですが、正直ネタを仕込む時間もなかったので僕がいつもやってることをさらっと紹介するということで勘弁して下さい>< MySQL がおかしい! 03:14 hidek: なんかエラー出まくってるんだけど! 03:14 zigorou: MySQL と通信してるとこっぽい 03:15 riywo: 見ます こんなやりとりは皆さん日常茶飯事ですよね?ね?ね?こんな時に、DB に責任を持つものとして真っ先に対応するのが僕らの仕事です。でも、じゃあ具体的にこのあと何をしましょう?既にサービスはエラーだらけで一刻を争う状態です。 (対応開始) まずはエラーメッセージ 今回の様な場合はアプリのエラーログにどばっと MySQL に関するエラーが出ているでしょう。まずはそれを見ることが始ま

    MySQLがおかしい!あなたならどうしますか? – MySQL Casual Advent Calendar 2011 - As a Futurist...
  • 複合主キーを避けるべき理由 - 虎塚

    データベース設計の話をしていて、「連番の主キーは業務上意味のないデータだから、テーブルに持たせるのはムダだ。複合主キーにするべき」という意見を聞く機会がありました。 脊髄反射で「ないわー」と思ったものの、理由を上手く説明できなかったので、改めて考えてみました。 その結果、次のような結論に至りました。 単一の連番カラムによる主キーと、複合カラムによる主キーとで迷ったら 実装をシンプルにし、業務変更の影響範囲を小さくするために、複合主キーを避ける というわけで、調べたことや考えたことをメモしておきます。# 間違っている部分があれば、教えていただけると嬉しいです。 (2011/07/25 追記)複合主キーとサロゲートキーについては、要件やシステムに依存して多様な判断がありうると思います。にもかかわらず、「避けるべき」というタイトルにしたのは極端でした。申し訳ありません。ご指摘下さった皆さん、あり

    複合主キーを避けるべき理由 - 虎塚
  • DBの「トランザクション分離レベル」が必要な理由  (PostgreSQLで,ファントム・リードを防止すべきサンプル事例) - 主に言語とシステム開発に関して

    データベースには,「トランザクション分離レベル」というものがある。 以下では,それが なぜ必要なのか? デフォルトのレベルでは,どうして駄目なのか? PostgreSQLでは,どうやってレベルを変更・確認するのか? などを取り上げる。 トランザクション分離レベル トランザクション分離レベルとは: 複数のトランザクションが同時に実行された場合に、他のトランザクションからの影響がどのくらい「分離」するか,のレベル。 ANSI規格では,4つのレベルがある。 READ UNCOMMITTED (一番低い) READ COMMITTED REPEATABLE READ SERIALIZABLE(一番高い) 徹底比較!! PostgreSQL vs MySQL 第3回:トランザクションの比較 http://thinkit.co.jp/free/article/060... トランザクション処理に詳しく

    DBの「トランザクション分離レベル」が必要な理由  (PostgreSQLで,ファントム・リードを防止すべきサンプル事例) - 主に言語とシステム開発に関して
    sgtakeru
    sgtakeru 2011/01/05
    分かりやすい。
  • 外部接続を許可してみる - 悲喜交々 -へたれの技術メモ置き場-

    Linux等にDBソフトを導入したのなら、外部接続を容認できるようにしておかなければ非常に面倒だ Oracleで言えば、リスナーの設定がこの定義にあたる。MySQLではユーザー作成時にユーザーを利用できるホストを指定できる(この時に定義しなければホストを問わない外部接続が可能) んじゃ、PostgreSQLではどういう風に設定すれば良いのか 接続の設定定義ファイルはインストールディレクトリ内のdataファイルに存在する pg_hba.confというファイルがそれ このファイルの大体63行目からが設定を定義している # TYPE DATABASE USER CIDR-ADDRESS METHOD # IPv4 local connections: host all all 0.0.0.0/xx md5こんな記述がなされている 8.2のconfではIPとマスクが一つの区分で定義されているが、他

    外部接続を許可してみる - 悲喜交々 -へたれの技術メモ置き場-
    sgtakeru
    sgtakeru 2010/12/21
    postgresqlで外部端末から、DBサーバへのアクセス許可
  • [PostgreSQLウォッチ]第39回 PostgreSQL 8.4の新機能「再帰SQL」と最新情報

    来年はじめのリリースを目指して開発中のPostgreSQL 8.4の姿が見え始めてきた。今回は8.4の新機能の目玉の一つである「再帰SQLのサポート」を中心にお話しする。 開発にあたっては,PostgreSQLの大規模利用ユーザーである住友電工情報株式会社がリソースを提供し,筆者の勤務するSRA OSS日支社がPostgreSQLコミュニティとの調整および実装を担当した。最終的にはPostgreSQLコアメンバらの協力で実装がブラッシュアップされ,8.4への取り込みが確定した。 プログラミング言語における再帰処理 再帰処理はCやJavaなどの通常のプログラミングでは普通にサポートされており,うまく使うと効率のよいプログラムをきれいに書くことができる。再帰処理は再帰的な構造を持つデータ,例えば木構造やリスト構造を処理する際に良く使われる。 データベースにおける再帰処理 再帰SQLとは,文字

    [PostgreSQLウォッチ]第39回 PostgreSQL 8.4の新機能「再帰SQL」と最新情報
    sgtakeru
    sgtakeru 2010/12/09
    with句を使えるのは、8.4から。
  • How to update unique values in SQL using a PostgreSQL sequence?

  • 文字列型の使い分け — Let's Postgres

    また、PostgreSQL にはいわゆる CLOB, BLOB のような巨大データ専用の型は存在せず、1GB までであれば text や bytea 型をそのまま使えます。1GB を超える場合はラージオブジェクトも利用できますが、アクセスや管理の方法にクセがあるためお奨めできません。数MBまでは text や bytea を使い、それを超えるようなら外部ファイルとして保持したほうが、むしろ安心して運用できるかと思います。 char と varchar, text の比較 PostgreSQL の文字列は以下のような特徴があります。 1. char(n) や varchar(n) の 'n' は「文字数」を表す 他のデータベースではバイト数を表すものもあるので注意しましょう。 2. char(n) は n 文字になるように末尾に空白を追加して保持する n 文字ぴったりで無い限り、末尾の空白の

    sgtakeru
    sgtakeru 2010/10/29
    varcharとtextは内部ではおなじ動き。char、varchar、textの使い分けがわかる。
  • リレーショナル・データベースの世界

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

    sgtakeru
    sgtakeru 2010/10/21
    DBに関することに対する膨大な資料。
  • SSD専用に設計された「ReThinkDB」、ロックもログも使わない新しいリレーショナルデータベースのアーキテクチャ

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

    SSD専用に設計された「ReThinkDB」、ロックもログも使わない新しいリレーショナルデータベースのアーキテクチャ
    sgtakeru
    sgtakeru 2010/05/11
    常に新しいデータを作成して、後ろから読みだす。変更履歴を見るときもわかりやすい?
  • NoSQL – SQLはもう古い?

    Photo by shindotv ここ最近、海外のブログで「NoSQL」という単語をちょこちょこと見るようになりました。 これは新しいデータベースのムーブメントで、「SQL=リレーショナル」ではないデータベースの事を指しています。 NoSQL DBサーバの有名な物は、Facebookがリリースした「Cassandra」、Erlangで書かれた「CouchDB」、日からは、mixiがリリースしている「TokyoTyrant」があります。 またGoogle App Engineでは、DataStoreというBigTableベースのNoSQLサービスが提供されています。 ある程度ユーザを集めたコンシューマ向けサービスは、大抵の場合パフォーマンスとの戦いとなります。 技術誌の中でも「スケールアウト技法」的な記事を目にすることが増えてきたことからも、多くのサイト運営者が、パフォーマンスの問題を抱

    NoSQL – SQLはもう古い?
    sgtakeru
    sgtakeru 2009/11/11
    パフォーマンスを気にする分野では、NoSQLへのパラダイムシフトが始まっている。業務システムにくるにはまだまだ先だろう。
  • NoSQLデータベースを40種類以上リストアップ、キーバリュー型にもいろいろある

    Webスケールのデータを扱うためにさまざまなデータベースが登場してきている、ということを昨日のエントリ「データベースは目的別に使い分けるべし」で紹介しました。 特にリレーショナルモデルをベースとしない、非SQL系(NoSQL)と呼ばれるさまざまな種類のデータベースが登場してきています。非SQL系のデータベースは以前からオブジェクトデータベースやドキュメントデータベース、階層型データベースなどが存在していましたが、最近注目されているのがキーバリュー型データストアと呼ばれるデータベース。 ブログ「High Scalability」にポストされたエントリ「A Yes for a NoSQL Taxonomy」では、これら非SQL系のデータベースを詳細に9分類し、それぞれの分類に属するデータベースをリストアップしています(基になったのは「NoSQL is a Horseless Carriage」

    NoSQLデータベースを40種類以上リストアップ、キーバリュー型にもいろいろある
    sgtakeru
    sgtakeru 2009/11/10
  • mixi Engineers’ Blog » Introducing the Drizzle Project

    ここしばらく、水面下でBrian Akerを代表とするMySQL/SUNのエンジニアたちや、業界のオープンソースハッカーたちとMySQLをスリムダウンさせたマイクロカーネルRDBMSを開発していたのですが、日アナウンスされたので、日語でご紹介させていただきたいと思います。 Drizzleとは? Drizzleとは必要のないものは一切存在しない、最低限でパフォーマンス重視な「MySQLよりシンプルで、軽く、安定して、高速な」 MySQLのforkです。マイクロカーネルアーキテクチャを採用したので、必要のないものは後付けできる構成です。こういった目標もあり、現在、Drizzleの開発チームはMySQLをドラスティックにリファクタリングしています。 コミュニティベースのプロジェクト Drizzleで大事な事は、Drizzleはコミュニティベースのプロジェクトであるという事です。Montyのブ

    mixi Engineers’ Blog » Introducing the Drizzle Project
  • DBは習うより慣れよ!

    試してわかる並列処理 巨大なデータベースを検索する場合や、アカデミックで複雑な検索を行う場合に、1つのクエリがとてつもなく重たくなった経験はありませんか。もちろん、SQL文の効率が悪い、あるいはインデックスの張り方が悪いなど、パフォーマンスチューニングの基動作ができていない場合もありますが、そもそも「そんな巨大なクエリを1台のマシンでやらせることに無理がある」場合もあります。これに対する強力な処方せんの1つが並列処理(パラレルクエリ)です。 最近は、データウェアハウスやメールの解析といった情報系のシステムが増えており、データベースのクエリに求める利用者の要望は複雑化しています。しかも、Googleのような検索エンジンがサクサクと動いているので、データベースの検索なんて早くて当たり前と考える利用者が増え、期待値は高まる一方です。 ただ、業務に必要不可欠な基幹系のシステムとは違い、情報系のシ

    sgtakeru
    sgtakeru 2008/07/14
    別プロセスに実行させる。
  • YappoLogs: 悪のりで学ぶsvnadmin/trac入門実用編

    悪のりで学ぶsvnadmin/trac入門実用編 とある平和なある週末に事件は起こった xx:14 ([aopy]+) stfuawsc汚染なコードをciってまった xx:14 (A) ちょ xx:14 (B) ww xx:14 (C) www xx:14 (D) stfuawsc xx:14 {[ainOS]+} パネラーディスカッションという事で、直近のコミットした内容をこの世から抹消しなければならなくなった。 しかもtrac上のデータもあわせて..! 消したいリビジョンは100である。 svnのデータを消すコマンドだけで直前のコミットを取り消せないものかと調べたが、出来ないという事が分かった。 ちょっと冷静になって、svnadmin dumpとsvnadmin loadの組み合わせで何とか出来ないか?と考え$ svnadmin dump /svn/public > /tmp/publ

    sgtakeru
    sgtakeru 2008/07/10
    そのままコマンドを動かしてもだめ。きちんと環境に合わせないと。ある程度の前提知識が必要。
  • @IT:SQLクリニック(1) Page 1/2 Oracle10g正規表現

    連載はSQLの応用力を身に付けたいエンジニア向けに、さまざまなテクニックを紹介する。SQLの基構文は平易なものだが、実務で活用するには教科書的な記述を理解するだけでは不十分だ。連載は、著名なメールマガジン「おら!オラ! Oracle - どっぷり検証生活」を発行するインサイトテクノロジーコンサルタントを執筆陣に迎え、SQLのセンス向上に役立つ大技小技を紹介していく。(編集局) Oracle 10gで正規表現による文字列操作が可能に! Oracle Database 10g で新規に追加された正規表現機能は、テキスト形式データを扱うための強力なツールです。これによりSQLを使用した文字データを検索し、操作する能力が大幅に向上します。 UNIXユーザーには大変なじみの深い正規表現。Oracle 10gで(やっと!?)実現されました。いままではWHERE句の中で“LIKE”とともに使用す

    @IT:SQLクリニック(1) Page 1/2 Oracle10g正規表現
    sgtakeru
    sgtakeru 2008/07/08
    10gからの新機能
  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • sqlite: SQLite データベースと会話するプログラム

    sqlite: SQLite データベースを管理するプログラム (This page was last modified on 2003/06/29 16:11:13 UTC) SQLite ライブラリには sqlite というシンプルなコマンドライン ユーティリティが含まれます。これを使うと、ユーザは手作業で SQLite データベースに接続して SQL コマンドを実行できます。この文書では sqlite の使い方に関する概略を紹介しています。 起動する sqlite を起動するには単に "sqlite" とタイプし、その後ろに SQLite データベースを保持するファイル名を付けます。ファイルが存在 しない場合は、自動的に新しく作られます。起動後 sqlite プログラムは、SQL をタイプするためのプロンプトを表示します。 SQL ステートメント(終了はセミコロン)をタイプし、 "E

    sgtakeru
    sgtakeru 2008/06/19
    使い方。
  • Kazuho@Cybozu Labs: フレンド・タイムライン処理の原理と実践

    « MySQL のクエリ最適化における、もうひとつの検証方法 | メイン | MySQL (InnoDB) に直接アクセスしてタイムライン処理を高速化する話 » 2008年06月09日 フレンド・タイムライン処理の原理と実践 MySQL (InnoDB) に直接アクセスしてタイムライン処理を高速化する話に続きます。 Twitter が注目されるようになって久しい今日この頃ですが、友人の投稿を時系列に並べて表示する、というのは、Twitter に限らず Mixi の「マイミクシィ最新日記」やはてなブックマークの「お気に入り」等、ソーシャルなウェブサービスにおいては一般的な手法です。ですが、この処理 (以下「フレンド・タイムライン」と呼ぶ) は、一見簡単そうに見えて、実装には様々な困難が伴います。記事では、「フレンド・タイムライン」を実現する、プッシュ型とプル型の二種類の手法について、その原