タグ

DBに関するteracy_junkのブックマーク (84)

  • 僕がOracleを使わない理由

    ここは、僕がOracleを使いたくない理由をどんどん挙げていこうというコーナーです(笑)。 とはいっても僕は実際現場ではOracleを使う羽目になっているので 実際に使ってみて駄目だと感じた点について紹介していきます。 新しく書いたものが「上」になるように並べていきます。 PreparedStatement で CHAR 型を使うとき Oracle の JDBC でも当然 PreparedStatement は使えます。 SELECT * FROM XXX WHERE NAME=? のように、? を使ったバインド変数によるSQL文発行ができます。 ところが、この機能にとんでもないバグがあります。 NAMEカラムが CHAR(10) だったとしましょう。 PreparedStatement stmt = conn.preparedStatement("SELECT * FROM XXX WH

  • オラクル用語 備忘録 - oracle tips and tricks

    オラクルで登場する重要な用語 備忘録 (1) ダーティバッファ(使用済バッファ) メモリ上のバッファの内容は変更されているが、データファイル(ディスク)には書き込まれていない状態のバッファのこと。 データファイルへの書き込みは全体パフォーマンスの向上のために遅延書き込みされる。 インスタンス障害によるシャットダウン時にはデータファイルを障害発生直前と一致させるためにロールフォワード、トランザクションリカバリ(クラッシュ・リカバリ)が必要になる。 専用サーバー接続 高速にデータベースを操作できる接続形態。 クライアントの 1 接続に対して、専用サーバープロセスが割り当てられる。 要求を出すと直ぐに作業を開始してくれる。(接続中は常に処理をしているバッチ処理向け) UNIX 系のシステムでは専用サーバー接続はプロセスモデルであるためデータベースの接続=プロセス生成、切断=プロセス終了となる。小

  • 「SQL アンチパターン」は色んな戦争の火種になりそう - yoshiori.github.io

    監訳の一人である @t_wada に献頂きました。 ありがとうございます!!! でだ、いきなりだけどコレ、タイトルで損してると思うんだよね…… だって、SQL のアンチパターンてタイトルだったら、 join した結果の方で where で絞るよりも on 句で先に絞れ 的なのが書いてあると思うじゃん!! 問い合わせ言語の事だと思うじゃん!!! 違った…… ほとんど書いてあるのは DB 設計についてだった…… まぁ、副題は「Avoiding the Pitfalls of Database Programming」のだし、まぁいいか。 んで、読んでみた感想とか もうね、何年か DB 絡んだ開発したことのある人なら(・∀・)ニヤニヤ出来ると思う。 「”マルチカラムアトリビュート”とか 10 年前に通ったわー」 とか 「あーはいはい”インデックスショットガン”乙」 みたいな。 Explain

  • PostgreSQLに興味がある人向けにまとめてみた。|PostgreSQL|お仕事メモ|Pictnotes

    PostgreSQL9.2がでたのと、一部で?またPostgreSQLを使いたいと思ってる人が多くなったとかあるみたいなので 4〜5年触ってなかったか、全然知らない人向けとおさらいとしてまとめてみた。 ざっくり書いてるので、詳しい人からみるとおかしい点もあるかと思いますが、気になった点はより詳しい記事が あると思うので、調べてみてください。 明らかな間違え等々は、修正加筆したいので、コメントか twitterの @itm_kiyoまで、御願いします。 Q. なんて読むの?書くの? A. PostgreSQL(ぽすとぐれすきゅーえる)、PとSQLは大文字。ちなみにMySQL(y以外は大文字)なんで、小文字と大文字の区別をきちんとするとその界隈の人がよろこびます。 でも、「postgres」 とか 、「Postgres」や「ポスグレ」とか書かれてることも多いです。 Q. どのバージョンを使うの

  • nullについて最後まで考える(1) --- T字形で消せるnull,消せないnull - 極北データモデリング

    正美氏とかDateのを読むと、Codd論文を理解するとnullの存在が許せなくなるのだなあ、と思う。 私はこのnull徹底排除の感覚が理解できていない。Codd論文読んだことないし。 比較演算や集計演算の対象に null が混入していると、直感に反する結果が出てくることがあるのはわかる。 同僚がnot null制約を付けていないのを見つけると「付けないとだめっすよ」と言ったりもする。 でも、これはわかった振りをしているだけなのだ。 nullがよくないのは当たり前として、あらゆるアプリケーションでnullを発生させないことができるのだろうか? どうしても発生するケースがあるのだとすれば、どのnullはあってもよくて、どのnullはあってはならないのか? where句に出現するnullと、サブクエリが返すnullと、アプリケーションに返されるnullと、罪の重さは全部同じなのか(違うんじゃな

    nullについて最後まで考える(1) --- T字形で消せるnull,消せないnull - 極北データモデリング
  • http://www.2ch-search.net/blog/3

  • なぜ「キー・バリュー型データストア」が注目されるのか

    クラウドに欠かせないのがスケーラビリティ、つまり大量の処理への対応です。そのためには、大量のマシンに処理を分散させる「スケールアウト」の方法が使われます。扱うデータの形式も、分散処理にふさわしい「キー・バリュー(key-value)」が主流です。前回で解説した「MapReduce」もkeyとvalue形式でデータを扱いますし、データベースにも「分散キー・バリュー型データストア」(以下単にkey-valueストアと呼ぶ)という技術が採用されるようになりつつあります。Googleの「BigTable」もそうです。 特にデータベースの世界では従来、MySQLなどのリレーショナルデータベース(RDB)が一般に用いられていました。しかしRDBは、データの一貫性などを重視するために分散処理がしにくいという欠点があります。そのためGoogleAmazon.comだけでなく、SNSを手がける企業などが続

    なぜ「キー・バリュー型データストア」が注目されるのか
    teracy_junk
    teracy_junk 2012/03/16
    『コンシステントハッシング』
  • Clojureの作者が作ったデータベースDatomicが凄い

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

  • 分散リアルタイムデータベース「SenseiDB」がオープンソースで公開。LinkedInのインフラとして開発

    テキストなど非構造化データのデータベース機能とサーチエンジン機能を兼ね備えた分散リアルタイムデータベース「SenseiDB」が、オープンソースとして公開されています。 SenseiDBとは先生DBの意味らしく、「Sensei (先生) means teacher or professor in Japanese」と説明があり、ロゴにも「師」の文字が使われています。なぜ先生なのか、その意味について以下のように説明があるのですが…… This name indicates that the system can be used in place of Oracle database in many applications. この名前が示しているのは、このシステムが多くのアプリケーションにおいてOracleデータベースで使われているところで利用可能だということです。 TeacherやProfe

    分散リアルタイムデータベース「SenseiDB」がオープンソースで公開。LinkedInのインフラとして開発
  • SQL緊急救命室 記事一覧 | gihyo.jp

    運営元のロゴ Copyright © 2007-2024 All Rights Reserved by Gijutsu-Hyoron Co., Ltd. ページ内容の全部あるいは一部を無断で利用することを禁止します⁠。個別にライセンスが設定されている記事等はそのライセンスに従います。

    SQL緊急救命室 記事一覧 | gihyo.jp
  • 作るプログラムの機能や性能で勝負したい。そうだ、データベースを勉強しよう - きしだのはてな

    さて、アルゴリズムの勉強のしかたと、ラムダ計算の勉強のしかたの目星をつけました。 アルゴリズムの勉強のしかた - きしだのはてな ラムダ計算の勉強のしかた、プログラム意味論 - きしだのはてな これでここで書いたプログラムの理論の基礎は勉強できたことになるんじゃないかと思います。 プログラムの理論とはなにか - きしだのはてな ところで、プログラムの勉強地図としてこういう図を書きました。 で、ハードウェアまわりについても、プロセッサを支える技術やネットワークはなぜつながるのかでひととおり勉強したとしましょう。 じゃあ次は、アジャイルか?テストか?UIデザインか?となるわけですが、やはりプログラマなら、プログラムの作り方や使いやすさの前に、作るプログラムの機能や性能で勝負したいじゃないですか。 いい感じに関数が分割できるよとか、読みやすい名前がつけれるよとか、効率よく仕事して定時に帰れるよと

    作るプログラムの機能や性能で勝負したい。そうだ、データベースを勉強しよう - きしだのはてな
  • 忘れたパスワードを問い合わせられるシステムなんて作っちゃいけない | 初代編集長ブログ―安田英久

    今日は、ちょっとしたシステム構築を発注するときに重要なポイントとなる、顧客情報管理の話題を。テーマは「お客さんのパスワードをどう保存するか」です。 御社には、たとえばECサイトの会員や顧客向けSNSなどの、お客さんがユーザー登録をしてパスワードでログインするようなシステムがありますか? あるとしたら、そのシステム内で、お客さんそれぞれのパスワードはどんな風に管理されているか把握していますか? または、システム構築の発注時に、どんな風にパスワードを管理するような仕様にしましたか? クレジットカード情報や個人情報の管理には注意していても、パスワードの保存方法は、あまり気にしていないのではないでしょうか。しかし、それではまずいのです。システム構築時に正しい仕様で発注しないと、何かセキュリティ問題が発生したときに、思いがけぬ大きな範囲に影響する問題になってしまいかねないのです。 結論からいうと、お

    忘れたパスワードを問い合わせられるシステムなんて作っちゃいけない | 初代編集長ブログ―安田英久
  • 日本HPがDB移行支援サービスを提供、“Itanium打ち切り”のオラクルに対抗へ

    teracy_junk
    teracy_junk 2011/04/27
    『利用中のアプリケーションがデータベース固有の「方言」に依存している割合を算出し、標準規格であるANSI SQL(SQL92規格を想定)準拠への書きかえ工数を洗い出す』
  • 高機能で軽快なMySQL・SQLiteの管理ツールSQL Buddy » とりあえず9JP

    phpMyAdminの代わりに使えそうな、MySQL管理ツール、SQL Buddyを使ってみたのでメモしてみる。 インストールは極々簡単で、SQL Buddyのページからダウンロードして解凍後アップロードするだけ。 アップロードしたディレクトリにアクセスすると、以下のようなページが表示される。 phpMyAdmin同様自ホスト以外のデータベースの管理も可能な模様。 このSQLBuddy、操作可能な機能の面では、phpMyAdminに若干劣るものの、操作性というか、管理パネルのシンプルさという点では、phpMyAdminよりも優れていると思う。 また、動作そのものもphpMyAdminより軽快な気がする。 以下はユーザ管理画面の例 あと、インストールして気づいたのだけど… ドロップダウンリストでSQLiteを選択するとSQLiteデータベースも管理可能な模様。 テキストフィールドにDBファイ

  • PHPからSQL Serverへの正しい接続方法

    はじめに 前回からシリーズでお送りしている「PHPからMicrosoft SQL Serverを使おう!」、第2回目は、PHPコードからのMicrosoft SQL Server(以下 SQL Server)への接続についてです。 今回の記事では、マイクロソフトがPHP向けにリリースした、SQL Server Driver for PHPドライバーの入手とインストール、実際にPHPのコードからSQL Serverに接続するための方法について紹介させていただきます。 1 PHPコードからSQL Serverへの接続 1.1 PHPコードからSQL Serverへ接続するための手段 PHP 5.2までのPHPランタイムには、SQL Serverに接続するためのMssql関数(php_mssql.dll)が用意されており、アプリケーションはこれを使用してSQL Serverに接続することができま

    PHPからSQL Serverへの正しい接続方法
  • Androidクライアントからデータベースサーバーへのアクセス

    現在リリースされているJDBCドライバのほとんどは、OracleJava環境での動作が想定されており、AndroidのDalvik環境での動作は考慮されていません。実際、動作しないドライバが数多く存在し、Androidでデータベースクライアントを作るのにJDBCを使えばよいとは簡単にはいえない状況です。稿では具体的なサンプルコードをもとに、それらの状況解決の一助を提供します。 データベースベンダーが提供するJDBCドライバは、Androidでは動作するかどうかは分からない まず、いきなり連載の目的と結論から書きます。 「Androidアプリケーションの開発言語はJavaなのだから、JDBCドライバを使ってデータベースにアクセスすればAndroid端末をクライアントとしてデータベースサーバーにアクセスできるはずだ」と想像している開発者も多いかもしれません。 しかし、話はそれほど単純では

  • スクリプト言語の息の根を止めるのは案外 SSD かもな - kwatchの日記

    大変たいへん興味深い記事。全プログラマーにとって。 HDDの代わりにSSDを利用したら、リレーショナルデータベースの性能はどれだけ向上するのでしょうか? オラクルと富士通が共同検証を行い、その結果をホワイトペーパーとして先週発表しました ...(snip)... HDDは200スレッドで性能が頭打ちなのに対し、SSDは200スレッドから300スレッドになってもまだ性能は上昇。ただし、300スレッド時にはCPU利用率が100%に近づいており、先にCPU性能の方がボトルネックとなってしまったようです。 HDDをSSDにしたらデータベースはどれだけ速くなるか? オラクルと富士通が実験 - Publickey 動的なスクリプト言語 (RubyPython など) と静的なコンパイル型言語 (C++Java など) では、だいたい 5 倍から 10 倍ぐらいの速度差がある。それでもスクリ

    スクリプト言語の息の根を止めるのは案外 SSD かもな - kwatchの日記
  • MySQLコミュニティ騒然!MySQL 5.5.4が与えるインパクト。

    先週、MySQL Conference & Expo 2010が開催され、盛況のうちに終了した。カンファレンスに合わせる形で、MySQL 5.5.3および5.5.4がリリースされたのだが、これが目を見張るような進化を遂げている。特に性能面での進化には目を見張るものがある!Jeremy ZawodnyやMark Calleghanといったコミュニティの重鎮たちも「非常にエキサイティングなリリースだ!」などと表して歓迎の意を表している。 というわけで、日はMySQL 5.5.3/5.5.4の新機能および変更点についてレビューしてみよう! おさらい。 〜 MySQL 5.5の既存の機能 〜MySQL 5.5が登場したとき、その新機能については以前にもエントリで紹介したが、ここで改めておさらいしてみよう。MySQL 5.5は、正確にいうと現在最新バージョンであるMySQL 5.1の「次の次」のバ

    MySQLコミュニティ騒然!MySQL 5.5.4が与えるインパクト。
  • DB設計の神ツール「ERMaster」なら、ここまでできる

    DB設計の神ツール「ERMaster」なら、ここまでできる:ユカイ、ツーカイ、カイハツ環境!(11)(1/3 ページ) 無料のEclipseプラグイン「ERMaster」とは データベースのテーブル設計を行うときに皆さんは、どのようにしているでしょうか? いくつかの無料で利用できるツールが提供されているので、筆者はそれらを利用していましたが、最近「ERMaster」と呼ばれるEclipseプラグインの存在を知りました。 ERMasterは、ほかのツールに比べ、直感的で分かりやすいUI(ユーザーインターフェイス)に、カスタマイズ可能な、Excelで出力できるテーブル定義書、辞書機能など痒いところに手が届くERモデリングのツールです。稿では、このERMasterについてご紹介します。 ERMasterの主な特徴、8つ ERMasterには、主に次のような特徴があります。 【1】直感的で使いや

    DB設計の神ツール「ERMaster」なら、ここまでできる
  • SQLiteをインメモリで使う

    cles::blog 平常心是道 blogs: cles::blog NP_cles() « Windows XP で自動ログオンを有効にする方法 :: そろそろ確定申告の準備をしないと » 2010/01/18 SQLiteをインメモリで使う  ruby  sqlite 239 0へぇ SQLiteはデータのちょっとした加工や管理に便利なので、最近よく使っているのですが、ファイルの指定を:memory:とすると、インメモリで使うことができるという機能をみつけたので、Rubyからちょっと使ってみました。 In-Memory Databases For example: rc = sqlite3_open(":memory:", &db); When this is done, no disk file is opened. Instead, a new database is create

    SQLiteをインメモリで使う