タグ

SQLとDBに関するko-ya-maのブックマーク (42)

  • RDBとNoSQLにみるDB近現代史 データベースに破壊的イノベーションは二度起きるか? - エンジニアHub|若手Webエンジニアのキャリアを考える!

    「ユーザー目線」のシステムを目指して RDBが従来の階層型DBに比べて優れていた点はいくつか挙げることができますが、シェアを伸ばすうえで最も大きな影響は、ユーザーが使いやすいデータ構造とインタフェースにこだわったことです。すなわち、「テーブル」と「SQL」の発明です。 RDBでは、すべてのデータを「テーブル」というただ一つのデータ形式によって表現します。テーブルは、見た目が「二次元表」に似ているため*3、Microsoft ExcelGoogle ドキュメントなどのスプレッドシートを使い慣れた人が見ると、データを格納する方法が直観的にイメージしやすいという利点があります。実際、こうした二次元表によるデータ管理は、Excelなどのソフトウェアが登場する前から一般的な方法だったため、RDBが登場した当時の人々にとっても受け入れやすいものでした。 テーブルが画期的だった点は、もう一つあります。

    RDBとNoSQLにみるDB近現代史 データベースに破壊的イノベーションは二度起きるか? - エンジニアHub|若手Webエンジニアのキャリアを考える!
  • マーケティング担当者にSQLを完全マスターさせた話 - Qiita

    普段開発とかしない人達にもデータベースに簡単に触れられるようにしたお話です. 安全なデータベースを作る 番サービスのデータベースと同等,だけど個人情報的なものは隠しておきたい,よく聞く話ですね. これについては様々なアプローチがあるようですが,できる限り安定させたい&バッチでやるにしてもサーバの面倒を見たくない,とう方針のもと,RDSのスナップショットを利用して作成することにしました. 処理の流れ RDSが1日1回スナップショットを取っている(これはRDSの機能) RDSのスナップショットが取られると,RDSからイベント通知が投げられるので,SNS→SQSへ届くようにしておく(これもRDSの機能) CloudWatchでSQSのキュー数を監視するようにしておき,キューが1つ以上になると処理用のインスタンスを立ちあげる設定にしておく(CloudWatch,AutoScalingの機能) イ

    マーケティング担当者にSQLを完全マスターさせた話 - Qiita
  • なにこれ楽しい!SQLをブラウザ上で学習できるSQLZOO! - 嗚呼、学習の日々

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

    なにこれ楽しい!SQLをブラウザ上で学習できるSQLZOO! - 嗚呼、学習の日々
  • MySQL 5.7が正式公開。前バージョンより3倍高速、マルチソースレプリケーションなど。一方で新しい「罠」に対する警告も

    MySQL 5.7が正式公開。前バージョンより3倍高速、マルチソースレプリケーションなど。一方で新しい「罠」に対する警告も 来週10月26日にはサンフランシスコで開催されるOracle OpenWorld 2015でMySQLのイベント「MySQL Central」が行われます。それに合わせて新バージョンのお披露目となりました。 MySQL 5.7の主な特長は次の通りです。 実行速度の向上 SysBenchのSysBench Read-only Point-Selectsの結果、1024コネクションでMySQL 5.7はMySQL 5.6の3倍となる160万クエリ/秒(QPS)の値を示しました。 InnoDBの新機能など 性能向上や並列度の向上に加え、オンライン状態での操作向上、Spatial Index、ネイティブパーティショニングなどの新機能が加わりました。 レプリケーションの強化 マ

    MySQL 5.7が正式公開。前バージョンより3倍高速、マルチソースレプリケーションなど。一方で新しい「罠」に対する警告も
  • リレーショナルデータベースの仕組み (1/3) | POSTD

    リレーショナルデータベースが話題に挙がるとき、私は何かが足りないと思わずにはいられません。データベースはあらゆるところで使われており、その種類も、小規模で便利なSQLiteからパワフルなTeradataまで様々です。しかし、それがどういう仕組みで機能しているかを説明したものとなると、その数はごくわずかではないでしょうか。例えば「リレーショナルデータベース 仕組み」などで検索してみてください。ヒット数の少なさを実感できると思います。さらにそれらの記事は短いものがほとんどです。逆に、近年流行している技術(ビッグデータ、NoSQLJavaScriptなど)を検索した場合、それらの機能を詳しく説明した記事はたくさん見つかると思います。 リレーショナルデータベースは、もはや大学の授業や研究論文、専門書などでしか扱われないような古くて退屈な技術なのでしょうか? 私は開発者として、理解していないものを

    リレーショナルデータベースの仕組み (1/3) | POSTD
  • Go のシンプルかつ明快な SQL クエリビルダ go-sqlf - 詩と創作・思索のひろば

    Go でリレーショナルデータベースを利用したアプリケーションを書いているとき、動的に SQL を組み立てたい場合には、いくつかの方法が考えられます: クエリビルダを使う。世の中にすでにいろいろ存在します。(そのためのライブラリなので)動的に生成するにはもってこいですが、この場合、それぞれのライブラリに合わせた書き方をしなければならないので読み手にもある程度負荷がある点、また、Go は言語として冗長に書くことをよしとする思想を持っているため、DSL 的な API との相性が悪いという欠点があります(map の組み立てが冗長、条件分岐する式が書けないなど)。また、一般にクエリビルダから生成される SQL がコードから想像しづらくなる問題もあります。 文字列連結や fmt.Sprintf を使う。発行される SQL は比較的分かりやすくなりますが、動的に組み立てると SQL プレースホルダとバイ

    Go のシンプルかつ明快な SQL クエリビルダ go-sqlf - 詩と創作・思索のひろば
  • 不整合が起きてはならない場合、トランザクションはシリアライザブル

    リードコミッテドの場合、 ファントム・リード に加え、非再現リード(Non-Repeatable Read)と呼ばれる、同じトランザクション中でも同じデータを読み込むたびに値が変わってしまう現象が発生する可能性がある。 とWikipediaに書いてある通り不整合が発生します。簡単に言うと ファントム・リード – タイミング次第で見えなかったデータが見えるよう、見えないようになること 非再現リード(ノンリピータブル・リード) – 同じデータの読み込みができなくなること ファントム・リードやノンリピータブル・リードは複雑なクエリでないと起きない、と思っている方も居るかも知れません。 不整合が起きる例 トランザクションの不整合は単一レコードへのアクセスでも起きてしまいます。例えば、セッションIDのデータベースにデフォルトのリードコミッテド分離レベルを利用した場合、ブラウザから複数の接続、複数のブ

    不整合が起きてはならない場合、トランザクションはシリアライザブル
  • 実行計画が解れば怖くない。SQL実践入門 - プログラマでありたい

    技術評論社さんから、SQL実践入門を献いただきました。ありがとうございます。 SQL実践入門の主題 このの目的は、「パフォーマンスの良いSQLの書き方、特に大量データを処理するSQLの性能向上の方法を理解すること」とあります。そのパフォーマンス向上の為の解として、SQLが内部的にどう処理されているかを表す実行計画の読み解き方を、いろいろなケースを上げながらひたすら解説しています。そして、何故その実行計画になるのか、データ構造やDBの動きとともに説明しています。ということで、実行計画大事という基かつ当たり前のことを、正面から取り扱っている良質のSQLです。 SQL実践入門の構成 SQL実践入門の章立ては、下記の通りです。 第1章:DBMSのアーキテクチャ──この世にただ飯はあるか 第2章:SQLの基礎──母国語を話すがごとく 第3章:SQLにおける条件分岐──文から式へ 第4章:集約

    実行計画が解れば怖くない。SQL実践入門 - プログラマでありたい
  • 誰でも簡単に超高速なクエリができるBigQueryとは?

    この2つの技術は、グーグル独自の技術というわけではない。しかし、ハードウェアから構築している、既存のグーグルのクラウド技術を活用し、パブリックなクラウドサービスとして提供可能なレベルの実装になっている点がGoogle BigQueryの強みとなっている。 BigQueryの特徴 他の類似サービスとの比較 巨大データを処理する技術としては、同じグーグルが使ってきたMapReduceというものがある。MapReduceとBigQueryを比べると、MapReduceが巨大なデータを安定的に処理できるプログラミングモデルであることに対し、BigQueryはアドホックにトライ&エラーしながらクエリを実行するサービスであることが異なっている。 MapReduceは、非構造化データを、プログラミングモデルを通して扱うことができ、巨大なテーブルの結合や巨大な出力結果のエクスポートも可能である半面、処理時

  • Cloud Computing Services | Google Cloud

    Build with generative AI, deploy apps fast, and analyze data in seconds—all with Google-grade security.

    Cloud Computing Services | Google Cloud
  • 間違いだらけのSQL識別子エスケープ

    これから3回連載の予定で、SQL識別子のエスケープの問題について記事を書きます。SQL識別子のエスケープについてはあまり解説記事などがなく、エンジニア間で十分な合意がないような気がしますので、これらの記事が議論のきっかけになれば幸いです。 3回の予定は以下のとおりです。 間違いだらけのSQL識別子エスケープ(稿) SQL識別子エスケープのバグの事例 SQL識別子は結局どうすればよいか ということで、まずはSQL識別子のエスケープの失敗例について説明します。この失敗例はあくまで説明のために作ったもので、実際のものではありません。また、想定が「ありえない」と思われるかもしれませんが、意図的なものですのでご容赦いただければと思います。また、「間違いだらけの」というタイトルは、今回の題材が間違いだらけという意味であり、巷のSQL呼び出しがそうであるという意味ではありません。稿に登場する人物と団

    ko-ya-ma
    ko-ya-ma 2013/12/25
    いわゆるアンチパターンを物語で説明している
  • PostgreSQLでテストデータを作成する | Let's POSTGRES

    笠原 辰仁 記事は2013年のPostgreSQL Advent Calendar の 12/25 の記事です(地味なトピックになってしまいすいません)。PostgreSQLでのテストデータ作成に役立つ機能を紹介します。 はじめに PostgreSQLを対象としたの性能検証や機能検証を行う際に、開発環境や試験環境でスキーマ(テーブルやインデックス)を作成し、ダミーのデータを投入してSQLのチェックを行うことが多々あるかと思います。単純な機能の正常試験であれば少量のデータ投入で事足りると思いますが、大量のデータに対する検索処理やバッチ処理を試す際は、それなりの量の試験データを生成し、DBに投入する必要があります。 通常、試験データは、例えば専用のジェネレータを作る、実際のデータをマスキングしたものを使う、サンプルとして存在するデータ(郵便番号のデータなど)を利用する、といったことが多いと思

    ko-ya-ma
    ko-ya-ma 2013/12/25
    PostgreSQL上だけでどこまでいけるか
  • 論理削除が奪うもの

    論理削除が奪うもの JPOUGのAdvent Calendar 12/10担当です。 12月 - 忘年会シーズンです。酒で記憶を失っている際に、怒ったとか、近くにいた人にカラんだとか、脱いだとか、毛を燃やしたとか、エレベーターホールにズボンが脱ぎ捨てられていたとか、会議室でが発見されたとか、そういう事件が多発する月ですね。皆様いかがお過ごしでしょうか。 微塵も記憶がない状態で、やらかした内容を色々な人から聞かされるにつけ、穴を掘って蓋してセメントで埋めてもらいたくなるのは常ですが、こういう時はどんな対処を取ればいいんでしょう。 得てしてロクでもない行動を取った時の翌日における参加者の記憶力の良さと来たらFlight Recorderも真っ青です。 なんとか失敗を無かったことにしたいと立ち回りたいですが、まあ無理です。各所にヒアリングを重ねれば重ねるほど確度と精度が高まります。エビデンスま

    論理削除が奪うもの
    ko-ya-ma
    ko-ya-ma 2013/12/25
    >本来削除されてはいけないモノに対して削除要否の検討機会をひっそりと奪う。そう、論理削除は積極的に削除を推奨するわけではなく、静かに「削除してもいいよ」と囁き続ける。だからこそ気付かない。
  • SQLインジェクションとは何か?その正体とクラッキング対策。

    世間では、今Gumblar祭りが勃発中であり、SQLインジェクションがニュースに出てくることは少なくなったが、だからと言ってSQLインジェクションの脅威がなくなったわけではない。SQLインジェクションはGumblarを仕掛ける手段としても利用されることがあり、Webアプリケーションを提供する全ての人にとって、対策を講じなければいけない驚異であることに変わりはない。SQLインジェクションという攻撃手法が認識され、大いに悪用されているにも係わらず、その質に迫って解説している記事は少ないように思う。従来のWeb屋だけでなく、今やアプリケーション開発の主戦場はWebであると言っても過言ではなく、そういう意味ではSQLインジェクションについて理解することは、全てのプログラマにとっての嗜みであると言えるだろう。 というわけで、今日は改めてSQLインジェクションについて語ってみようと思う。 SQLイン

    SQLインジェクションとは何か?その正体とクラッキング対策。
  • SQLでエスケープなんてしたら負けかなと思ってる。 - めもおきば

    オレオレSQLセキュリティ教育は論理的に破綻している | yohgaki's blog 「プリペアードクエリが基だけど、動的に SQL を組み立てる場合もあるから、そういう場合に備えてエスケープも知っておいたほうがいいかも」 - Togetterまとめ SQLインジェクション対策で大垣靖男氏は何を勘違いしていたか | [ bROOM.LOG ! ] エスケープとプレースホルダをめぐる議論 - Togetterまとめ SQLインジェクション対策としてのプリペアドステートメントとエスケープについての議論 - Togetterまとめ IPAの「安全なSQLの呼び出し方」が安全になっていた | yohgaki's blog SQLへの安全な値の埋め込み方について、ここ数日で色々議論というか意見の投げ合いがありましたが、自分としての考えをまとめておきます。 1. SQLに値を埋め込む場合は、プリペ

    SQLでエスケープなんてしたら負けかなと思ってる。 - めもおきば
  • SQL -TECHSCORE-

    ここでは、リレーショナル型データベースを操作するために必須となる世界標準言語 SQL について、基礎から応用まで詳しく説明しています。 また、SQL のみにとどまらず、リレーショナルデータベースマネージメントシステム (RDBMS) の持つ様々な機能について詳しく説明しています。 最後には、データベースの設計に関する非常に重要な考え方についても触れていますので、これらを全て学習すると、データベースの操作から設計まで幅広い知識を身につけることができるでしょう。 SQL INDEX 1. データベースの概要 1.1. データベースとは 1.2. データベースシステムの特徴 1.3. データベースとファイルの違い 1.4. 代表的なデータモデル 1.5. リレーショナル型データベース 1.6. まとめ 2. SQL 2.1. SQL歴史 2.2. SQL とは 2.3. SQL の機能 2.

    ko-ya-ma
    ko-ya-ma 2013/11/27
    初心者向けのとてもわかりやすいSQL入門。問題と解答もあり
  • FuelPHPのクエリビルダを表にまとめた - BTT's blog

    ※Ver1.2の情報なので最新バージョンと合わない部分があるかもしれません... タイトルそのまま。FuelPHP1.2のクエリビルダ関連を表にまとめました。 SELECT // SELECT * FROM... \DB::select() // SELECT `hoge`, `fuga` FROM... \DB::select(column1, column2...) \DB::select_array(array(column1, column2...)) // SELECT `hoge` AS `h`, `fuga` AS `f` FROM... \DB::select(array(column1, alias), array(column2, alias)...) \DB::select_array(array(column1, alias), array(column2, ali

    FuelPHPのクエリビルダを表にまとめた - BTT's blog
  • SQL上級者こそ知って欲しい、なぜO/Rマッパーが重要か?

    質問への回答(35件)を、ブログにまとめているのでこちらご覧ください https://little-hands.hatenablog.com/entry/2019/08/31/genba_de_ddd 「Mix Leap Study 特別編 - レガシーをぶっつぶせ。現場でDDD! コラボカンファレンス」登壇資料 ブログ:https://little-hands.hatenablog.com/ Twitter:https://twitter.com/little_hand_s 質問箱:https://peing.net/ja/little_hands

    SQL上級者こそ知って欲しい、なぜO/Rマッパーが重要か?
  • GitHub - ondras/wwwsqldesigner: WWW SQL Designer, your online SQL diagramming tool

    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 - ondras/wwwsqldesigner: WWW SQL Designer, your online SQL diagramming tool
    ko-ya-ma
    ko-ya-ma 2011/04/11
    WWWブラウザ上で簡単・美麗にER図を作成し、そこからSQLの掃出しまでサポートしてくれる。デモ→ http://bit.ly/9suIS
  • 黒猫ソフトウェア工房 - 黒猫 SQL Studio (汎用SQL開発環境/開発ツール/データベースクライアント)

    ■黒 SQL Studio 黒 SQL Studio は、あらゆるデータベースに接続可能な汎用sql開発環境です。 黒 SQL Studio には、SQLを手早く作るための入力支援機能や、 作ったSQLをライブラリとしてまとめて管理する機能が用意されています。 黒 SQL Studio のダウンロード 黒 SQL Studio はフリーウェアです。個人使用、業務使用に関わらず自由に使用することができます。 ■黒 SQL Studio についてもっと知りたい! → 黒 SQL Studio の詳細 ■Flashデモで黒 SQL Studio を体験しよう! → 5分で分かる! 黒 SQL Studio の使い方 → サンプルデータベースに接続してみよう → もっと見たい! ■黒 SQL Studio を紹介していただきました! → SQL

    ko-ya-ma
    ko-ya-ma 2010/01/20
    あらゆるデータベースに接続可能な汎用sql開発環境。GUIで設計可能。