タグ

sqlに関するlizyのブックマーク (135)

  • Facebook、分散SQLエンジン「Presto」公開。大規模データをMapReduce/Hiveの10倍効率よく処理すると

    Facebookは、数ペタバイト級の大規模データに対しても、対話的にアドホックな問い合わせを可能にする分散SQLエンジン「Presto」を、オープンソースで公開しました。 PrestoはFacebook社内で大規模データの分析のために開発され、すでに同社社内使われているもの。 FacebookはPrestoを開発した背景として、大量のデータをHadoop/HDFSベースで保存したものの、バッチ指向のMapReduceではなく、リアルタイム性に優れた処理が必要になったためだと、次のように説明しています。 Facebook’s warehouse data is stored in a few large Hadoop/HDFS-based clusters. Hadoop MapReduce [2] and Hive are designed for large-scale, reliabl

    Facebook、分散SQLエンジン「Presto」公開。大規模データをMapReduce/Hiveの10倍効率よく処理すると
  • Mirage SQL 〜 2WaySQLをつかうデータアクセスライブラリ for Java | DevelopersIO

    よく訓練されたアップル信者、都元です。Spring連載はもうちっとお待ちください。今回はその布石ということで。 DBアクセスというのは、システムを作る上で大抵避けられない領域でしょう。まぁ近年はRDBMSに限らず、各種NOSQLの台頭が目覚ましいわけですが、いまだRDBMSの世界は多く残っています。 そこで。今、Javaでサーバサイドアプリケーションを書くことになった時、データアクセスのフレームワークには何を使いましょうか。Hibernate (JPA)でしょうか。MyBatisでしょうか。Domaでしょうか。どれも凄いフレームワークです。どれを選ぶのか、真っ当な結論から先に言ってしまえば、そんなの案件次第なわけですがw そんな中、個人的に非常に使い勝手が良いと評価しているフレームワークに「Mirage SQL」があります。今回は、このMirageについてご紹介します。 Mirage SQ

    Mirage SQL 〜 2WaySQLをつかうデータアクセスライブラリ for Java | DevelopersIO
    lizy
    lizy 2013/09/14
    MyBatisに近い感じだった。個人的にはこれとかMyBatisみたいなrowマッピング系?がいい
  • MySQL Index勉強会外部公開用

    pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation

    MySQL Index勉強会外部公開用
  • Nullのはなし(up用)

    How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow

    Nullのはなし(up用)
    lizy
    lizy 2013/07/27
    ゆるふわスキーマがうらやましくなる
  • プログラマのためのSQL 第4版 - カレーなる辛口Javaな加齢日記

    http://d.hatena.ne.jp/mickmack/20130519/1368931267 http://d.hatena.ne.jp/sakaik/20130519 プログラマのためのSQL 第4版 作者: ジョー・セルコ,Joe Celko,ミック出版社/メーカー: 翔泳社発売日: 2013/05/24メディア: 大型この商品を含むブログ (16件) を見るJoe Celko's SQL for Smarties: Advanced SQL Programming (The Morgan Kaufmann Series in Data Management Systems) (English Edition) 作者: Joe Celko出版社/メーカー: Morgan Kaufmann発売日: 2010/11/22メディア: Kindle版この商品を含むブログ (3件) を

    プログラマのためのSQL 第4版 - カレーなる辛口Javaな加齢日記
    lizy
    lizy 2013/05/20
    kindleで読むには英語版しかないのか。まあSQLの実例とか多そうだから英語でも読みやすそうではあるけど
  • shomah4a.net

    shomah4a.net 2021 著作権. 不許複製 プライバシーポリシー

    lizy
    lizy 2013/03/09
    内部DSL的なものだけでなく、外部DSL(SQL)と融合したLL言語向けEmbedded SQLとかあると面白そうだけど
  • 紹介:【書籍】SQLアンチパターン

    リレーショナルデータベースの父、エドガー・F・コッド氏が論文を発表したのは1970年。私が生まれる前の話である。そしてSQLがANSI標準になったのが1986年。RDBMSを、そしてSQLを使ったシステム開発は常に主流で在り続けたと言っても過言ではない。そんな歴史のあるSQLであるが、未だに多くの人はSQLを使いこなせて居ないように見える。 SQLはとても奥が深い。ソートやトランザクションが使用出来るおかげで、リレーショナルモデルを無視して単なるデータの入れ物として使ってもそれなりに便利だったりする。だが、それが今現在多くの悲劇を生んでいる原因でもある。多くの人が同じようにSQLを理解せず、そのため多くの人が同じ悲劇に見舞われる。そう、それがアンチパターンである! 今回紹介するSQLアンチパターンは、洋書SQL Antipatternsの邦訳版だ。私は元々英語版のファンでであり、人々が陥り

    紹介:【書籍】SQLアンチパターン
    lizy
    lizy 2013/01/26
    mobi版が出るみたいなので読んでみよう
  • DBIx::QueryLogを使ってちゃんとSQLが流れているかテストする - $shibayu36->blog;

    DBIのconnectのCallbacksなどでSQLを実行している時とかに、実際にSQLが流れているのかチェックしたい時がある。そういう時どうするのがベスト・プラクティスなのかわからないのだけど、DBIx::QueryLogを使ったら一応できたのでメモ。 テストしたい状況 package My::DBI; use strict; use warnings; use DBI; sub connect { my ($dsn, $username, $password) = @_; my $dbh = DBI->connect($dsn, $username, $password, { Callbacks => { connected => sub { my $dbh = shift; $dbh->do("SET NAMES utf8") or warn $dbh->errstr; retur

    DBIx::QueryLogを使ってちゃんとSQLが流れているかテストする - $shibayu36->blog;
  • SQL上級者こそ知って欲しい、なぜO/Rマッパーが重要か?

    OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)NTT DATA Technology & Innovation

    SQL上級者こそ知って欲しい、なぜO/Rマッパーが重要か?
    lizy
    lizy 2012/12/07
    LINQ最高という内容?DSLと言う見方は面白いかも。Pro*Cを進化させてDSL的に完全に言語に溶け込ませることが出来れば面白そう
  • グーグル、BigQueryを正式公開。SQLで大規模データに対して高速処理

    BigQueryはカラム型データストアの一種で、テラバイトクラスの大規模データに対して大量の並列処理を行うことで高速に結果を得ることが可能。グーグル 佐藤一憲氏の発言によると、 OLAP/DWH/Data Miningで行われるようなread onlyのad hocクエリをきわめて高速(数秒〜数十秒)に実行します。 とのこと。 SQLによる問い合わせが可能 この高速性に加え、BigQueryではSQLを問い合わせ言語に使えるという点にも大きな特徴があります。数秒程度のレスポンスとSQL文による記述は、大規模データに対するアドホックな処理を行うのに適したサービスだといえるでしょう。 BigQueryのSQLの構文は「Query Reference」で解説されていますが、SELECT文にFROM、WHERE、JOIN、HAVING、GROUP BY、ORDER BY、LIMITなどが使えるため

    グーグル、BigQueryを正式公開。SQLで大規模データに対して高速処理
  • 簡易2WaySQL - blog.nekokak.org

    2WaySQLというものがあるわけです。 2WaySQLについてはhttp://www.slideshare.net/t_wada/tokyo-rubykaigi-01-twada-presentation を参考にしてもらうとして、 超絶簡単に説明すると、実行可能なSQLを書いておいて(where句の値もデフォルト値を書いておくので実行可能となる) プログラム側で良い感じにプレスホルダーとかに置き換えて値を良い感じに置き換えます。 どんなSQLかというと SELECT * FROM USER WHERE id = /*:id*/1 OR name = /*:name*/'nekokak' OR ids IN /*:ids*/(2,3,4)こういう感じ。 普通に実行可能ですよね。 これを、 my $sql = q{SELECT * FROM USER WHERE id = /*:id*/1

    lizy
    lizy 2012/04/20
    pro*cの復権?スクリプト言語ならプリプロセッサより自然か
  • 「SQLインジェクション対策」でGoogle検索して上位15記事を検証した - ockeghem's blog

    このエントリでは、ネット上で「SQLインジェクション対策」でGoogle検索した結果の上位15エントリを検証した結果を報告します。 SQLインジェクション脆弱性の対策は、既に「安全なSQLの呼び出し方」にファイナルアンサー(後述)を示していますが、まだこの文書を知らない人が多いだろうことと、やや上級者向けの文書であることから、まだ十分に実践されてはいないと思います。 この状況で、セキュリティのことをよく知らない人がSQLインジェクション対策しようとした場合の行動を予測してみると、かなりの割合の人がGoogle等で検索して対処方法を調べると思われます。そこで、以下のURLでSQLインジェクション対策方法を検索した結果の上位のエントリを検証してみようと思い立ちました。 http://www.google.co.jp/search?q=SQLインジェクション対策 どこまで調べるかですが、以前NH

    「SQLインジェクション対策」でGoogle検索して上位15記事を検証した - ockeghem's blog
    lizy
    lizy 2012/04/11
    どうしても動的にSQLを構築する場合はライブラリを使うのがよさそう
  • MyTAP + my_prove + MySQL::Sandbox で快適 SQL Unit Testing - 日向夏特殊応援部隊

    MyTAP という MySQL 上で Test Anything Protocol を実現してしまうというプロダクトがあります。これと TAP::Parser::SourceHandler::MyTAP に付属している my_prove コマンドを使うとかなり簡単に SQL プログラミングでテストを行う事が出来ます。 また MySQL::Sandbox はだいぶ過去のエントリ*1 *2で紹介した事がありますが、異なる version の mysqld を色んな構成で簡単に作れてしまう優れものです。 今回はこれらを組み合わせてテストする方法について紹介しちゃいます。 MyTAP のインストール MySQL::Sandbox を使って作った sandbox が $HOME/sandboxes/rsandbox_5_1_58 にあるとします。 $ cd ~/sandboxes/rsandbox_

    MyTAP + my_prove + MySQL::Sandbox で快適 SQL Unit Testing - 日向夏特殊応援部隊
  • 第9回 SQLでループ! 相関サブクエリの使い方~切れ過ぎるナイフにご用心~ (1)サブクエリ | gihyo.jp

    SQLアタマアカデミー 第9回SQLでループ! 相関サブクエリの使い方~切れ過ぎるナイフにご用心~ (1)サブクエリ はじめに SQLを使い始めたとき、多くのプログラマが例外なく難儀するのが、SQLで制御構造をうまく書けないことです。ここで言う制御構造とは、平たく言えば条件分岐とループです。といっても別に、SQLに制御構造を書くための機能が備わっていないとか、貧弱というわけではありません。SQLでも、通常の手続き型言語と同等の制御構造を記述することができます。ただ、そのやり方が一風変わっているので、うまく「SQLアタマ」に切り替えられないと戸惑ってしまうのです。 そういう「普通の」プログラマやSEの違和感を軽減するための橋渡しをするのが、連載の目的の1つでもあるので、これまでにもSQLで制御構造を記述する方法については折に触れて取り上げてきました。しかし、条件分岐のためのCASE式に対し

    第9回 SQLでループ! 相関サブクエリの使い方~切れ過ぎるナイフにご用心~ (1)サブクエリ | gihyo.jp
  • 不正なSQL文法を理解してDBを保護する「Oracle Database Firewall」

  • ORM is an anti-pattern | Seldo.com

    I tweeted about ORM last week, and since then several people have asked me to clarify what I meant. I have actually previously written about ORM, but it was in the context of a larger discussion about SQL and I shouldn't have confused the two issues. So here I'm going to focus on ORM itself. I'm also going to try to be very brief, since it became very apparent from my SQL article that people tend

    lizy
    lizy 2011/09/19
    ORM以外のインピーダンスミスマッチを減らす方法が欲しいところ。MyBatisみたいなマッピング重視のフレームワークがいいのかも。あとはProCみたいな埋め込みSQLが実はよかったりして
  • PDOにおける一応の安全宣言と残る問題点

    8月18日にPHP5.3.7がリリースされました。このリリースにより、PDOのSQLインジェクションの問題が一応解決されたと判断しましたので、ここに「一応の安全宣言」を表明するとともに、残る問題について報告します。 PDOの問題とは何か 以前、ぼくがPDOを採用しなかったわけ(Shift_JISによるSQLインジェクション)にて報告したように、PHP5.3.5以前のPDOにはDB接続時に文字エンコーディングを指定する機能がないため、文字列リテラルのエスケープの際に文字エンコーディングをLatin1を仮定してしまうという問題がありました。この状態ですと、DBにShift_JISで接続している際に、SQLインジェクション脆弱性が混入しました。 ※ 実は、先のエントリの「追記(2010/07/01 22:20)」に紹介した方法で文字エンコーディングを指定できるのですが、ほとんど知られていないのと

    lizy
    lizy 2011/08/22
    プレースホルダ使ってもダメなのか、と思ったら動的ってのだと勝手に展開してしまうのね
  • 『OracleよりもMySQLの方が便利だと思うSQL構文比較』

    mysql> select sysdate(); +---------------------+ | sysdate() | +---------------------+ | 2010-08-18 23:11:27 | +---------------------+ 1 row in set (0.00 sec) ■ 2. シーケンス作らなくていい 表の列にauto_increment属性をつけることで、insert時に勝手に採番してくれる。単に固有のID番号を振りたい時は便利すぎる。何でOracleにはないんだ?ってくらい。テーブルごとにシーケンス作って管理するのって結構めんどうくさい。 ただ、性能面で言うと、仕組み的に管理テーブルの行ロックを取ってしまうはずなので、OracleのSEQUENCEには全く敵わないでしょう。後は、複数テーブルに同じ番号を振りたいときも困る。 ■ 3.一列

    『OracleよりもMySQLの方が便利だと思うSQL構文比較』
    lizy
    lizy 2011/03/04
    それを補うだけの魅力がOracleにはある……に違いない、多分
  • O/R Mapper についてかんがえてみた

    元ネタ)http://d.hatena.ne.jp/tokuhirom/20110104/1294170319 昔良くORMを使うことのメリットは SQLを書かなくてよくなる。 つまりプログラマはSQL脳が低いからプログラマにSQLを書かせない。 プログラム中にSQLという別の概念がはいってくるとコードが読み難くなる。 バックエンドのRDBMSの差異を吸収してくれるからバックエンドを気にする必要がない。 さらに、バックエンドのRDBMSを簡単に取替え可能。 プログラマブルにSQLを組み立てしたい。 などと言われることが多いんじゃないでしょうかね。 個人的には最後の「プログラマブルにSQLを組み立てしたい」と言う要件以外は全部 間違っていると思います。 イカ全て自分の視点なだけなので違う意見もあるであろうことを承知で言い切ります。 SQLを書かなくてよくなる。つまりプログラマはSQL脳が低い

    lizy
    lizy 2011/01/05
    MyBatis最高ということですね(?
  • SQL::Makerで動的に SQLを生成する - Articles Advent Calendar 2010 Hacker

    どうもこんにちは。hacker track がやる気なさすぎるのでもう一回かくよ!というわけで tokuhirom ですこんにちは。こんにちは。 さて、最近つくった SQL::Maker というモジュールについて紹介します。SQL::Maker は、要は SQL::Abstract みたいなやつです。じゃあなんで SQL::Abstract じゃなくて SQL::Maker なの?ってことになるわけですが、 SQL::Abstract は実績があるし、非常に便利なんですが、いかんせんコードがまじよみづらいっていうかこれよむの無理じゃね!!ってことをおもうので、あたらしくつくったという次第。 また、SQL::Maker は method chain で SELECT 文を構築する機能もついてます。あらべんり。こんなかんじ↓↓ my $sql = SQL::Maker::Select−>new

    SQL::Makerで動的に SQLを生成する - Articles Advent Calendar 2010 Hacker
    lizy
    lizy 2010/12/15