SQL • リレーショナルデータベースシステムと会話するための言語 • 1970年 Codd が RDB モデルと同時に提案 (Alpha言語) • 1974年 Chamberlin と Boyce が改良 • 元々は SEQUEL (Structured English Query Language) だったが、商標登録されていた • 読み方は エスキューエル とそのまま読む (Glliespie 2012)
![SQL滅ぶべし | ドクセル](https://cdn-ak-scissors.b.st-hatena.com/image/square/27e9e6c53f9e77c5d36dc257056120f45f4e5c87/height=288;version=1;width=512/https%3A%2F%2Fbcdn.docswell.com%2Fpage%2F972Y96N17R.jpg%3Fwidth%3D480)
「日本国内でもトップレベルのスキルを持ったMySQLエキスパートは誰か?」 そう問われたときに、多くのエンジニアが名前を挙げる人物がいます。LINE株式会社のITサービスセンター データベース室 MySQL1チームでDBA(Database Administrator)として働くyoku0825さん*(@yoku0825)です。 日本人として3人目のMySQL分野のOracle ACEであり、2015年には「default_password_lifetime」の功績でMySQL 5.7 Community Contributor Awardに選出されたyoku0825さん。彼はひたむきに自己研鑽を続けるだけではなく、ブログ「日々の覚書」や技術イベントへの登壇などを通してMySQL関連の情報発信を行ってきました。 今回はそんなyoku0825さんに「これまでどのようなトレーニングをして、DB
はじめに 実務未経験でWebエンジニアとして入社してからの2カ月で受けた社内研修についての振り返りです。 今回は「Webアプリケーション基礎」の課題について、 セキュリティ に関するレビュー内容に焦点を当てて、整理します(レビューで色々と指摘をいただいた、かつ、重要と感じたため)。 結論としては、 SQLインジェクション対策 や、 クロスサイトスクリプティング(XSS)対策 、 バリデーション がうまくできていなかった、という初歩的な内容です。 タイトルは、こちらの徳丸本を意識しています。(最近読了しましたが、今回の記事では直接的に触れていません) 記事の目的 同時期に実務未経験でWebエンジニアになって交流している方々(他社の)が、 「他の人が初期にどのような注意を受けているか聞いてみたい」 と言っていたため、私は自分が書いたコードをレビューしてもらった機会はまだ研修のみですが、どのよう
はじめに 今回の記事では、RPG『ドラゴンクエスト』に登場する武器のデータを用いてSQLを、チートシート形式で徹底解説する。なお、本記事にて登場する武器や防具はドラゴンクエスト大辞典のデータを参照する。 対象とする読者 これからSQLを学ぶ初心者や、データベース(SQL)で詰まっている初心者。 SQLとは SQL(Structured Query Language)は、リレーショナルデータベース管理システム(RDBMS)でデータを操作・管理するための標準的な言語だ。SQLではデータの取得、挿入、更新、削除などの操作を行うためのコマンドが提供されている。SQLはデータベースの基礎となる言語であり、エンジニアだけでなく、データアナリストや科学者にも利用されている。 SQLは大きく分けて次のようなコマンドから成り立っている。 命令 説明 文法
MySQLを7000インスタンス規模で運用するLINEは、MySQL互換のNewSQLをどう評価したか?[PR] コミュニケーションアプリ「LINE」をはじめ、多くの大規模サービスを運営するLINE株式会社は、LINEマンガやLINE GAME、LINEギフトなどをはじめとするLINE関連サービスのデータベース基盤として約7000ものMySQLインスタンスを運用しています。 このMySQLインスタンスの国内における管理と運用を行っているのが、MySQLコミュニティでも活躍する国内トップクラスのMySQLエキスパートを含む7名のITエンジニアで構成される「MySQL1チーム」です。 同チームのマネージャーである北川健太郎氏は、LINE関連サービスの発展に伴って増大するMySQLインスタンスの運用管理という課題に、日々のオペレーションの自動化を実現するための開発を積極的に行うことで対応している
はじめに こんにちは、技術本部SRE部ZOZOSREチームの堀口です。普段はZOZOTOWNのオンプレミスとクラウドの構築・運用に携わっています。またDBREとしてZOZOTOWNのデータベース全般の運用・保守も兼務しております。 ZOZOTOWNではSQL Serverを中心とした各種DBMSが稼働しています。その中でZOZOTOWNサービスの根幹となるいわゆる基幹データベース(以下、基幹DBと呼ぶ)を5年ぶりにリプレースしました。 基幹DB群は、商品情報、在庫情報、注文情報、会員様情報、ブランド様情報、配送管理、キャンペーン情報、分析系情報などZOZOTOWNサービスにおけるほぼ全ての情報を管理しているものとなります。 リプレースのモチベーションは5年のハードウェア(以下、HWと呼ぶ)保守期限終了およびSQL ServerのEnd Of Life(以下、EOLと呼ぶ)を迎えるため、HW
インターネットやAIを駆使しながら、領域に捉われずにさらなる挑戦を行うDeNAの取り組みを紹介する「DeNA TechCon 2023」。ここで成田氏が登壇。PocochaのDBをマイグレーションしたことについて話します。 新卒1年目が100億レコード超のDBマイグレーションをした話 成田篤基氏:発表を始めます。みなさんはじめまして。成田と申します。私は2021年にディー・エヌ・エーに新卒で入社して、現在入社から2年が経とうとしています。 私は新卒1年目で、大規模なデータベースマイグレーションを行う貴重な経験ができました。本日はそのマイグレーションプロジェクトについて、体験から得た学びをみなさんにお伝えします。題して「新卒1年目が100億レコード超のDBマイグレーションをした話」です。どうぞよろしくお願いいたします。 目次です。本日はこちらの目次に沿って発表を進めていきます。 まずは私たち
名古屋大学は6月28日、情報システムに関する質問を受け付けるシステムが不正アクセスを受け、メールアドレス2086件が漏えいした可能性があると明らかにした。攻撃対象サーバの挙動を分析して内部情報を探る「ブラインドSQLインジェクション」を受けたとしている。 攻撃があったのは5月10、14、15日。システム内部には、質問者の連絡先メールアドレスが保存されていたが、悪用は確認されていないとしている。 データベースを不正に操作するSQLインジェクション攻撃の中でも、データベースの応答時間やステータスから間接的に情報を収集するブラインドSQLインジェクションという攻撃手法で不正アクセスされたとしている。脆弱性は修正済み。 今後は、WAF(Webアプリケーション用ファイアウォール)の導入を検討するとともに、サーバ管理や情報セキュリティに関する教育研修を強化して意識向上を図るとしている。 関連記事 矢野
個人でWebサービスを継続的に運用するのは金がかかってかなわんという問題がある 「個人開発」だと定義が曖昧なので自己資金かつ赤字のプロジェクト(Webサービス)ということにする。 そういうプロジェクトではプロダクトオーナー=自分、開発者=自分、予算管理者=自分というロールになるので予算管理者としてコストを図る必要がある(ここでいうコストはWebサービスを実現するアプリケーションのランニングコストのこと)。 通常はみんな自分の人件費を0として計算していると思う(逆にいうとそれが負債という考え方もできると思う)。 ただしメンテナンス時間とコストのトレードオフもあるので、人件費0ではあるけど有限の時間は別軸として管理しているのが普通だと思う。極端な例だと「コスト削減できるけどメンテナンス時間10倍になる」というのは避けられる。 仮に個人開発のプロジェクトの予算を月数千円から高くても1万円ぐらいか
こんにちは、19のSysAd班の翠(sappi_red)です。普段はtraQのフロントエンドの保守を行ったりしています。 こんばんは、19のSysAd班のtemmaです。普段は普段どおりのことをしています。この記事の面白い部分はすべて僕が書いています。面白くないところは翠君が書いています。 この記事では、日々パフォーマンスに頭を悩ませる開発者の方のために、ワンタッチで劇遅SQLを200倍高速でキュートなSQLに劇的ビフォーアフターする方法を紹介します。 「おいおいおい、遅くしたくて記事を読み始めたのに話が違うじゃないか💢」と思ってるそこのあなた👈 早くできるということは遅くもできるんですね。 TL;DR ここにテーブルがあります。 CREATE TABLE messages ( id CHAR(36) NOT NULL PRIMARY KEY, text TEXT COLLATE ut
クレジットカード決済基盤を提供するメタップスペイメント(東京都港区)は2月28日、同社のデータベースから最大で46万件のクレジットカード番号、有効期限、セキュリティコードなどが流出したと発表した。サーバへの不正ログイン、SQLインジェクション、バックドアの設置などさまざまな攻撃を受けていたことが調査で分かった。 流出した恐れがあるのは2021年8月2日から22年1月25日までに決済で使われたクレジットカードの番号、有効期限、セキュリティコードなど46万395件、21年5月6日から22年1月25日までに実行された決済情報593件、加盟店情報38件。「実際に流出した情報を特定できない」(メタップスペイメント)ため、数値は考えられる最大値という。 同社は21年12月14日に、サービスの提携先からクレジットカードの不正利用が懸念されているとの連絡を受け調査を開始。22年1月中に、外部からデータベー
SQL、書いてますか? こと大規模データ処理の分野においてはSQLはもはや標準インターフェイスであり、 分析やらバッチやらに関わっている皆様は日々大量のSQLクエリーを生産していることと思います。 そこでちょっと気になるのが、 SQLのコーディングスタイルってどうするのが一般的なんだっけ……? という点です。 イマドキはSQLなんてO/R mapperに吐かせることが多いからなのか、 それともコードを広い範囲で共有することがそもそもないからか、 SQLのコーディングスタイルについて見聞きすることは他のプログラミング言語に比べるとだいぶ少なく、 いまいち決定版と言えるスタイルがないなと感じています。 そんなわけで本日は、SQLのコーディングスタイルについての意識を活発化させるべく、 クックパッドでわたし(青木)が使っているコーディングスタイルから特徴的な点を紹介したいと思います。 特に、分析
こんにちは。クックパッドでエンジニアをしている @morishin です。Bdash Server というデータ分析 SQL を共有するアプリケーションを作って社内で使い始めたのでその紹介をします。 クックパッドのサービス開発は「仮説を立てる」→「作ってリリース」→「効果検証」の繰り返しで進んでいます。ここで言う効果検証というのは作ったサービスが狙い通りの使われ方をし、ユーザーに価値を提供できているかどうかの確認のことです。その手段は複数あり、実際に使っていただいたユーザーさんにインタビューをさせていただく場合もあればアプリケーションから送信されたアクセスログ等を分析することで評価する場合もあります。この記事では後者の定量分析を効率化するためのツールを作った話をします。 アプリの概要 まずはアプリの機能を紹介します。Bdash Server は、Bdash という同僚 (@hokaccha
こんにちは。プロダクト開発部の荒川 id:ad-sho-loko です。突然ですが、皆さんはこんな疑問を持ったことはありませんか? データベースの内部実装はどうなっているのか? トランザクションとはどのようなアルゴリズムで実現されているのか? NoSQLが遅いのはなぜか? 古典的なデータベースとは内部的にどのように違うの? データベースを何かしらの形で利用しているのにも関わらず、意外と内部の仕組みを理解していない場合が多いかと思います。僕もそうです。*1 しかし、エンジニアたるもの、その仕組みを知ることは非常に重要です。僕もデータベースについて勉強しようといくつかの本やサイトを調べていたのですが、なかでもCMU(カーネギーメロン大学)のDatabase System Groupがアップロードしている講義が最も勉強になりました。 www.youtube.com そして本ブログでは、上記の講義
SQLインジェクションは古典的な攻撃手法でありながら、今なお多くの被害が報告されている。機密情報や個人情報を扱うWebサイトの担当者は、SQLインジェクションに対して適切な対策を講じる責任を負っている。本記事では、SQLインジェクションに関連する被害事例を紹介しながら、その対策について解説する。 SQLインジェクションによる被害とは? デジタル全盛の時代では、あらゆる情報システムにおいてデータベースが利用されている。会員制サイトやECサイト、投稿機能を有する、さまざまなWebサービスに至るまで、多くのWebサイトに組み込まれている。例えば、ECサイトであれば顧客情報、商品情報、注文情報といった機密性が高い情報がデータベースに格納されている。Webサイト上のデータベースの検索、読み出し、書き出しは多くの場合、SQLで記述されたプログラムで処理される。 SQLインジェクションとは、このSQLと
この記事は、Retty Advent Calender 2020の7日目の記事です。 adventar.org 昨日は、松田さんのフロントエンドエンジニアからデータアナリストになって2ヶ月の振り返りについての話でした。 はじめに こんにちは、Retty株式会社広告コンテンツ部開発チームに2020年の4月からエンジニアとして所属している森田です。 好きな料理は、鶏肉料理(唐揚げや串焼きなど)です。 いよいよ2020年も残すところあと23日になりましたね!! この記事では、私が2020年4月から開発に着手しているFood Data Platform(FDP)のAPIサーバーの成長報告をしていきたいと思います。 はじめに FDPの概要 FDP APIサーバーの課題 課題を踏まえて新たに追加した機能 フェーズ1: 取得データのカスタマイズ機能の追加 フェーズ2: Rettyデータと外部データの統合
はじめに こんにちは。 GMOアドマーケティングのKONCEです。 新卒で入社し、数年経ちました。日々の業務で学ぶことは多いですが、今年度は技術の深堀りをテーマにやっていきたいと思っています。 今回は入社してDBやSQLに関しては業務内で学ぶことが多く、特別訓練をしていたわけではなかったのですが、「SQLアンチパターン」を用いて学びながら、改めて自分の現状を見つめ直していけたらと思います。 今回は学習を行う側面と自分自身のレベルについて見直していきたいので 知っていた → ○ 部分的に知っていた → △ 知らなかった → × を付けてみようと思います。 目次 SQLアンチパターンについて Ⅰ部 データベース論理設計のアンチパターン 2-1. [○]1章 ジェイウォーク(信号無視) 2-2. [×]2章 ナイーブツリー(素朴な木) 2-3. [○]3章 IDリクワイアド(とりあえずID) 2
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く