タグ

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

  • 開発者のためのSQLパフォーマンスの全て

    前書き - インデックスの作成はなぜ開発者のタスクなのか インデックスの 内部構造 - インデックスは何に似ているか インデックス リーフノード - 二重連結リスト 検索 ツリー(Bツリー) - バランス木 遅いインデックス パートI - インデックスを遅くする2つの原因 where 句 - 検索のパフォーマンスを改善するためにインデックスを作成 等価 演算子 - 一致するキーの検索 プライマリキー - インデックスの使い方を確認 複合インデックス - 複数列に対するインデックス 遅いインデックス パートII - 前の問題点が再び 関数 - where句の 中での関数 大文字・小文字を区別する 検索 - UPPERと LOWER ユーザ定義 関数 - 関数インデックスの制限 インデックスの作り過ぎ - 冗長性の排除法 パラメータ化 クエリ - セキュリティとパフォーマンスのために 範囲 検

    開発者のためのSQLパフォーマンスの全て
    norizo3
    norizo3 2014/10/20
  • NoSQLの現状

    このため、NoSQLの知識を持つ開発者やアーキテクトに対する需要が高まってきています。最近の調査によると、最近必要とされる開発スキルは次の通りです。 HTML5 MongoDB iOS Android Mobileアプリ Puppet Hadoop jQuery PaaS ソーシャルメディア 技術的要求のトップ10の中で、NoSQLデータベースは2つあります。1つは、iOSよりも上です。これがNoSQLをほめているのでなかったら、何なのでしょう?! しかし、一見したところ、NoSQLはますます速く深いところまで適用されるようになっています。2011年の夏に、有名な報告書の中でOracleは次のように述べました。NoSQL DBがアイスクリームの味のように感じるかもしれないけれど、あまり深入りしない方がいい、NoSQLはそれほど長く残らないかもしれないから。そのわずか2、3ヶ月後、Oracl

    NoSQLの現状
  • Rails で、Controller に定義されている action を一度に取得する方法はありますか? - QA@IT

    平素よりQA@ITをご利用いただき、誠にありがとうございます。 QA@ITは「質問や回答を『共有』し『編集』していくことでベストなQAを蓄積できる、ITエンジニアのための問題解決コミュニティー」として約7年間運営をしてきました。これまでサービスを続けることができたのは、QA@ITのコンセプトに共感をいただき、適切な質問や回答をお寄せいただいた皆さまのご支援があったからこそと考えております。重ねて御礼申し上げます。 しかしながら、エンジニアの情報入手方法の多様化やQAサービス市場の状況、@ITの今後のメディア運営方針などを検討した結果、2020年2月28日(金)15:00をもちましてQA@ITのサービスを終了することにしました。 これまでご利用をいただきました皆さまには残念なお知らせとなり、誠に心苦しく思っております。何とぞ、ご理解をいただけますと幸いです。 QA@ITの7年間で皆さまの知識

    Rails で、Controller に定義されている action を一度に取得する方法はありますか? - QA@IT
  • Clojureの作者が作ったデータベースDatomicが凄い

    プログラミング言語Clojureの作者Rich Hickey氏率いるClojure HackerのチームがDatomic(デートミックと発音するらしい)というデータベースをリリースしました。これが何やらとてつもないです。10年先を行ってる技術じゃないでしょうか。 まだ番サービスは始まっていませんが開発環境用のライブラリが配布されています。 Datomicは斬新なアーキテクチャなので一言で説明するのはとても難しいです。 私が理解できたことを簡単に説明します。 2014/1/20追記 ライセンスモデル、サポートストレージ、サービスとしてではなく独立して使用する形になるなど記事作成時の内容から色々変更が合った部分を更新しました。 変更不可なAppend-onlyデータベース 従来のデータベースで、あるレコードを変更するというのはそのレコードに対応した場所があり、そこのデータを書き換えるというこ

  • データベースの内部動作を知る

    SQLのプログラミングは奥が深い。特にパフォーマンスの観点から、そう言えるだろう。 みなさんご承知の通り、同じ結果を出すプログラムでも、SQLの書き方次第で処理時間に何倍もの差が生じ得る。効率の悪いSQLを書いてしまう原因は、多くの場合、リレーショナルデータベースの内部動作やアプリケーションに関する理解不足である。両者をよく知った上で最適なSQLを書けるようになることは、システムエンジニアとしての重要なスキルの一つである。 特集『基礎から理解するデータベースのしくみ』では、リレーショナルデータベースの内部動作について、基的な部分を分かりやすく解説している。SQLプログラミングに役立つことはもちろん、SQLチューニングやデータベース設計のための基礎知識としても不可欠だ。 イントロダクション ブラックボックスのままでいいの? Part 1:SQL文はどのように実行されるのか SQL実行までの

    データベースの内部動作を知る
    norizo3
    norizo3 2011/07/04
  • NoSQLを上回る性能のVoltDB、そのアーキテクチャとは

    データベース研究者の大御所、マイケル・ストーンブレイカー氏が開発し、NoSQLデータベースをも上回る性能を発揮するリレーショナルデータベース「VoltDB」。前回の記事では、その特徴と、NoSQLデータベースのCassandraとのベンチマーク比較を紹介しました。 今回はVoltDBのアーキテクチャについて調べたことをご紹介しようと思います。基的にはVoltDBのWebサイトやリンク先の内容を基にしています。また、ブログ「独り言v6」のエントリ「VoltDB登場 – RDBMSのようでRDBMSではない新システム」も参考にさせていただきました。 シェアドナッシングな分散インメモリデータベース VoltDBのアーキテクチャは、FAQのページで以下のように説明されています(英語を訳したものを引用しています。以下同じです)。 VoltDBは、シェアドナッシングなサーバ群から構成されるスケーラブ

    NoSQLを上回る性能のVoltDB、そのアーキテクチャとは
  • SSD専用に設計された「ReThinkDB」、ロックもログも使わない新しいリレーショナルデータベースのアーキテクチャ

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

    SSD専用に設計された「ReThinkDB」、ロックもログも使わない新しいリレーショナルデータベースのアーキテクチャ
    norizo3
    norizo3 2010/05/11
  • 変数に型のない言語におけるSQLインジェクション対策に対する考察(5): 数値項目に対するSQLインジェクション対策のまとめ - 徳丸浩の日記(2007-09-24)

    _数値項目に対するSQLインジェクション対策のまとめ 一連の議論では、以下の条件におけるSQLインジェクション対策について議論している。 SQLインジェクション対策において、バインド機構が利用できない(したくない) 変数に型のない言語(PerlPHPRubyなど)を使用している 数値型の列の場合 この場合の対策としては、以下の二種類が機能する。 SQL文組み立ての前に、数値としての妥当性検証を行う 数値項目もシングルクォートで囲み(クォートし)、文字列リテラルと同様のエスケープを行う 数値項目もクォートする方法 このうち、後者の積極的な推進者として大垣靖男氏がおられる。例えば、以下のような記事 すべての変数をエスケープする対策 この方法はすべてのデータベースに利用できる対策です。文字列,整数などデータ型に関わらず変数すべてを文字列としてエスケープすることにより,SQLインジェクションを

  • カラムナデータベース(列指向データベース)とデータベースの圧縮機能について、マイケル・ストーンブレイカー氏が語っていること

    カラムナデータベース(列指向データベース)とデータベースの圧縮機能について、マイケル・ストーンブレイカー氏が語っていること データベースの高速化技術の1つに、データの圧縮があります。データを圧縮して扱うことでディスクアクセスとI/Oが減少し、データへのアクセス速度が向上するのです。最近のCPUコア数の増大やメモリ単価の下落はデータ圧縮と伸長にかかるオーバーヘッドのコストを相対的に小さくしており、それもこの技術に有利に働いています。 Ingresの開発者であり、InformixのCTOなどデータベースベンダの要職を歴任、データベース研究者として大御所ともいえるマイケル・ストーンブレイカー氏が、データベースにおけるこのデータ圧縮と伸長処理について、ブログ「The Database Column」のエントリ「"Just in Time" Decompression in Analytic Dat

    カラムナデータベース(列指向データベース)とデータベースの圧縮機能について、マイケル・ストーンブレイカー氏が語っていること
    norizo3
    norizo3 2009/10/06
  • Kazuho@Cybozu Labs: パフォーマンスとスケーラビリティのためのデータベースアーキテクチャ (BPStudy#25発表資料)

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

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

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

    「Linux-DBシステム構築/運用入門」がすごい - あなたのシステム、ガラパゴス化していませんか? - kazuhoのメモ置き場
  • 特集:基礎から理解するデータベースのしくみ - 特集:基礎から理解するデータベースのしくみ:ITpro

    「データベースはブラックボックス。どんなSQL文を投げたらどんな結果が返ってくるかさえ知っていればよい」---そう思っている人も多いかもしれません。 しかし,物のソフトウエア・エンジニアを目指すのであれば,データベースが動く仕組みを学ぶことは避けて通れません。パフォーマンスなどに問題が生じたときどこから手を付けていいのか皆目見当がつかない,といった事態に陥りかねません。 市販のRDBMSの内部はかなり複雑ですが,基的な部分を理解するのはそれほど難しくありません。この特集でデータベースの動く仕組みを理解してください。 イントロ ●ブラックボックスのままでいいの? 基礎から理解するデータベースのしくみ(1) Part1 ●SQL文はどのように実行されるのか 基礎から理解するデータベースのしくみ(2) 基礎から理解するデータベースのしくみ(3) 基礎から理解するデータベースのしくみ(4) 基

    特集:基礎から理解するデータベースのしくみ - 特集:基礎から理解するデータベースのしくみ:ITpro
  • 1