タグ

SQLに関するgfxのブックマーク (16)

  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

    gfx
    gfx 2018/06/06
  • bricolages

    gfx
    gfx 2017/11/24
    Bricolageがいつのまにかorgになってる。
  • index_shotgun v0.3.0をリリースしました - くりにっき

    index_shotgun (0.3.0): duplicate index checker https://t.co/F8uFjJYtGp— RubyGems (@rubygems) 2016年7月23日 index_shotgunとは? 更新内容 activerecord 5系対応 rake index_shotgun:fire などで重複インデックスが見つかった時に exit 1 するようにした OracleもCIするようにした index_shotgunとは? 重複インデックスをいい感じに調べるgemです github.com qiita.com 更新内容 https://github.com/sue445/index_shotgun/blob/master/CHANGELOG.md#v030-20160723 をかいつまんで説明すると下記のような感じです activerecord

    index_shotgun v0.3.0をリリースしました - くりにっき
    gfx
    gfx 2017/04/18
    "重複インデックスをいい感じに調べるgemです"
  • 指定したidの順序でデータを取得する - Qiita

    レコードの並び順のデータが別テーブルにあり、orderで順序指定ができない場合、 activerecord経由でwhere inで取得しても配列の順序通りには当然の如くならない。 (なってくれるといいんだけどな。) 以下のコードでは当然の如くidsの配列の順序にはならない。 ids = [2,1,4] arctile = Article.where(id:ids) #=> id:1,id:2,id:4...

    指定したidの順序でデータを取得する - Qiita
    gfx
    gfx 2016/12/26
  • 分析SQLのコーディングスタイル - クックパッド開発者ブログ

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

    分析SQLのコーディングスタイル - クックパッド開発者ブログ
  • ウィンドウ関数で作るデータプロダクト - クックパッド開発者ブログ

    検索編成部の兼山(@PENGUINANA_)です。 クックパッドではウィンドウ関数をデータプロダクトの開発に活用しています。 ウィンドウ関数を利用すると、行動ログを利用したプロダクトの開発や評価が簡単に始められます。 今回は「関連キーワード」を例にとりウィンドウ関数がどのように活用できるのかを紹介します。 関連キーワードとは 朝ごはんのレシピ 52750品 [クックパッド] 簡単おいしいみんなのレシピが224万品 検索画面に検索を補助するための関連キーワードが提示されています。 「朝ごはん」の検索画面の関連キーワード: レシピを検索していると、自分の欲しいレシピが簡単に見つからない時があります。 理由は様々ですが一例として以下の様な状況があると思います。 「入力するのがめんどくさい」 「さがしたいものがあまりイメージできていない」 「それをさがす適切な検索語が思いつかない」 関連キーワード

    ウィンドウ関数で作るデータプロダクト - クックパッド開発者ブログ
    gfx
    gfx 2015/12/18
  • GitHub - ridgepole/ridgepole: Ridgepole is a tool to manage DB schema. It defines DB schema using Rails DSL, and updates DB schema according to DSL. (like Chef/Puppet)

    Note ridgepole v2.0.0 Support Trilogy (cf. #447) Support Rails 7.1 (cf. #441) Drop support AcriveRecord 6.0 (cf. #440) Drop support ActiveRecord 5.x in ridgepole v1.2.0. Partitioning is no longer supported in ridgepole v1.1.0. ActiveRecord 7.x has some incompatible changes. If you get unintended differences in datetime columns consider changing precision: Add precision: nil for columns that previo

    GitHub - ridgepole/ridgepole: Ridgepole is a tool to manage DB schema. It defines DB schema using Rails DSL, and updates DB schema according to DSL. (like Chef/Puppet)
    gfx
    gfx 2015/10/22
  • Ridgepole 0.0.1 - so what

    Ridgepoleというスキーマ管理ツールを作りました。 https://bitbucket.org/winebarrel/ridgepole デモを見ればわかると思いますが、RailsのDSLでスキーマを定義してその通りにDBを変更するものです。(Chef/Puppetのごとく) Migrationはいまいちなので、こういう感じでスキーマを管理できるといいなぁ…と。 テスト全然書いてないので、しばらくはテスト書いたり使いまくってみたりですが、ある程度品質が高くなったら実践投入してみたいです。 はー、連休明けるなぁ…

    Ridgepole 0.0.1 - so what
    gfx
    gfx 2015/10/22
  • 巨大なバッチを分割して構成する 〜SQLバッチフレームワークBricolage〜 - クックパッド開発者ブログ

    トレンド調査ラボの青木峰郎(id:mineroaoki)です。 好きなRubyのメソッドは10年前からString#slice(re, nth)ですが、 最近はRubyよりCoffeeScriptとSQLのほうが書く量が多くて悩んでいます。 今日はわたしが開発している「たべみる」の背後で働いている 巨大バッチの構成について話したいと思います。 たべみるのバッチは約3000行のSQLで構成されており、 処理時間が1日で4時間程度かかる、そこそこの規模のプログラムです。 このバッチ処理プログラムをBricolage(ブリコラージュ)というフレームワークで構造化する手法について説明します。 「たべみる」とは まず最初に、「たべみる」がどういうものなのかごく簡単にお話ししておきましょう。 「たべみる」は企業のみに提供しているB2Bの分析サービスで、 クックパッドレシピ検索の分析をすることができま

    巨大なバッチを分割して構成する 〜SQLバッチフレームワークBricolage〜 - クックパッド開発者ブログ
    gfx
    gfx 2015/06/27
  • scheman diff - ✘╹◡╹✘

    https://github.com/r7kamura/scheman 旅行を兼ねて沖縄に開発合宿に来ているので、1日目の成果を書き出しておく。 目的 Webアプリの開発フローで次のような状態を実現したい。 DBの変更のたびに変更用のSQLやMigrationファイルを人間が書かなくて良い migrationファイルを書く代わりに人間はスキーマを編集する スキーマはSQLで記述できる (DSLの使用を強制されない) SQL以外の言語でも記述できる (DSLを使用しても良い) 方針 次のような実装を試みた。 SQLを構文解析してスキーマデータに変換する (解析器は事前に実装済み) 適用すべきSQLを2つのスキーマデータの差分から自動で計算する SQL以外の解析器も作成可能に scheman diff scheman diffというコマンドを実装した。 これは変更前後の二つのスキーマの差分を標

    scheman diff - ✘╹◡╹✘
  • Scheman - r7km/s

    Schemanという、Ruby製のSQLパーサをつくった。 例 文章で説明するより見たほうが早いだろうということで、例を用意した。 require "scheman" require "yaml" parser = Scheman::Parsers::Mysql.new schema = parser.parse(<<SQL) CREATE TABLE `users` ( `id` INTEGER(11) NOT NULL PRIMARY KEY AUTO INCREMENT, `name` VARCHAR(255) NOT NULL ); SQL puts schema.to_hash.to_yaml 構文解析結果はHash, Array, Symbol, Stringの組合せで表現される (※可読性のためにYAML形式で表示した) --- - :create_table: :name:

    gfx
    gfx 2014/07/11
    migrationの自動化ができるぞ!
  • SQL::Translator::DiffでDBスキーマに追従させる方法 - すぎゃーんメモ

    #5「GitDDLまじイノベーティブ」 tech.kayac.com Advent Calendar 2012 | tech.kayac.com - KAYAC engineers' blog が便利そうだなーと思って。 でもGitと絡めなくても、Webアプリにおいて「現在の環境で使用するデータベース」と「有るべきスキーマの状態を示すDDLファイル」の差分を取って埋めることができればそれだけで十分使える気がする、と思って一つの運用方法を考えてみた。 もちろんGitDDL使っても良いのだけど、SQL::Translatorを使うだけでもある程度は、ということで。 Amon2プロジェクトの例で。 初期設定 $ amon2-setup.pl MyAppとかで雛形プロジェクトを作ると、sqlディレクトリが作られて、そこにDDLを保存する雰囲気になる。そのままsql/mysql.sqlを使っていくこ

    SQL::Translator::DiffでDBスキーマに追従させる方法 - すぎゃーんメモ
  • ウィンドウ関数

    3.5. ウィンドウ関数ウィンドウ関数は現在の行に何らかとも関係するテーブル行の一纏まり全般の計算を行います。 これは集約関数により行われる計算の形式と似たようなものです。 とは言っても、通常の集約関数とは異なり、ウィンドウ関数の使用は単一出力行に行をグループ化しません。 行はそれぞれ個別の身元を維持します。 裏側では、ウィンドウ関数は問い合わせ結果による現在行だけでなく、それ以上の行にアクセスすることができます。 これはその部署の平均給与とそれぞれの従業員の給与をどのように比較するかを示した例です。 SELECT depname, empno, salary, avg(salary) OVER (PARTITION BY depname) FROM empsalary; depname | empno | salary | avg -----------+-------+--------

    gfx
    gfx 2013/09/02
  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

    gfx
    gfx 2010/11/26
  • NoSQLの成功は1:10問題にかかっている:Kenn's Clairvoyance

    ここ2-3年ほど、いわゆる非SQL系データベースがホットな話題になってきています。このムーブメントを総称して「NoSQL (Not-only SQL)」と呼ばれることが多いようです。まるでSQLを否定しているかのような誤解を招きやすい用語ですが、かといってキー・バリュー型データストアや列指向DBを総称できる他の呼び方もないので、このエントリではNoSQLという用語を使うことにします。 OracleMySQLなどのSQLデータベースが成熟していく一方で、SQLデータベースを特徴づける弱点である柔軟性のなさ、堅牢さと引き換えに犠牲になった更新性能の低さ、スケールアウトの難しさなどから、「何でもかんでもRDB」から「目的に応じた永続化」が模索される流れになってきました。 時を同じくして、キャッシュサーバの世界でも、MemcachedのもつシンプルなAPIの使いやすさが評価される一方、LRUによ

    NoSQLの成功は1:10問題にかかっている:Kenn's Clairvoyance
    gfx
    gfx 2010/09/21
  • 地獄のようによくわかるSQLテーブル結合 - こせきの技術日記

    テーブルのJOINが苦手でしたが、この例を思いついてからは、すっきりくっきり理解できるようになりました。むしろ頭から離れません……。 ※ INNER、OUTERは飾り。省略できる。 INNER JOINJOIN LEFT OUTER JOIN → LEFT JOIN RIGHT OUTER JOIN → RIGHT JOIN ※ ON ...=... をまとめて USING(属性) と書ける。 ※ 何で結合するか言うまでもない時は、NATURALを指定すると勝手にJOINしてくれる。NATURALにJOINして……。 ※ WHEREは結合した結果に作用する。 ※ 現実には上図のように1対1で結合しません。 ※ おまけ。CROSS JOIN。 こんなの使いません。 ブクマ用画像。

    地獄のようによくわかるSQLテーブル結合 - こせきの技術日記
    gfx
    gfx 2010/09/17
    ワロタ
  • 1