タグ

sqlとprogrammingに関するktakeda47のブックマーク (14)

  • SQLトランザクション分離 実践ガイド | POSTD

    (注:2017/10/16、いただいたフィードバックを元に翻訳を修正いたしました。) (注:2017/10/11、いただいたフィードバックを元に翻訳を修正いたしました。) データベースのドキュメントで分離レベルを目にして、軽く不安を感じつつ、あまり考えないようにしたことはないでしょうか。トランザクションの日常の使用例できちんと分離について言及しているものはほとんどありません。多くはデータベースの初期設定の分離レベルを利用しており、後は運頼みです。しかし、来、理解しておくべき基的なトピックであり、いくらか時間を投入してこのガイドの内容を学習すれば、もっと快適に作業できるようになるでしょう。 私はこの記事の情報を学術論文、PostgreSQLドキュメンテーションから集めました。分離レベルの 何たる かだけでなく、適用の正確さを保持しつつ最大速度で使うにはいつ使うべきか、という疑問に答えるべ

    SQLトランザクション分離 実践ガイド | POSTD
    ktakeda47
    ktakeda47 2017/10/11
    ( Oracle 勉強させられた時やったわー全然覚えてないわー)
  • イミュータブルデータモデル(入門編)

    「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、当のインサイトを見つけるUXデザインUXリサーチ

    イミュータブルデータモデル(入門編)
  • 「うらがみが Java まわりの ORM を知りたい会」 に参加してきた - ひだまりソケットは壊れない

    うらがみがJavaまわりのORMを知りたい会 - connpass Java の O/R マッパーまわりの話を知りたかったので、6/14 に行われた勉強会 「うらがみが Java まわりの ORM を知りたい会」 に参加してきました。 会場は和室でした。 Java まわりの O/R マッパー、あんまり詳しくないのでいろいろ知れて良かったです。 メモを残しておきます。 発表内容 JavaORMDoma の話 +α (@backpaper0 さん) 発表資料: JavaORMDomaの話 +α — JavaORMDomaの話 1.0 documentation いろんな O/R マッパーについての簡単な紹介と、Doma の紹介。 紹介された O/R マッパーのうち、使うとしたら JPA か Iciql か Doma かなーという気持ちになった。 (個人の感想です。) ちなみに紹

    「うらがみが Java まわりの ORM を知りたい会」 に参加してきた - ひだまりソケットは壊れない
  • http://www.saitolab.org/taiken/

  • 英国で大論争、交通標識にアポストロフィーは必要か (AFP=時事) - Yahoo!ニュース

    【AFP=時事】英国で、英語の文法をめぐる奇妙なバトルが繰り広げられている。交通標識から「アポストロフィー」を省略したい地方議会と、それを止めようとする英語愛好家たちの闘いだ。 英国の正しい英語守る「クイーンズ・イングリッシュ協会」、解散へ  バトルの波は今、大学の街ケンブリッジ(Cambridge)に押し寄せている。たとえば「キングズ・ロード」の標識は、「King's Road」から「Kings Road」に変えられた。 しかしケンブリッジ市はこの方針の撤回を余儀なくされた。何者かが夜中にマジックでアポストロフィーを書き込むゲリラ運動を始めたためだ。 地方政府が句読点を省略し始めたのは、中央政府から救急医療サービスのためにと、勧告があったためとみられる。 今年、ぜんそくを患っていた10代の子が、アポストロフィーのせいで救急車が違う住所に向かったために死亡した。 ケンブリッジ市議会

    ktakeda47
    ktakeda47 2014/04/07
    "「国のガイドラインには、新しい通りの名前に句読点を入れないことが推奨されていた。句読点が救急サービスのソフトウェアでうまく処理されていなかったためだと思われる」"
  • DDLレベルの外部キー制約は不要 - 設計者の発言

    テーブルを作る際に、DDLレベルで外部キー制約をつけることがあるが、私はこれには反対である。組み込める制約の幅が狭すぎるうえに、業務ルールに関する記述があちこちに散らばってしまうからだ。順を追って説明しよう。 外部キー制約を組み込むことで、テーブルは更新・追加・削除操作において制約を受ける。たとえば、受注テーブルが顧客idを持っているとして、これに顧客マスターに対する外部キー制約を与えるとしよう。このとき、受注登録の際に顧客idの値がその時点の顧客マスター上に定義されていなければエラーになる。また、特定の顧客データを顧客テーブルから削除しようとしたときに、既存の受注データと関連づけされているような顧客であれば、やはりエラーになる。 この程度の例であれば、外部キー制約をDDLレベルで組み込むことに何ら問題はない。 ところが、現実は想像以上に複雑である。たとえば、多少不自然な例ではあるが、受注

    DDLレベルの外部キー制約は不要 - 設計者の発言
    ktakeda47
    ktakeda47 2013/02/23
    "ようするにDDLレベルの外部キー制約機構は、現実の業務要件を前にしてはイライラさせられるほどに単純で中途半端である。"
  • 「SQL アンチパターン」は色んな戦争の火種になりそう - yoshiori.github.io

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

  • SQLのインデックスについて解説した洋書が良かった件。PDF版もあるよ(2012/10/22までの割引購入クーポン有) - このブログはURLが変更になりました

    最近読み終えたSQL PERFORMANCE EXPLAINEDという洋書がインデックスについて詳しく説明されてていい感じでした。原著はドイツ語人による英訳版らしく誤字いくつか目につきますが、インデックスについてここまで詳しく説明した書籍は他に例がありません。私が知らないだけかもしれませんが。 どういった内容か 複合インデックス、部分インデックス、クラスタインデックスの使うポイント、LIMIT、ORDER BY、GROUP BYでのインデックスの使われ方などが解説されてます。また、MySQLSQL Server、PostgreSQLOracleの各実装の違いなども丁寧に紹介されています。対象バージョンが比較的新しいのもポイントですね。 詳しくは第二章まで読めるプレビュー版とその目次をご覧ください。 ペーパーブック版とPDF版あります 私が購入したときはペーパーブック版しかなかったの

    SQLのインデックスについて解説した洋書が良かった件。PDF版もあるよ(2012/10/22までの割引購入クーポン有) - このブログはURLが変更になりました
  • The SQL Injection Knowledge Base

    Examples: SELECT * FROM Articles WHERE id = '1'''; SELECT 1 FROM dual WHERE 1 = '1'''''''''''''UNION SELECT '2'; Notes: You can use as many apostrophes and quotations as you want as long as they pair up. It is also possible to continue the statement after the chain of quotes. Quotes escape quotes.

    ktakeda47
    ktakeda47 2012/07/07
    "SQL Injection Knowledge Base"
  • SQLインジェクションでWebサイトをハッキングする方法(超意訳版) - おかねがない(゚∀゚)ッ!!

    SQLインジェクションでWebサイトをハッキングする方法(超意訳版) - おかねがない(゚∀゚)ッ!!
  • ちょっと変わったSQLインジェクション

    IT編集部のセミナーに出てきました 3月2日に、@IT編集部主催の「@IT セキュリティソリューション Live! in Tokyo」にて、NTTデータ先端技術の辻さんとインターネットイニシアティブの根岸さんとともに、ランチセッションに出演してきました。辻さん&根岸さんのトークに絡ませてもらい、あっという間にランチセッションは楽しく終了しました。 事前の準備中はあれだけいろいろと話そうと思っていたのに、いざ始まると時間が足りないくらい盛り上がりました。ちょっと物足りないと思うくらいがいいのかもしれませんね。その会場で使った、2002年と2012年付近の出来事を示した資料がこちらです。 私はちょうど10年前の2002年にラックに入社しました。振り返ってみればあっという間の10年の社会人生活です。こうしてみると、いろんなインシデントがリアル世界とサイバーの世界で起こっていたんだなと懐かしくな

    ちょっと変わったSQLインジェクション
  • 明暗くっきり、オライリーと技術評論社

    オライリーの値段は高いが、質も高い。 自分の専門分野のオライリーは必ず一冊は持っているのが当たり前だった。「サイ」とかにニックネームが付けられてそれで通用するぐらいに、とにかくオライリーのはwebエンジニアにとって特別なであった。そして時代は変わる。 オライリー自体は変わっていないが、時代が変わってしまった。 日語で出版されるオライリーの価値がゆっくりと毀損する間に、技術評論社の書籍の評価はうなぎ上りだ。 うん、ここ最近ではHadoopは秀逸だった。トレンド技術を捉えてうえで数年は価値が落ちない網羅っぷり。 まだ枯れきっていない分野で日語オライリーが存在感を示した最後の例になるかもしれない。 乱立するKVS分野において日語オライリーは無力極まりなしで目も当てられない。 cassandraがようやく出たがversion0.8だ。外人さんが書いた原を数ヶ月から一年か

    明暗くっきり、オライリーと技術評論社
    ktakeda47
    ktakeda47 2011/12/31
    技評の本ってそんなに良いの? "翻訳という形態の技術書の価値が無くなろうとしている。オライリーとて例外ではない。オラの功績はすさまじいものがあるし、足を向けて眠れないぐらいなのだが、・・・日本語の本は日
  • バッチ処理時間が要件の7倍、SQL最適化から発想変えて対処

    1. 届け先を管理する新設のDBサーバーで、バッチ処理時間が想定の6~7倍と判明 2. 一括ロードツールを使い、メモリー上での処理を活用して1時間以内に収めた 3. SOAサービスの粒度は、カスタマイズの手間を減らすため単純な機能単位にした 「1時間が要件のバッチ処理に当初、6~7時間もかかった。工夫を重ねて、ようやく時間内に収められた」(ヤマトシステム開発 グループソリューションカンパニー 次期NEKOプロジェクト マネージャー 田中諭氏)。 ヤマト運輸が5年ぶりの刷新を進めている基幹システム「第7次NEKOシステム」。住宅に送る「宅配」から、住宅に住む個人の都合に合わせて送る「個配」を目指したものだ。2010年9月には、送り状に記載された届け先の個人名や住所などを登録した「届け先DBサーバー」を新たに稼働させた。これまで送り状に書かれた届け先は、郵便番号など一部の情報しかシステムに登録

    バッチ処理時間が要件の7倍、SQL最適化から発想変えて対処
    ktakeda47
    ktakeda47 2011/07/12
    [for:@twitter]佐川おかげでヤマトの便利さを知る今日このごろ。 "バッチ処理時間が要件の7倍、SQL最適化から発想変えて対処"
  • 『アメブロで行ったチューニングの紹介』

    はじめまして。ブログを担当しているNと申します。 ブログ絡みの技術ネタをと依頼をされましたが、 ブログは枯れた技術を多く使っていて目新しいことはあまりないので、 以前行ったチューニング内容について紹介したいと思います。 2008年にブログの記事データについて行ったDB+アプリでのチューニングです。 ブログの記事データはMySQLのMaster-Slave構成で保持していて、 Slaveサーバーをスケールアウトしてブログの閲覧のリクエストを処理しています。 SlaveのMySQLのバージョンは4.1でEngineはMyISAMです。 記事テーブルには以下のようなデータを保持しています。 記事ID,ブログID,記事タイトル,日付,テーマ,公開区分,ステータス,・・・ チューニング前の記事テーブルには以下のようなINDEXを張っていました。Key_name Seq_in_index Collat

    『アメブロで行ったチューニングの紹介』
    ktakeda47
    ktakeda47 2011/07/10
    [for:@twitter]"この変更により同じデータを取得するのに、SQLの発行回数が1回だったものが、1+N回になりました。その結果、AP-DB間のトラフィックは増えたのですが・・・DBのレスポンスが向上したことによって、APサーバーに
  • 1