なぜ、SQLは重たくなるのか?──『SQLパフォーマンス詳解』の翻訳者が教える原因と対策 『SQLパフォーマンス詳解』の翻訳者の松浦隼人さんに、8つの「SQLが重たくなる原因とその対策」を聞きました。システムのボトルネックになるような「問題のあるSQL」を回避するノウハウを学びましょう。 データの操作や定義をする言語「SQL」は、どのような領域を担うエンジニアにとっても必修科目です。しかし、その仕様をきちんと理解し、パフォーマンスに優れたSQLを書ける方はそれほど多くありません。問題のあるSQLを書いてしまい、知らぬ間にそれがシステムのボトルネックになってしまう事態はよく発生します。 では、どうすればそうした事態を回避できるのでしょうか? そのノウハウを学ぶため、今回は『SQLパフォーマンス詳解』の翻訳者であり、自身もエンジニアでもある松浦隼人(まつうら・はやと/@dblmkt)さんに8つ
Hadoopの時代は終わった、という言説をたまに見かけるようになりました。 もちろん終わってなどいません。しかし、Hadoopとその取り巻く環境が変化したのは事実です。 本記事では、この変化が何なのかを明らかにし、その上で、なぜHadoopの時代は終わったという主張が実態を正しく表していないのかを説明していきます。 DISCLAIMER 私はHadoopを中心としたデータ基盤を取り扱うベンダー、Clouderaの社員です。 中立的に書くよう努めますが、所属組織によって発生するバイアスの完全な排除を保証することはできません。 以上をご了承の上、読み進めてください。 要約 データ基盤は、Hadoopの登場により非常に安価となり、今まででは不可能だった大量のデータを取り扱えるようになりました。 Hadoopは、NoSQLブームの中、処理エンジンであるMapReduceとストレージであるHDFSが
ドイツKDABは7月6日、Linuxのperfプロファイラ向けGUI「hotspot 1.0」のリリースを発表した。GUIによる操作でパフォーマンス分析を行えるツールで、現時点では一部のperf reportのドロップインリプレースとして利用できるとしている。 hotspotはパフォーマンスデータ向けにQtベースでスタンダロンのGUIを構築するオープンソースプロジェクト。Qt、C++などを得意とするソフトウェア開発会社KDABの研究開発プロジェクトとして進んでいる。将来的にはさまざまなパフォーマンス関連データフォーマットをサポートする予定で、容易に使えるプロファイラデータの分析機能の提供を目指す。 hotspotはperf.dataファイルを取り出してパーシングし、中身を評価して結果をグラフィカルに表示する。「perf report」コマンドを置き換るものとして利用でき、メリットとしてイン
たくさんのホストにpingするのに便利なツールpingerをgoで書きました。 https://github.com/hirose31/pinger こちらから Linux, macOS, Windows 用のバイナリがダウンロードできるので是非お試しください。(手元に環境がないのでWindowsでは動作確認していません) https://github.com/hirose31/pinger/releases メンテナンス時、特にネットワーク関連のメンテには、多数のホストへの到達性をモニタリングしがら作業したいことがあると思いますが、(自分が知ってる限りの)既存のツールでは一覧性がよいものがなかったのがこのpingerを書いた動機です。 pingerを実行すると、このように上部には指定したホストの状況を2カラムで表示し、下部に失敗したホストの履歴を表示するので、現在の状況(上部)と過去の状
「Gunosy」の共同創業者である関喜史さんは、学生時代の長期インターンで力を蓄え、シリコンバレー見学で「何を作ったか」で評価される文化に触れた。 大学院に在学中、3人の同級生と情報キュレーションサービス「グノシー」を開発し、その事業化のためにGunosyを起業した。当時からビジネスと学術研究の両方を追求する姿勢を貫いている、その理由を聞いてみた。 高専から東大へ、インターンで実績を作る 関さんは、富山県で生まれ育った。中学時代にプログラミングと出会い、富山商船高等専門学校(当時、現在は富山高等専門学校)に進学し、情報工学を専攻した。高専出身のエンジニアの活躍ぶりが話題になっているが、関さんもその一人だ。 高専の卒業後は東京大学に編入した。「掲示板の“2ちゃんねる”を見ると『プログラマーは下流』みたいな話ばかり。経営やマネジメントも分かっていないとまずい」と思い、システム創成学科知能社会シ
Amazon Web Services ブログ コンテナやサーバレスアプリのデプロイツールとしてのAWS CloudFormation SA岩永です。AWS上にシステムを構築する際に、アプリケーションのデプロイをどのように行うか?については多様なやり方が考えられますが、今日はAWS CloudFormationを使ったデプロイをご紹介したいと思います。CloudFormationはインフラ構築のツールとして考えられている方も多いと思いますが、最近は特にAmazon ECSやAWS LambdaといったComputeサービスへのアプリケーションデプロイツールとしての活用が進んでいます。AWSのリソースはAWS Command Line Interface (CLI)やSDK等での操作が可能なので自作のツール等を使われるのはもちろん1つの選択肢ですが、もしCloudFormationを検討され
こんにちは、アプリケーション基盤チームの青木(@a_o_k_i_n_g)です。 今回、Java のちょっとしたデバッグテクニックを紹介したいと思います。Java で運用中何かトラブルが発生した場合、スレッドダンプを取得することはしばしばあると思いますが、スレッドダンプだけだとちょっと情報が足りないことがあります。今回はスレッドダンプから得られる情報を増やして、素早く障害対応したりデバッグに役立てる方法を紹介します。 まずはじめに: スレッドダンプの取り方 基本ですが、改めてスレッドダンプの取得の仕方を紹介しておきます。スレッドダンプを取得する対象のプロセス ID を仮に 12345 として、下記のように jstack コマンドを実行すればスレッドダンプが取得できます(※Linux上で操作する想定)。 $ jstack 12345 対象のプロセス ID は ps aux | grep jav
Rust言語による新しいDockerコンテナランタイム実装「Railcar」、オラクルがオープンソースで公開。なぜRustでコンテナランタイムを実装したのか? Rust言語で実装したコンテナランタイムの「Railcar」を、オラクルがオープンソースとしてGitHubで公開しました。 Railcarはコンテナランタイム標準であるOCI(Open Container Initiative)に準拠してているため、Dockerのバックエンドとしても利用可能と説明されています。 なぜDockerをRust言語で実装するのか Railcarの公開を明らかにしたOracle Developers Blogに投稿された記事「Building a Container Runtime in Rust」によると、Rust言語でコンテナランタイムを実装した理由が次のように説明されています。少し長いのですが、引用し
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く