タグ

dbに関するockeghemのブックマーク (15)

  • 「データベース技術[実践]入門」は「サーバインフラ本」「徳丸本」と並ぶウェブエンジニア必携の教科書 - As a Futurist...

    技術評論社様から献して頂きました!ありがとうございます!!日を代表する DataBase Administrator(DBA)である松信さんの新著ということで、あえて僕の様な人間が何をせずともすばらしいであることは自明ですが、献頂いたからには何か書かねば! Open database life: 新著「Web エンジニアのための データベース技術[実践]入門」 「データベースがないと何が困るのか」 これが第 1 章のタイトルです。あぁ、入社前の自分に言い聞かせてやりたい。僕はプログラムを触り始めたころ、データベースを触りたくないという理由だけでウェブアプリを作ることを諦め、plagger を使って自分ではデータを直接保存しないことばっかりやってました。結果、SELECT文すら書けない状態でエンジニア生活をスタートしたわけです。 で、実際ウェブアプリの現場を 3 年やってきて、データ

    「データベース技術[実践]入門」は「サーバインフラ本」「徳丸本」と並ぶウェブエンジニア必携の教科書 - As a Futurist...
    ockeghem
    ockeghem 2012/03/08
    『つい最近、ユーザデータをTRUNCATEしてヘラヘラしてる人がいたみたいですが、ああいうDBAにならないためにはどうすればいいのか。その答えがここにあります』<そう来たかw
  • 削除フラグのはなし

    Query Optimization with MySQL 5.7 and MariaDB 10: Even newer tricksJaime Crespo

    削除フラグのはなし
    ockeghem
    ockeghem 2011/08/10
    面白くてためになります。論理削除の不備によるユーザIDの二重登録問題については #wasbook P347に説明があります
  • 1分間の中断で導入できるDB暗号化、セーフネットが新版発売

    セーフネットは2010年12月22日、データベース(DB)暗号化ソフトの新版「ProtectDB 5.2」を発売した。DBサーバーにインストールするソフトで、DB暗号化アプライアンス「DataSecure」と組み合わせて利用する(図)。通常業務を約1分間中断するだけで導入したり、鍵更新したりできる点が特徴だ。 一般にDBへの暗号化の導入時や暗号鍵の更新時には、アプリケーション・サーバーからのDBアクセスを停止する必要がある。ProtectDB 5.2ではアクセス停止時間が1分程度で済む。従来製品では数十分、数時間単位のアクセス停止が必要で、業務への影響が大きかった。「システムを停止できず、暗号化を見送ったケースもあった」(日セーフネットの高岡隆佳シニアセキュリティエンジニア)ユーザーへの導入を狙う。 ProtectDB 5.2がDBアクセスの停止時間を短縮できたのは、DB暗号化とトラ

    1分間の中断で導入できるDB暗号化、セーフネットが新版発売
    ockeghem
    ockeghem 2010/12/22
    『アプリケーション側のクエリーに手を加える必要はない』<SQLインジェクションには効果がないけどストレージの盗難には有効とかどこにも書いていない
  • DBセキュリティの第1歩、アカウント管理と認証

    なぜアカウント管理と認証が大切なのか 個人情報保護法の施行や、内部統制におけるIT統制の要求、相変わらず多く発生している情報漏えいや改ざん事件などをきっかけに、データベース(DB)に保存されている重要な情報資産を保護するための、DBセキュリティ対策が求められています。 DBセキュリティ対策の1つとして、今回は「アカウント管理と認証」について解説します。なお、当記事では、DBにログインする際に使用するIDのことを「アカウント」と表記します。 システム管理部門において、DB管理業務に使用するアカウントを共有していたとしましょう。その部署に複数の人が所属していれば、管理職や実務担当など、それぞれの役割があります。このため、おのずと「やっていい操作」と「やってはいけない操作」が存在するはずです。 しかし、全員で同じアカウントを共有していた場合、不都合が生じてしまいます。個人の役割に沿った必要な権限

    ockeghem
    ockeghem 2010/11/05
    『なお、当記事では、DBにログインする際に使用するIDのことを「アカウント」と表記します』<これはチトまずくないか?
  • myfinder's blog: DBIx::Encodingというモジュールを書いた

    YAPCおつかれさまでした。YAPC中、今まさに課題になっているDB周りの問題を解消すべくDBIx::Encodingというモジュールを書きました。このDBIx::EncodingはDBIのサブクラスで、executeとfetchの際に指定した文字コードでencode/decodeしてくれるものです。そもそもDBの文字コード設定がUTF8なら余り悩むこともないのですが、世の中いろいろと事情があってDB側を変更できない事も多いでしょう。そんなときにこのモジュールを使うと、DBI側で文字コードをencodeしてinsert/updateしてくれ、selectしたときにはutf8 flagを有効にした文字列を返してくれます。使い方はSYNOPSISにもありますが、下記の通りmy @dsn = ( 'dbi:mysql:host=localhost;database=mysql;

    ockeghem
    ockeghem 2009/09/18
    UTF-8からCP932に変換するとなると、あの問題は大丈夫なのだろうか / id:nihen おお、それは素晴らしい。ありがとうございます
  • Amazon.co.jp: MySQLによるタフなサイトの作り方: 佐藤真人, 桑野章弘, 岡田達典, 大黒圭祐: 本

    Amazon.co.jp: MySQLによるタフなサイトの作り方: 佐藤真人, 桑野章弘, 岡田達典, 大黒圭祐: 本
  • SQLのlike演算子でエスケープが必要な文字 - teracc’s blog

    まとめると以下のようになると思います。 Oracle % _ %(全角)_(全角) DB2 % _ %(全角)_(全角) MS SQL Server % _ [ MySQL % _ PostgreSQL % _ 注意点は以下のとおり。 DB2、Oracleは、「%」「_」(全角)もワイルドカードとして解釈する SQL Serverは、[a-z]のような正規表現的な記述を解釈する 当然、ワイルドカード的な機能を持たせたい「%」や「_」等はエスケープしない 全データベース共通の話として、エスケープ文字自体もエスケープする必要がある(MySQL、Postgresでは「\」がデフォルトのエスケープ文字) likeのエスケープをした後に、Prepared Statementで値をSQLにバインドする (関連)2008-07-10 - T.Teradaの日記

    SQLのlike演算子でエスケープが必要な文字 - teracc’s blog
    ockeghem
    ockeghem 2009/07/03
    これはよいまとめ。OracleとDB2では、全角の%と_もワイルドカード扱い
  • どうも世間では、思ったよりDBエンジニアが不足している様だ: 不倒城

    ちょっと技術的な話。oracle分かる人にしか分からないかも。 最近取引先のシステムを見る機会が何度かあったのだが、昨日すんごいとこ見た。 DBが重くて業務にならないというから、ちょっと中を覗かせてもらったらもうエラいこっちゃ。 ・業務ロジックの殆どをファンクション・プロシージャで構成している。なのに、キャッシュヒット率が妙に低い。 ・調べてみようと思ったら一回もstatspackが取得されていない。(担当者には、「statspack?syslogならとってあるんですが…」と言われた) ・各テーブルのindexがどういう訳か全列に貼られている。ちなみにindexは全テーブル例外なくその一個だけ(プライマリキーを除けばだが)。 ・と思ったら、PKが文字列だったりするテーブルがあちらこちらにある。 ・試しにファンクションを一つ二つ見てみたら、なんか普通にクロス結合されまくっていてちょっとくらっ

    ockeghem
    ockeghem 2009/01/20
    『indexは、全て全列の複合indexでした』<うーむ。これは単に知識が足りないと言うことですね。分かります
  • 「はじめてのPHPプログラミング基本編5.3対応」のゆるいところ(5) - 郵便番号は整数型か

    前回に引き続き、はじめてのPHPプログラミング 基編5.3対応のゆるいところの最終回はセキュリティの話題ではなく、データベースの列の型についてだ。 書のP215には、SQLiteを使って住所録のテーブルを作ろうとあるのだが、テーブルの形式は以下のようになっている。 カラム名 意味 データ型 主キー NOT NULL 備考 id 通し番号 INTEGER ○ ○ 自動的に通し番号が割り振られる name 氏名 TEXT - ○ zip 郵便番号 INTEGER(7) - - ハイフン(-)を除いた7桁の整数 address 住所 TEXT - - create_at 登録日時 DATETIME - ○ 郵便番号の型がINTEGER(7)になっているのを見て、私は目をむいた。 一般的に、郵便番号はVARCHAR(7)かVARCHAR(8)にする場合が多いと思う。もっと一般的に、「××番号」

    「はじめてのPHPプログラミング基本編5.3対応」のゆるいところ(5) - 郵便番号は整数型か
  • PostgreSQLで効率的な負荷分散を実現し、モバゲーやmixiを追撃 ― TechTargetジャパン

    オープンソースのPostgreSQLでシステムを構築 10代、20代を中心に急激な普及を見せる“ケータイSNS”。会員数が865万人に達する「モバゲータウン」や月間118億ページビュー(PV)を誇る「mixi」(約6割がモバイル経由)など、大手SNSサイトが存在感を増している(数値はいずれも2007年12月現在)。そうした中で先行組を激しく追撃しているのが、オープンドアが運営する携帯電話向けのSNSサイト「大集合NEO」だ。 2007年1月にスタートした大集合NEOは、SNSのみならず、アバターゲーム小説、動画、日記、チャットなどのサービスをすべて無料で楽しめるのが特徴だ。アバターやサイト内通貨の使い勝手の良さで先行サイトと差別化を図り、2007年夏に50万人だった会員数が2008年2月時点で2倍の100万人に達している。 その大集合NEOのシステム基盤を担っているのは、MySQLとオ

    PostgreSQLで効率的な負荷分散を実現し、モバゲーやmixiを追撃 ― TechTargetジャパン
  • 第1回 資産を守るために必要不可欠なデータベースセキュリティ | gihyo.jp

    なぜデータベースセキュリティが必要なのか 最近は企業の情報資産を保護することの重要性が理解されてきましたが、ネットワークやアプリケーションでの対策に比べ、企業の資産となる重要データが格納されているデータベースのセキュリティ対策状況は十分とは言えません。 そのような状態のデータベースが不正にアクセスされたり、内部関係者が悪意を持って犯行に及んだりした場合、被害は深刻なものになりかねません。そのような被害を受けないために、データベースセキュリティ対策は必要であり、内部関係者の不正からデータベースを守ることは、内部統制の一部となります。 内部犯行対策に有効なデータベースセキュリティ 内部関係者は、日々の業務でアプリケーションを利用してデータベースの重要情報にアクセスしています。DB管理者やDB運用者は強力な権限を持つアカウントを使用し、直接データベースにログインして作業することもあり、業務の特性

    第1回 資産を守るために必要不可欠なデータベースセキュリティ | gihyo.jp
  • DSAS開発者の部屋:5分でできる、MySQLのメモリ関係のチューニング!

    MySQLのチューニングにおいて非常に重要となるメモリ(バッファ)関連のパラメータについて、 チューニングのポイント DSASのとあるDBサーバ(実メモリ4GB)の実際の設定値 をまとめてみます。 また、必要メモリの総量の計算や限界値を越えてないかチェックしてくれるスクリプトも紹介します。 是非、参考にしてみてください! まず最初に注意点を。 バッファには2つのタイプがあります。 グローバルバッファ スレッドバッファ グローバルバッファはmysqld全体でそのバッファが1つだけ確保されるもので、 これに対し、 スレッドバッファはスレッド(コネクション)ごとに確保されるものです。 チューニングの際にはグローバル/スレッドの違いを意識するようにしましょう。 なぜなら、スレッドバッファに多くのメモリを割り当てると、コネクションが増えたとたんにアッという間にメモリ不足になってしまうからです。 in

    DSAS開発者の部屋:5分でできる、MySQLのメモリ関係のチューニング!
  • MySQLのパラメータチューニング

    以下は、MySQLに関する参考になるエントリーをいくつか書いてくれているfutsu-9さんがいいリファレンスになるとして英語エントリーを和訳したもの。実メモリがどのくらいの時の設定値なのかが書かれていないので、想像するしかないが、512MB~1GBくらいの感じがする。 MyISAM利用時に参考となるパラメータ値(魚拓) グローバルバッファ ・key_buffer = 128M ・query_cache_size = 128MB ・query_cache_limit = 4MB ・table_cache = 512 ・delay_key_write = 1 スレッドバッファ ・sort_buffer_size = 32M ・myisam_sort_buffer_size = 32M ・tmp_table_size = 64MB ・wait_timeout = 60 futsu-9さんのMyI

    MySQLのパラメータチューニング
  • 忘れっぽいエンジニアのオラクルSQLリファレンス

    物忘れの激しい管理人は、調べたこともすぐ忘れてしまうので、同じことを、何度も調べながら開発しています。 ただ、IT業界は覚えることが多過ぎて、文法などの細かいことはあまり覚える気が無いというのもありますが(笑) そこで、何度も同じことを調べなくてもいいように、ORACLE SQLリファレンスをサイトにまとめる事にしました。 私と同じようなプログラマーやSEも結構いるんじゃないかと思いますので使えそうだったら利用してみて下さい。

  • 「MySQL,PostgreSQLとFirebirdの性能をユーザー会メンバーが徹底比較,判明...

    「更新とJOINが多ければMySQL,シンプルなSELECT主体ならPostgreSQLが向いている。ストアド・プロシージャでシングル・コネクションならFirebirdは非常に速い」---6月23日に開催された「オープンソースカンファレンス2007.DB(OSC2007.DB)」で,各オープンソースDBのコミュニティのメンバーによる性能比較が披露され,従来の一般的なイメージとは異なる“意外な結果”が明らかにされた。 オープンソースカンファレンスは,オープンソース関連コミュニティが主催するイベントで,OSC2007.DBはデータベース関連のコミュニティが集まったイベントである。性能比較セッションを担当したのは,日MySQLユーザ会の堤井泰志氏,日PostgreSQLユーザ会の片岡裕生氏,Firebird日ユーザー会の木村明治氏。「あくまでボランティアによる性能比較であって,最速,最新マ

    「MySQL,PostgreSQLとFirebirdの性能をユーザー会メンバーが徹底比較,判明...
  • 1