タグ

dbに関するkiririmodeのブックマーク (232)

  • シーケンスについての FAQ - オラクル・Oracleをマスターするための基本と仕組み

    SEQUENCE についての FAQ シーケンスの現在値 NEXTVAL と CURRVAL インスタンス単位でのシーケンスの現在値を知ることはできない(※)。わかるのは自らが採番した後の現在値(=次の値)だけとなる。 (※) CURRVAL という擬似列で現セッション中で最後に採番した番号(=現在値と言い換えることもできる)を知ることはできる。そのセッションで採番 (NEXTVAL) を行なっていない場合には、CURRVAL 擬似列を参照することはできない。 ORA-08002: 順序 sequence_name.CURRVALはこのセッションではまだ定義されていません のエラーが発生する。 シーケンスの欠番 ケース1 シーケンスは採番のたびにディクショナリにアクセスせずにメモリ上にバッファされている番号を戻す。 これはメモリ上に次の値と次回のディクショナリの更新値を保持しているのではな

    kiririmode
    kiririmode 2010/03/11
    RACではORDERしないと欠番でる
  • ローカル管理表領域 - オラクル・Oracleをマスターするための基本と仕組み

    ローカル管理表領域 ローカル管理表領域は 表領域 のヘッダ部分に 64K バイト(ブロックサイズが〜16K バイト) 、128K バイト(ブロックサイズが32K バイト)の領域を取る。 この領域で使用・未使用ビットマップを作成してブロック、ブロックグループ単位にエクステント管理を行っている。 ローカル管理表領域の特徴 空き領域のコアレス処理が不要。 領域管理の処理がテーブルスペース単位に分散されている(I/Oの拡散) そのため領域管理の処理も高速に処理される。⇔ ディクショナリ管理表領域、 ST エンキュー ローカル管理表領域を「あえて使用しない」という話は聞いたことがないので、ローカル管理を積極的に使用する。 ディクショナリ管理表領域が優れているのはダイレクト・パス・インサート時に 1 回のエクステント拡張処理で データ登録できるくらいだと思われる。 一方、ローカル管理表領域の場合、特に

    kiririmode
    kiririmode 2010/02/24
    ローカル管理表領域はビットマップで空領域を管理するためにコアレス不要
  • 自動セグメント領域管理 - オラクル・Oracleをマスターするための基本と仕組み

    自動セグメント領域管理とは (ASSM) ASS Management : Automatic segment space management 自動セグメント領域管理とは 表領域 におけるデータブロックの空き状態を従来の フリーリストによる管理方式 ではなくビットマップによって行う管理方法である。 自動セグメント領域管理の特徴 個々のビットマップでデータブロックのデータ格納率を 25% 単位の 4段階とフォーマット済の状態を管理している。また、空きブロック探索はシリアライズ化されないため複数のフリーリストグループ管理より優れたベンチマーク結果を出している。(公式サイトによる情報) フリーリスト管理の特徴 フリーリストに有り、無し(PCTUSED 未満とそれ以外)の 2段階で管理される。また、フリーリストへのアクセスはフリーリストグループ単位に直列化される。 Oracle 10g R1 ま

  • 第8回 SQLにおける論理演算~なぜ真理を隠すのか~ (3)HAVING句で論理演算を行おう | gihyo.jp

    ある人材紹介会社に登録されている就業希望者と、その仕事のスキルの組み合わせを表現したものです。当は、スキルコードも「01102」とかコードで表すのがよりリアリティがありますが、わかりやすさのためスキルの名前をそのまま使うことにします。このテーブルによれば、たとえば100番の人は会計、在庫整理、製造という3つの分野の技術を持っており、300番の人は製造のみの技術を持つ、ということになります。 さて、この会社にはいつもひっきりなしにクライアント企業から人材についての問い合わせが入ります。みなさん、この会社の対応オペレータになったつもりで、クライアントからの問い合わせ条件に合致する人材がいるかどうか、検索してみてください。 ①クライアントAからの問い合わせ 次のような条件であるとします。 条件:「製造」スキルを持っている人材 これは簡単ですね。スキルが1つだけであれば、WHERE句で条件を記述

    第8回 SQLにおける論理演算~なぜ真理を隠すのか~ (3)HAVING句で論理演算を行おう | gihyo.jp
  • Oracleのmodel句(1) ――model句のサンプルと集計行の追加方法

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    Oracleのmodel句(1) ――model句のサンプルと集計行の追加方法
    kiririmode
    kiririmode 2010/02/04
    modelカッコいい!!!!!
  • scale out の技術 (in UNIX magazine, April 2009)

    scale outの技術 首藤 一幸 Last-updated: January 5, 2010 注: このページの文章は以下の記事の元原稿です。 首藤一幸, "スケールアウトの技術", クラウドの技術, pp.88-101, (株)アスキー・メディアワークス, ISBN978-4-04-868064-6, 2009年 11月 6日 アスキー・メディアワークス社の 書籍紹介ページ Amazon.co.jp の ページ 首藤一幸, "スケールアウトの技術", UNIX magazine 2009年 4月号, pp.78-91, (株)アスキー・メディアワークス, 2009年 3月 18日 データベースに求められる性能を試算したところ、 十台、百台…数万台のサーバが必要になった。 クラウドを構築する側はこういう問題に直面し、解決しようとしてきた。 台数に比例した性能を引き出すこと、つまりsca

  • MySQLに纏わる10の都市伝説

    誰の口から飛び出したのかは定かではないが、巷ではMySQLにまつわる様々な「都市伝説」がまことしやかに囁かれているようだ。恐らくMySQLに対する理解が低い人や、MySQLがあまり好きではない面々によってFUDっぽく言われているのだと思うが、世の中にはそのような「都市伝説」を真に受けてしまう人が居るのもまた事実であである。MySQLにおける昨今の開発スピードには目覚ましいものがあり、MySQLは性能・安定性・使い易さ共に進化し続けている。(特に先日リリースされたMySQL 5.5は性能・安定性・使い易さを両立している優れたバージョンだ!!)しかし「都市伝説」で語られることは総じて「MySQLはダメな子ちゃん」であるという烙印を押すものばかりであり、MySQLerとしてはそのような言われ無き汚名を全身全霊をもって晴らさなければならない使命を背負っている。そこで、今日はMySQLについて語られ

    MySQLに纏わる10の都市伝説
  • 実践ハイパフォーマンスMySQL 第2版 - naoyaのはてなダイアリー

    オライリー・ジャパン から実践ハイパフォーマンスMySQL 第2版が発売されました。第2版の出版にあたって、弊社の id:stanaka, id:hideoki と自分の3人で監訳を担当させていただきました。 実践ハイパフォーマンスMySQL 第2版 作者: Baron Schwartz,Peter Zaitsev,Vadim Tkachenko,Jeremy D. Zawodny,Arjen Lentz,Derek J. Balling,伊藤直也(監訳),田中慎司(監訳),吉川英興(監訳),株式会社クイープ出版社/メーカー: オライリージャパン発売日: 2009/12/14メディア: 大型購入: 17人 クリック: 373回この商品を含むブログ (45件) を見る 好評だった初版は確か、自分がはてなに入社した直後ぐらいに読んだ記憶があるのでもう 5 年も前になります。はてなの MySQ

    実践ハイパフォーマンスMySQL 第2版 - naoyaのはてなダイアリー
  • SQLチューニングの必須知識を総ざらい(前編)

    連載では、Oracleデータベースのパフォーマンス・チューニングの中から、特にSQLのチューニングに注目して、実践レベルの手法を解説する。読者はOracleデータベースのアーキテクチャを理解し、運用管理の実務経験を積んでいることが望ましい。対象とするバージョンは現状で広く使われているOracle9iの機能を基とするが、Oracle 10gで有効な情報も随時紹介していく。(編集局) 連載目次 パフォーマンス・チューニング概要 前回「パフォーマンス向上の最短コースを知る」で説明したように、SQLのチューニングはOracleインスタンスやデータベースの構成などにも密接にかかわっています。すでに基的な知識をお持ちの方も大勢いらっしゃると思いますが、それらの知識を「パフォーマンス」と結び付けて考えることが重要なポイントです。 SQLによって取得されるデータが、実際にはどのような形式でファイルの

    SQLチューニングの必須知識を総ざらい(前編)
    kiririmode
    kiririmode 2009/11/14
    "表からある程度以上の割合を抽出する場合には全表スキャンの方が効率的"
  • 複合索引(コンポジット索引)が有効なケース

    連載では、Oracleデータベースのパフォーマンス・チューニングの中から、特にSQLのチューニングに注目して、実践レベルの手法を解説する。読者はOracleデータベースのアーキテクチャを理解し、運用管理の実務経験を積んでいることが望ましい。対象とするバージョンは現状で広く使われているOracle9iの機能を基とするが、Oracle 10gで有効な情報も随時紹介していく。(編集局) 連載目次 前回「索引を作成したのにパフォーマンスが悪いケース」では、索引を使用するためのSQLの記述方法や、索引を使用した検索時の注意点について説明しました。今回は、索引を利用した検索速度をさらに向上させるテクニックとして、複合索引(コンポジット索引)を利用する方法を説明します。 複合索引(コンポジット索引)の使用 複合索引とは、複数の列を指定した索引で、SQLでWHERE条件に指定する列が決まっている場合や

    複合索引(コンポジット索引)が有効なケース
  • 「Insertが先 Updateが先 」(1) Insider.NET - @IT

    IT 会議室 Indexリンク Windows Server Insider Insider.NET System Insider XML & SOA Linux Square Master of IP Network Java Solution Security & Trust Database Expert RFID+IC リッチクライアント & 帳票 Server & Storage Coding Edge @ITクラブ Cafe VB業務アプリケーション開発研究 @IT SpecialPR

    kiririmode
    kiririmode 2009/10/31
    insert競合に対する対処法
  • MyISAMとInnoDBのどちらを使うべきか

    Twitterで話題になってたので簡単にまとめました。 ●MyISAMにしか無い機能を使いたい場合はMyISAMを使うしかない ・全文検索 (TritonnやSphinx) ・GIS ●InnoDBの利点(MyISAMの欠点) ▲障害対応系 ・クラッシュしても再起動するだけでリカバリができる ・クラッシュリカバリにかかる時間はテーブルサイズに比例するようなことはなく、コミット済みのデータは修復できる (巨大なMyISAMテーブルのREPAIRには数日単位で時間がかかることがある) ・オンラインバックアップができる ・INSERTやLOAD DATAなどを実行している途中でCtrl+Cでその更新系SQL文を止めても、テーブルは壊れないし、中途半端な状態で更新されることも無いし、スレーブが止まることも無い ▲性能系 ・行レベルロックなので並列性が高い(MyISAMはテーブルロック)。またSEL

  • http://www.oklab.org/oracle/dblink.html

  • トップページ

    SQL データベース操作言語SQLについて、またRDBMSの持つ機能について詳しく解説します。 DB概要、SQL、テーブル操作、データ操作 ... 特集:replication PostgreSQLのレプリケーションシステムを紹介し、それらの機能を比較していきます。 特集:pgbench PostgreSQLのベンチマークテストに用いられるプログラムである pgbench について解説します。 SQL演習問題 各章に用意された演習問題を集めました。

  • 第3回 テーブル設計のグレーゾーン~毒と薬は紙一重 (4)サロゲートキーVSナチュラルキー | gihyo.jp

    サロゲートキーVSナチュラルキー DBエンジニアの方なら、サロゲートキー(代理キー)という言葉をご存じでしょう。これは、テーブルへの入力データにある列を主キーとせずに、システム側で独自に割り当てるキーのことです(一般的には連番が使われます⁠)⁠。これに対して、入力データ自体の列を主キーにする場合はナチュラルキー(自然キー)と呼びます。 サロゲートキーは、基的には不要なものです。入力データに一意なキーが存在していればそれを主キーとして使うことで、普通は問題ありませんし、オートナンバリングの機能も長らく標準SQLには存在していなかったからです(そのため、今でも実装ごとにやり方はバラバラです⁠)⁠。しかし、以下のような業務要件の場合には、サロゲートキーを使うことを考えます。 ① そもそも入力データに主キーにできる項目がなく、データが重複している場合 ② 主キーの値が使いまわされる場合 ③ 主キ

    第3回 テーブル設計のグレーゾーン~毒と薬は紙一重 (4)サロゲートキーVSナチュラルキー | gihyo.jp
  • Kazuho@Cybozu Labs: パフォーマンスとスケーラビリティのためのデータベースアーキテクチャ (BPStudy#25発表資料)

    先週金曜日、BPStudy#25で、「パフォーマンスとスケーラビリティのためのデータベースアーキテクチャ」という題目で話をさせていただきました。その際に使用した発表資料は以下のとおりです。 1. Happy Optimization 最初に、最適化の考え方として、上限値を予測し、それを元にリソース配分を考える、という手法を説明しました。

  • 「Linux-DBシステム構築/運用入門」がすごい - あなたのシステム、ガラパゴス化していませんか? - kazuhoのメモ置き場

    松信さんがやってくれました。 ずいぶん前からデータベースの「正しい」構築と運用方法についてまとめたはないかなーと思ってました。自分はこれまで、様々なネットワークアプリケーションのプログラミングやデータベースの設計、チューニングを行ってきています*1が、問題が解決できたようには見えても、果たしてそれが最適な解決策だったのか不安に感じることがありました。それは、体系的な知識に欠けているからです。だから、網羅的な教科書がほしいなぁって思ってたんです。 とあるインターネットでこの前、松信さんから「いま書いてる」って話を聞いて、一部を見せていただいたりしたんですが、つい昨日、手元に届きました。やったね☆ 名前は「Linux-DBシステム構築/運用入門」。「入門」と銘打たれているものの、基礎的な知識から、なぜそうなるのか、どう応用すればいいのか、といった点まで広くカバーしている*2、全方位的な隙のな

    「Linux-DBシステム構築/運用入門」がすごい - あなたのシステム、ガラパゴス化していませんか? - kazuhoのメモ置き場
  • Oracle Database 10g!)!)自己管理フレームワークを搭載する完全自律型データベース(1)

    エンタープライズ・グリッドを実現するには,何百台とつながるシステムの管理作業をいかに軽くするかが大きな課題となる。Oracle Database 10gは,このような課題を解決する自己診断エンジン,自動チューニング・オプティマイザや自動メモリー管理機能など,データベース自身が自己管理するフレームワークを搭載した。 これまでのデータベース管理は専門的なスキルが要求されるものと認識されている。データベース管理者(DBA)は,データベースの知識に精通し,日常の業務を遂行しつつ,安定したシステム運用をサポートすることがその役割である。米Oracle独自の調査によるとDBAの作業のうち,日常のシステム管理業務が大きなウエイトを占める(図1[拡大表示])。この中にはパフォーマンスのモニタリングやチューニング,セグメントの断片化の解消を行う領域管理などがあり,いずれもシステムを安定して運用するためには必

    Oracle Database 10g!)!)自己管理フレームワークを搭載する完全自律型データベース(1)
  • 排他って何だろう

    福岡寿和 FUKUOKA,Toshikazu 富士通SSL はじめに 同時にひとつの資源を複数のプログラムから使おうとしたときは,必ず「排他」というものが必要です.今回は,いろいろある排他問題の中から,RDBMSの世界での「排他」,特にレコード変更(挿入・更新・削除)に関係するものに注目してみます.なお,今回のリストプログラムは,Oracle Objects for OLEをミドルウェアとして,Oracle7またはOracle8をターゲットにしています.また,事前にリスト1を実行して,テスト用のテーブルを作成してください. リスト1:サンプル用定義スクリプト DROP TABLE VBMArea CASCADE CONSTRAINTS; CREATE TABLE VBMArea ( AreaCode CHAR(2) NOT NULL, AreaName VARCHAR2(10) N

    kiririmode
    kiririmode 2009/08/11
    pesimistic lock と optimistic lock
  • トランザクション分離レベル - Wikipedia

    トランザクション分離レベル (トランザクションぶんりレベル)または 分離レベル (英: Isolation) とは、データベース管理システム上での一括処理(トランザクション)が複数同時に行われた場合に、どれほどの一貫性、正確性で実行するかを4段階で定義したものである。隔離レベル 、 独立性レベルとも呼ばれる。トランザクションを定義づけるACID特性のうち,I(Isolation; 分離性, 独立性)に関する概念である。 データベースへの読み書き(トランザクション処理)には処理時間が発生する。複数のトランザクション処理依頼がデータベース管理システムへ行われたとき、これらを処理する1つの方法は逐次的(Serial)に1つずつトランザクションを処理する方法である。トランザクション処理に処理時間がかかることから、後に行われた処理は先に行われた処理が完了するまでの間「待ち」の状態になってしまう。 待