タグ

sqlに関するJxckのブックマーク (33)

  • 分析SQLのコーディングスタイル - クックパッド開発者ブログ

    SQL、書いてますか? こと大規模データ処理の分野においてはSQLはもはや標準インターフェイスであり、 分析やらバッチやらに関わっている皆様は日々大量のSQLクエリーを生産していることと思います。 そこでちょっと気になるのが、 SQLのコーディングスタイルってどうするのが一般的なんだっけ……? という点です。 イマドキはSQLなんてO/R mapperに吐かせることが多いからなのか、 それともコードを広い範囲で共有することがそもそもないからか、 SQLのコーディングスタイルについて見聞きすることは他のプログラミング言語に比べるとだいぶ少なく、 いまいち決定版と言えるスタイルがないなと感じています。 そんなわけで日は、SQLのコーディングスタイルについての意識を活発化させるべく、 クックパッドでわたし(青木)が使っているコーディングスタイルから特徴的な点を紹介したいと思います。 特に、分析

    分析SQLのコーディングスタイル - クックパッド開発者ブログ
    Jxck
    Jxck 2016/11/10
    “SQLがまともに標準化されていないからDBを乗り換えることができず、 どうせDBを乗り換えることはできないから標準なんてどうでもいいのです。 たいへんウンザリします。 ”
  • Google、MySQL互換の第二世代「Cloud SQL」正式リリース。ベンチマークを公開し、Amazon Auroraより高速だとアピール

    GoogleMySQL互換の第二世代「Cloud SQL」正式リリース。ベンチマークを公開し、Amazon Auroraより高速だとアピール Googleは、Google Cloud Platformで提供しているマネージドサービスのMySQL互換データベースである「Cloud SQL」を正式版としてリリースしました。 Cloud SQLは2011年に発表され、2015年12月には性能を強化した第二世代が登場、最大10テラバイトのデータ容量とインスタンスあたり最大104GBメモリを提供し、最大2万IOPSの性能に達すると説明されていました。 正式版リリースにあたり、同社はブログ「Google Cloud Platform Blog: Cloud SQL Second Generation performance and feature deep dive」で競合となるAmazonクラウド

    Google、MySQL互換の第二世代「Cloud SQL」正式リリース。ベンチマークを公開し、Amazon Auroraより高速だとアピール
    Jxck
    Jxck 2016/08/18
  • 新著が出ます:『プログラマのためのSQLグラフ原論』 - ミックのブログ

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

    新著が出ます:『プログラマのためのSQLグラフ原論』 - ミックのブログ
    Jxck
    Jxck 2016/08/18
    RDB で木/階層を扱う「入れ子集合モデル」のみにフォーカスした書籍。なんとコアな。P300 越えだし kindle に期待。
  • SQL でファイル検索するコマンド selects を書いた話 | blog.jxck.io

    Intro UNIX コマンドを SQL で抽出できるツール qq を作った。 というエントリを読んで、そういえば似たようなものを作ってたなと思い出した。 自分の dotfiles の中にある、便利コマンド集の中にある selects についてである。 このコマンドは SQL という検索を記述的に表現する共通言語をファイル検索に応用し、 Ruby の動的言語として表現力を使って実装したものといえる。 その実装方法と実行例などについて記す。 selects 結論からいうとこういうコマンドだ。 $ selects mtime, size, basename from './entries/**/*' where extname '==' '.md' and size '>' 1000 order by mtime 2016-07-06 22:45:44 +0900 18437 web-font

    SQL でファイル検索するコマンド selects を書いた話 | blog.jxck.io
    Jxck
    Jxck 2016/08/06
    mattn さんの qq の話聞いてふと思い出したので、自分の便利コマンドについて書いた。
  • React Nativeはアプリ開発者の夢を見るか? - アニマネ開発日誌

    ES6とReactの勉強を兼ねて、React NativeでiOSアプリとAndroidアプリを作ってみました。 アニメグッズの最安値を検索するアプリです。 アニマネ プライス - アニメグッズの最安値をチェック! Kazuhiro Minatoショッピング無料 React NativeはJavaScriptが書ければiOSアプリとAndroidアプリが作れます。 それに加えてHTML5のハイブリッドアプリとは違い、高速に動作すると謳われるプラットフォームです。 コードの共通化ができて、しかも高速というのは開発者にはとても魅力的です。 タイトルはパロディなので少々大げさな感じがしますが、実際に作って色々と分かりましたので、 React Nativeについて軽く紹介しつつ、これから導入を検討している人向けに書いてみます。 ざっくりとしたまとめ 長い記事なので、忙しい人向けのざっくりとしたまと

    React Nativeはアプリ開発者の夢を見るか? - アニマネ開発日誌
    Jxck
    Jxck 2016/07/25
  • [SQL] SQL文の書き順 〜PostgreSQL Tutorialを使いながら解説〜 | DevelopersIO

    はじめに いざSQL文を書こうと思ったけど、どこから書けばよいのか迷うことはないでしょうか? まずはselect句から書こうかな。。 使用するテーブルはわかっているのでfrom句から。。 where句はちょっと長くなるから後回しにして。。。 などなど 長いSQL文を書く必要がある時に、どこから書けばいいのか迷う方(僕もそうです)に読んでいただければと思います。 今回ご紹介する書き方は、あくまでも僕がSQL文を書く時に気をつけている方法ですので、他にもっといい書き方・書き順がある可能性があります。 今回は順番にフォーカスしているため、個々の句についての解説は割愛します。 環境 MacOS 10.10.5 PostgreSQL 9.4.5 実行順序 SQLが実行される順番は以下のようになっています。 FROM → WHERE → GROUPBY → HAVING → SELECT → ORDE

    [SQL] SQL文の書き順 〜PostgreSQL Tutorialを使いながら解説〜 | DevelopersIO
    Jxck
    Jxck 2016/07/25
  • SQLとの付き合い方 - クラウドワークス エンジニアブログ

    こんにちは、HuluよりNetflix派の田中です(ロゴがお洒落)。 みなさん、SQL書いてますか? 私自身は未だに使う機会が多いことからもなかなか枯れない技術の1つだなと感じながら、日々愛着を持って書かせてもらってます。 ただ、触り始めた頃はわかってないことが多く、プログラミング言語とは勝手が大きく違うことからも、ある程度書けるようになるまでは時間を要した記憶があります。 正直それまでは、あまり好きにもなれませんでした。 今回はそんな経験から、今では好きと言えるレベルになっている「SQLとの付き合い方」をまとめてみました。 クラウドワークス開発におけるSQLとの関わり方 始めに、普段の開発でのSQLとの関わり方を簡単に紹介しておきます。 クラウドワークスの開発ではO/Rマッパー(Ruby on RailsのActiveRecord)に任せることが多く、素のSQLはさほど出てきません。 た

    SQLとの付き合い方 - クラウドワークス エンジニアブログ
    Jxck
    Jxck 2016/07/22
    EXISTS の SQL が怪しい気がする、 user_details.city は出ない?(ユーザ名のみをって書いてるから単なるミスっぽい)
  • ディレクターがSQLを使えてよかった話 - クックパッド開発者ブログ

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

    ディレクターがSQLを使えてよかった話 - クックパッド開発者ブログ
    Jxck
    Jxck 2016/07/07
    良い話。 そして re:dash 良さそう。 http://redash.io/
  • sql-parser/lib/sql-parser/parser.racc at master · cryodex/sql-parser

    Jxck
    Jxck 2016/06/03
    SQL の BNF (racc)
  • Beyond EXPLAIN: Query Optimization From Theory To Code

    EXPLAIN is too much explained. Let's go "beyond EXPLAIN". This talk will take you to an optimizer backstage tour: from theoretical background of state-of-the-art query optimization to close look at current implementation of PostgreSQL.Read less

    Beyond EXPLAIN: Query Optimization From Theory To Code
  • 10 SQL Tricks that You Didn't Think Were Possible

    SQL is the winning language of Big Data. Whether you’re running a classic relational database, a column store (“NewSQL”), or a non-relational storage system (“NoSQL”), a powerful, declarative, SQL-based query language makes the difference. The SQL standard has evolved drastically in the past decades, and so have its commercial and open source implementations. In this fast-paced talk, we’re going t

    10 SQL Tricks that You Didn't Think Were Possible
    Jxck
    Jxck 2016/04/24
  • 変更履歴を持つテーブルの設計 - Qiita

    ある日のできごと 少し前、「ブログの記事のようなものを、履歴を残しつつ編集できるようにするにはどのようなテーブル設計が良いか?」と尋ねられたことがありました. その時, まず思いついた(というか見聞きしたことがある方法)のは以下の様な2通りの方法だった. 記事テーブルにバージョン番号を持たせる方法 記事テーブルとは別に, だいたい同じ構造の履歴テーブルを持つ方法 こられの手法のメリット・デメリットについて, すこし考えていきたいと思います. その1 記事テーブルにバージョン番号を持たせる方法 概要 この方法では, 記事テーブルは一つだけ用意し, 更新される度に新しいレコードを追加していきます. 主キーはidとなるが, これはサロゲートキーで, 当の主キーは「記事グループid + verison」の複合主キーとなっています. 記事の最終更新日時は, 最新Versionのレコードのinser

    変更履歴を持つテーブルの設計 - Qiita
  • なにこれ楽しい!SQLをブラウザ上で学習できるSQLZOO! - 嗚呼、学習の日々

    みなさまごきげんよう! 嗚呼蛙でございます! 一昨日amazonアソシエイトの審査を無事通過したことを祝って、露骨なアフィ目的記事を書いてみました。 今日はデータベースの操作を行う言語『SQL』を実践的に学習できるサイトを発見したので、それについて書いていこうと思います。 SQLってなに? ブラウザ上でSQLの学習ができるサイト 日語でのSQL学習 SQLってなに? SQLを知らない方のためにSQLについて簡単に説明しておくと、例えばネットショップで買い物をする時にこんな感じで「会員情報」「送付先」」「購入品」を登録しますよね。 【会員情報】 【送付先】 【購入品】 すると、ブラウザから入力された情報は、SQLを使ってこんな感じでデータベースに書き込まれます。 【会員テーブル】 【送付先テーブ】 【売上テーブル】 こんな風にブラウザから送られた情報をデータベースに書き込んだり、蓄積された

    なにこれ楽しい!SQLをブラウザ上で学習できるSQLZOO! - 嗚呼、学習の日々
    Jxck
    Jxck 2015/11/29
  • 1日に100万レコード増える場合のテーブル設計

    MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。 PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

    1日に100万レコード増える場合のテーブル設計
  • 「外部キー Night」に参加してきた - ichirin2501's diary

    発表者として参加させていただきました。 発表資料はこちらです(自分でも忘れそうなのでブログにリンク貼っておく) 外部キー制約に伴うロックの小話 from ichirin2501 外部キー制約に伴うロックの小話 追記: 2015/08/22 ブログでも補足したほうが良いかな、と思ったので今更追記することにしました。 どういう資料? 外部キー制約で発生するロックのお話です。前提として、MySQL(5.5.28)のInnoDBストレージエンジン、トランザクション分離レベルはREPEATABLE-READ, READ-COMMITEDです。上記は検証環境ですが、MySQL5.1 ~ 5.7でも変化していない挙動のはずです。また、InnoDBのロックはインデックスレコードロックなので、インデックスに対する理解が必要不可欠です。発表時間も20分程度ということもあって、その辺りをある程度理解されてる方が

    「外部キー Night」に参加してきた - ichirin2501's diary
    Jxck
    Jxck 2015/08/26
  • 挿入と参照ロックに疲れ果てた俺たちは - ichirin2501's diary

    なかったらINSERTしたいし、あるならロック取りたいやん? from ichirin2501 www.slideshare.net 出来事 @ichirin2501 とりあえず何も考えずこの前のロックの話をSlideshareにあげてくれ!!— 柴崎優季 (@shiba_yu36) 2015, 8月 22 はじめに これは先日の社内勉強会で発表したもので、MySQLで特定の問題を解決したいときのノウハウ話です。特定の問題とは、アプリを書いてると「データがなかったINSERTしたい、あるなら排他ロックしつつ取得したい」という要望があったりします。例えば、あるユーザーアクションで初期値もパラメーターで渡されるケースで、データがないならそのままINSERT、既にデータがあるなら取得して状態に依存して更新処理を行いたい場合などです。見かけのロジックは単純に見えますが、MySQLでこれを実現しよう

    挿入と参照ロックに疲れ果てた俺たちは - ichirin2501's diary
    Jxck
    Jxck 2015/08/24
    ギャップロック
  • 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

    Jxck
    Jxck 2015/07/25
    SQL のスタイルガイド
  • Amazon.co.jp: 10年戦えるデータ分析入門 SQLを武器にデータ活用時代を生き抜く (Informatics &IDEA): 青木峰郎: 本

    Amazon.co.jp: 10年戦えるデータ分析入門 SQLを武器にデータ活用時代を生き抜く (Informatics &IDEA): 青木峰郎: 本
    Jxck
    Jxck 2015/06/17
    電子書籍で欲しい
  • GitHub - esminc/adhoq: Rails engine to generate instant reports from adhoc SQL query.

    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 - esminc/adhoq: Rails engine to generate instant reports from adhoc SQL query.
    Jxck
    Jxck 2015/06/08
  • Webで役立つRDBの使い方

    2017.09.09 に開催されたオープンセミナー香川 2017で使用した資料です。オープンソース RDBMS の PostgreSQL の概要と、次のバージョンである PostgreSQL 10 で追加される新機能についてご紹介しました。

    Webで役立つRDBの使い方