タグ

SQLに関するt-wadaのブックマーク (38)

  • 「SQLアンチパターン」を避けるためのチェックリスト①(DB論理設計編) - log4ketancho

    ずっと前から積ん読状態だった「SQLアンチパターン」を読みました。 何年積んでたか分からないSQLアンチパターン読み終わったー。噂に違わずいいですねー。もっと早く読むべきだった。— @ketancho (@ketancho) 2018年3月6日 噂通りとても良いで、まさに「エンジニアとしての血肉」と言えます。1, 2年目の頃に読んでおくべきだったなーと少し後悔しています。 SQLアンチパターン 作者: Bill Karwin,和田卓人,和田省二,児島修出版社/メーカー: オライリージャパン発売日: 2013/01/26メディア: 大型購入: 9人 クリック: 698回この商品を含むブログ (46件) を見る 読んで終わりだと身につかないと思うので、自分なりのチェックポイントを言語化しておこうと思います。長くなってしまったので、章ごとに4つに分けたいと思います。この記事はその第一弾と

    「SQLアンチパターン」を避けるためのチェックリスト①(DB論理設計編) - log4ketancho
    t-wada
    t-wada 2018/03/08
    素晴らしいエントリをありがとうございます。『SQLアンチパターン』は名著であると胸を張って言えます。ご興味をお持ちの方はこの機会にぜひ。
  • SQLアンチパターンNight Part2 に参加してきた - gunjisatoshiの日記

    ここ数年業が忙しくなってしまった関係で、すっかり IT エンジニアコミュニティとか IT 勉強会とかそれ系のカンファレンスとか、そういったものとは縁遠くなってしまったのだけど、ここしばらくはようやく少し余裕が出て来たので、ものすごく久しぶりにそれっぽいものに参加してきた。 connpass.com 資料も公開されている。 speakerdeck.com 結論から言うと、参加してとてもよかった。何がよかったかと言うと、まず現在の SQL というかリレーショナルデータベースについて学ぶための書籍の概観を知ることができたこと。昔は当に入門書はたくさんあるけれど、次に進むためのステップがなかった。そう言う意味では書は中級者向けであるし、最近では中級者向けのがとても充実してきていると言うことを知ることができてよかった。いわゆる「学習の高速道路」が整備された状況と言ってもいいのだろうね。 ja

    SQLアンチパターンNight Part2 に参加してきた - gunjisatoshiの日記
    t-wada
    t-wada 2017/07/26
    "現在の SQL というかリレーショナルデータベースについて学ぶための書籍の概観を知ることができた" "SQL は進化の止まった古臭い言語なんかではなくて、今も変化し続けている実用言語"
  • What’s New in SQL:2016

    In December 2016, ISO released a new version of the international SQL standard (ISO/IEC 9075:2016). It supersedes the previous version from 2011. This article is a brief overview of the new features being introduced into the SQL language. Strictly speaking, this article covers the additions to part 2 of the standard (SQL/Foundation), i.e. the most commonly used part. This article also shows the av

    What’s New in SQL:2016
    t-wada
    t-wada 2017/07/11
    最新のSQL標準(SQL:2016)のサマリー。行間パターン認識、JSON関数群やListagg関数、外部リソースを動的にテーブルに見せかけるPolymorphic Table Functionなど
  • なぜ、SQLは重たくなるのか?──『SQLパフォーマンス詳解』の翻訳者が教える原因と対策 - エンジニアHub|Webエンジニアのキャリアを考える!

    なぜ、SQLは重たくなるのか?──『SQLパフォーマンス詳解』の翻訳者が教える原因と対策 『SQLパフォーマンス詳解』の翻訳者の松浦隼人さんに、8つの「SQLが重たくなる原因とその対策」を聞きました。システムのボトルネックになるような「問題のあるSQL」を回避するノウハウを学びましょう。 データの操作や定義をする言語「SQL」は、どのような領域を担うエンジニアにとっても必修科目です。しかし、その仕様をきちんと理解し、パフォーマンスに優れたSQLを書ける方はそれほど多くありません。問題のあるSQLを書いてしまい、知らぬ間にそれがシステムのボトルネックになってしまう事態はよく発生します。 では、どうすればそうした事態を回避できるのでしょうか? そのノウハウを学ぶため、今回は『SQLパフォーマンス詳解』の翻訳者であり、自身もエンジニアでもある松浦隼人(まつうら・はやと/@dblmkt)さんに8つ

    なぜ、SQLは重たくなるのか?──『SQLパフォーマンス詳解』の翻訳者が教える原因と対策 - エンジニアHub|Webエンジニアのキャリアを考える!
    t-wada
    t-wada 2017/06/26
    わかりやすく充実したインタビュー記事。『SQLパフォーマンス詳解』の良い紹介にもなっている。
  • t-wadaさんとのSQLアンチパターン勉強会 | FiNC Developers Blog

    t-wadaさんとのSQLアンチパターン勉強会 はじめにこんにちは、技術開発部の中森です。 社内で4ヶ月に渡り、SQLアンチパターン勉強会を開催してきました。そして、最後の締めとして、SQLアンチパターン監訳者であるt-wadaさんをお迎えし、今までの勉強会で疑問として上がった点について、討論会を行いました。 今回のエントリではその討論会の内容を紹介します。 ファントムファイルについて勉強会の中で最も議論となったのは11章のファントムファイルでした。 この章で紹介されているアンチパターンは、ファイルのバイナリ情報をDBの内部に保存するのではなく、外部のファイルに置くというものです。 t-wadaさん曰く、他の場所でも最も批判の対象となる箇所です。 ここで最も大切なことは「盲目的にアンチパターンを避けない」ということです。 最近のWebアプリケーションでは画像や動画のバイナリデータは頻繁にや

    t-wadaさんとのSQLアンチパターン勉強会 | FiNC Developers Blog
    t-wada
    t-wada 2016/10/24
    株式会社FiNC様にお邪魔して、『SQLアンチパターン』を中心に議論してきました。ありがとうございました!
  • 新著が出ます:『プログラマのためのSQLグラフ原論』 - ミックのブログ

    今月下旬に、J.セルコの『Trees and Hierarchies 2nd Edition』の邦訳が刊行されます。同著者の代表作『プログラマのためのSQL 第4版』のスピンオフの一つで、RDB/SQLで木と階層構造を扱うための方法論にフォーカスしたなかなかマニア度の高い一冊です。主眼となる「入れ子集合モデル」については、私もあちこちの記事や書籍で紹介したことがあるので、ご存じの方もいるかもしれませんが、より包括的かつ理論面までカバーした格派の内容になっています。 表紙の女性はマリア様でしょうか。家の方が刊行されたときも「このおっさん誰?」という質問が相次ぎましたが、ガリレオという説が有力なようです。そう言われてみると家は『星界の報告』のような格調を感じます。書の方は、長らく定説とされてきたモデルをひっくり返そうという意味では『天体の回転について』みたいな性格もあるのですが、大型

    新著が出ます:『プログラマのためのSQLグラフ原論』 - ミックのブログ
    t-wada
    t-wada 2016/08/15
    絶対に翻訳されないと思っていたニッチな本がミックさんの翻訳で読めるんだから、これはもう買うしかない
  • ディレクターがSQLを使えてよかった話 - クックパッド開発者ブログ

    こんにちは。ディレクターの川原田です。 クックパッドでお気に入りレシピを保存する「MYフォルダ」のサービス開発や、保存・記録に関する新規サービスの検討・開発を担当しています。 ディレクターの仕事は様々ありますが、今回は私が身につけたことで仕事領域が広がった!と感じているSQLについてお話ししたいと思います。 いきなりですが、SQLが使えてよかった点をまとめると以下です。 よかったこと 数値抽出から分析まで自己完結 エンジニアとのコミュニケーションがスムーズに 仕事が増えていそうで実は効率アップ 周囲の知的好奇心を刺激 それぞれ具体例を交えてお話します。 数値抽出から分析まで自己完結 事例1:ログ構造を理解でき後の仕事がスムーズに 昨年、アプリのサービス開発を担当した際、エンジニアの設定したログが、実際に送信されるかどうかを事前チェックをしました*1。 アプリのリリースはタイミングが決められ

    ディレクターがSQLを使えてよかった話 - クックパッド開発者ブログ
    t-wada
    t-wada 2016/07/06
    すばらしい。本来の SQL の目的のひとつが、こういったエンドユーザコンピューティングなんですよね。
  • Amazon.co.jp: プログラマのためのSQLグラフ原論 リレーショナルデータベースで木と階層構造を扱うために: ジョー・セルコ (著), ミック (翻訳), ミック (監修): 本

    Amazon.co.jp: プログラマのためのSQLグラフ原論 リレーショナルデータベースで木と階層構造を扱うために: ジョー・セルコ (著), ミック (翻訳), ミック (監修): 本
    t-wada
    t-wada 2016/07/04
    おおおセルコの『Trees and Hierarchies in SQL for Smarties』がミックさんの手で翻訳された!!! "日本における入れ子集合モデルの実用例解説(ミック氏執筆)を巻末に追加"
  • データを一箇所に集めることでデータ活用の民主化が進んだ話 - once upon a time,

    先日、この記事を読んで分析のハードルを下げること大事だよね、というのを思い出したのでつらつらと書いてみようと思います。 qiita.com 内容としては正直タイトル詐欺で、SlackからRDSにクエリ発行できるようにして、各種権限を持っているエンジニアでなくても分析できるようになったよ、という話です。 ここでいう「データ活用の民主化」というのはかっこ良く言ってみたかっただけで、「データ分析を生業にしている人以外もデータを活用してビジネスを進められるようになる」というくらいのニュアンスだと思って下さい。 「データ分析」というとアナリストの人がやること、みたいな職務が分かれている環境もあるとは思いますが、そうではない会社(前職)の一例です。 データ活用が広まった流れ 数秒〜数十秒で対話的にクエリが返ってくると、トライアンドエラーが100倍くらいできる 今まで実行計画を気にして避けていたことにガ

    データを一箇所に集めることでデータ活用の民主化が進んだ話 - once upon a time,
    t-wada
    t-wada 2016/05/09
    これはいい話だ
  • PostgreSQLアンチパターン

    PostgreSQLモニタリングの基NTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...NTT DATA Technology & Innovation

    PostgreSQLアンチパターン
    t-wada
    t-wada 2015/11/28
    論理削除フラグの闇をこれでもかとえぐり出した読み応えのある資料。他のアンチパターンもすばらしい。
  • 論理削除 Casual Talks #1 で「論理削除しない」という話をしました - moroのブログ

    互いの前職での先輩後輩である @kenchan と企画した論理削除 Casual Talks #1で、「論理削除しない」という話をしてきました。 話す内容が各話者で面白いほどかぶっていたのでなかなか大変でしたが、普段から言っている「論理削除するな」「削除じゃないからちゃんと機能を設計しましょう」という内容を話してきました。 他の方の話も、かぶっているようで新しい視点もあって、いち参加者としてもたいへん勉強になりました。

    論理削除 Casual Talks #1 で「論理削除しない」という話をしました - moroのブログ
    t-wada
    t-wada 2015/09/01
    "データの「終わり方」をふつうに設計する" "四文字熟語で何かを言った気にならない" "削除じゃないからちゃんと機能を設計しましょう"
  • SQL style guide by Simon Holywell

    Overview General Do Avoid Naming conventions General Tables Columns Aliasing or correlations Stored procedures Uniform suffixes Query syntax Reserved words White space Indentation Preferred formalisms Create syntax Choosing data types Specifying default values Constraints and keys Designs to avoid Appendix Reserved keyword reference Column data types SQL style guide Overview You can use this set o

    t-wada
    t-wada 2015/07/27
    SQL のスタイルガイド。きれいに整理されている。セルコ本もあわせて読みたい感じ 『Joe Celko's SQL Programming Style』 http://www.amazon.co.jp/dp/0120887975
  • GitHub - square/sqlbrite: A lightweight wrapper around SQLiteOpenHelper which introduces reactive stream semantics to SQL operations.

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - square/sqlbrite: A lightweight wrapper around SQLiteOpenHelper which introduces reactive stream semantics to SQL operations.
    t-wada
    t-wada 2015/02/27
    “A lightweight wrapper around SQLiteOpenHelper which introduces reactive stream semantics to SQL operations.”
  • Norikra v1.0.0 - たごもりすメモ

    English article 以前からスキーマレスなストリーム処理をSQLで!というソフトウェアとして作っていたNorikra、このたびあちこち機能改善したりしたので、既にお仕事で絶賛稼働中ということもあるし、区切りとして v1.0.0 としてリリースした。 ついでにロゴとかも作ったので、なんとなくいい感じになりつつある。 https://rubygems.org/gems/norikra/versions/1.0.0-java http://norikra.github.io/ 修正点は リポジトリ のChangesに書いてあるが、curlだけで操作できるようHTTP JSON APIが加わってたり、GCまわりでハマらないようなデフォルトオプションが入ってたり、分析系クエリを書きたい人のために Group-by with Rollup や Grouping sets, Cube などの

    Norikra v1.0.0 - たごもりすメモ
    t-wada
    t-wada 2014/05/20
    semantic versioning の時代に v1.0.0 をリリースすることの意義深さよ! 気高く、尊い。素晴らしい!
  • GitHub - dinedal/textql: Execute SQL against structured text like CSV or TSV

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - dinedal/textql: Execute SQL against structured text like CSV or TSV
    t-wada
    t-wada 2014/04/17
    CSV や TSV も SQL で扱えるツール。これも golang 製か。
  • 俺の脳内選択肢が、SQLインジェクション対策を全力で邪魔している — A Day in Serenity (Reloaded) — PHP, CodeIgniter, FuelPHP, Linux or something

    PHP Advent Calendar 2013 in Adventarの19日目です。昨日も私の「PDOでの数値列の扱いにはワナがいっぱい(2)」でした。 うっかりtogetterなんか見てしまい、無駄に時間を使ってしまったと後悔した上に混乱してしまい余計にわからなくなってしまった人もいるかも知れません。 そこで、せっかくの機会なので、SQLインジェクション対策について、現在の私の考えをまとめておこうと思います。 選べ ①SQLインジェクション対策にプリペアドステートメントを使う ②SQLインジェクション対策にエスケープを使う もし、上記のような選択にはまってしまったら、あなたのSQLインジェクション対策は、現実的には、ほぼ100%間違っていると言えるのではないでしょうか。プリペアドステートメントとエスケープは、このような対立構造にはありませんから。 なお、この記事は、SQLインジェクシ

    t-wada
    t-wada 2013/12/19
    “(1)リテラル部分ではプレースホルダを使用する (2)リテラル以外の部分はホワイトリストで検証する” とても整理されている
  • SQLインジェクション対策について

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    SQLインジェクション対策について
    t-wada
    t-wada 2013/12/16
    短く、バランスが取れていて、正しい意見だと思う。 "開発元に電話をして作ってくれるようにお願いしてみよう!" ひろみちゅ先生みたいにライブラリ開発元に電凸する未来が見えてわくわくしますね!
  • SQLインジェクション対策に正解はない

    最近、SQLインジェクションのネタが盛り上がってるようだ。下記のTogetterまとめあたりが震源地だろうか。 「プリペアードクエリが基だけど、動的に SQL を組み立てる場合もあるから、そういう場合に備えてエスケープも知っておいたほうがいいかも」 - Togetterまとめ まとめを読んだ感想としては、「どちらの意見も間違ってはいない」というものだ。前提あるいは見方が異なるために、見解の相違が生じているだけのように思う。SQLインジェクションについては私も若干思うところがあるので意見を書いておこうと思う。 攻撃を防ぐのは難しいSQLインジェクションをはじめとするセキュリティ対策が難しいのは、ひとつでも穴があると致命的なダメージを受け得るということだ。「どうやって効率よくコードを書くか」とか「コードのメンテナンス性を高めるにはどう書くべきか」みたいな議論とは全く質が異なる議論が必要になっ

    SQLインジェクション対策に正解はない
    t-wada
    t-wada 2013/12/14
    バランスの取れた意見だと思う
  • Amazon | Joe Celko's Complete Guide to NoSQL: What Every SQL Professional Needs to Know about Non-Relational Databases | Celko, Joe | Library Management

    *Amazon.co.jp発送商品の注文額 ¥2,000以上は非会員も無料 無料体験はいつでもキャンセルできます。30日のプライム無料体験をぜひお試しください。

    Amazon | Joe Celko's Complete Guide to NoSQL: What Every SQL Professional Needs to Know about Non-Relational Databases | Celko, Joe | Library Management
    t-wada
    t-wada 2013/10/25
    Joe Celko が NoSQL の本を書いた……だと……!?
  • qpstudyで発表したスライドをアップロードしました。

    日、qpstudyで「データベースとは」という内容について、そして「リレーショナルモデルとは」という内容について話す機会を頂いた。リレーショナルモデルという硬い内容であったにも関わらず、出席者の皆さんには最後まで良い反応をして頂けたように思う。実はリレーショナルモデルについて誤解している、あるいは知らない人が当に多い、そして良い解説書がないということを普段問題として感じており、そういった背景から今回qpstudyの話を引き受けさせて貰った。今回発表した内容が皆さんのお役に立てば幸いである。 発表の内容はほぼ現在WEB+DB PRESSで連載している「理論で学ぶSQL再入門」のいくつかの回のものを要約したものになっている。連載ではさらに詳しい内容について説明しているので、興味のある人はぜひWEB+DB PRESSのバックナンバー(連載はVol.68〜)を購入して頂きたい。 日発表したス

    qpstudyで発表したスライドをアップロードしました。
    t-wada
    t-wada 2013/07/29
    さすがは nippondanji ッッ!! なんというストロングスタイルッッッッ!!! (特に二つ目の資料が凄い)