タグ

ブックマーク / yakst.com (38)

  • MySQLデータベースパフォーマンスのためのLinux OSチューニング | Yakst

    Percona Database Performance Blogの翻訳。Linux上でMySQLサーバを運用する際の、カーネル、ファイルシステム、メモリなどのチューニングのポイントをまとめた記事。 [MySQL][Linux]原文 Linux OS Tuning for MySQL Database Performance - Percona Database Performance Blog (English) 原文著者 Spyros Voultepsis 原文公開日 2018-07-03 翻訳依頼者 翻訳者 doublemarket 翻訳レビュアー taka-h 原著者への翻訳報告 1868日前 原文へのコメントで報告済み 編集 この記事では、MySQLデータベースサーバーのパフォーマンスチューニングと最適化のために調整する重要なLinuxの設定を復習します。OSのチューニングに使う

  • 人間らしくコードレビューするには(パート1) | Yakst

    自動化することによりあなたはレビュアーとしてより価値のある貢献ができるようになります。importsの順序やソースコードのファイル名の命名規約などの問題を無視できるならば、機能上の誤りや可読性の問題といった、より関心のある問題にフォーカスすることができます。 オーサーもまた自動化の恩恵を受けます。ケアレスミスを見つけるのに1時間浪費することなく、即座に見つけられます。即座にフィードバックを受けられることで、関係のあることがオーサーの頭に残り、これにより学習が容易となり、修正コストが低くなります。それに加え、彼らが初歩的な誤りについて指摘を受ける必要がある場合、あなたから指摘を受けるよりコンピューターから指摘を受けたほうが彼らの自尊心の観点からはるかに気分がよいわけです。 これらの自動チェックはコードレビューのワークフローの中に入れましょう(例えば、Gitのコミット前のフックやGithub

  • Mineflux: Minecraftサーバーのデータを収集するTelegrafプラグイン | Yakst

    Minecraft サーバーから RCONプロトコルで データを収集するプラグインについて。Minecraft サーバ側の設定から、Chronograf を用いたダッシュボードの作成まで。 免責事項 この記事はInfluxData Blogの投稿 Mineflux: Building a Telegraf plugin to collect data from your Minecraft Server をユーザが翻訳したものであり、InfluxData公式の文書ではありません。 概要 InfluxData での最初の1週間を、私たちは InluxData の背後にあるデータベースである InfluxDB について学ぶのに費やしました。私たちはその他のコンポーネントがいかに簡単に利用できるかということを言われていたので、この主張を検証することに決めて、Telegraf プラグインを書き、そ

    Mineflux: Minecraftサーバーのデータを収集するTelegrafプラグイン | Yakst
  • MySQLの高可用性構成の展望2017年版(大人編) | Yakst

    以前公開された「長老編」(https://yakst.com/ja/posts/4656) に引き続き、比較的新しいMySQL高可用性オプション(大人たち)について解説した記事。前回同様、初心者向けに「Galera」と「RDS Aurora」の2つを紹介している。 この記事では、いくつかの高可用性ソリューションについて考察を行います。 このシリーズの前回の記事(訳注:日語版はこちら)では、長きにわたって利用されてきたMySQLの高可用性ソリューションを取り上げました。私はこれらを「The Elders (長老たち)」と名づけました。レプリケーションなどは今でもよく使われており、MySQLの新バージョンがリリースされるごとに改善されています。 この記事では直近5年間で登場し、なおかつコミュニティの中で牽引力を増している高可用性ソリューションに着目します。私はその中から2つのソリューションを

    MySQLの高可用性構成の展望2017年版(大人編) | Yakst
  • 超高速な開発ができるわけ | Yakst

    あるひとりの人がシステムを作ったが故にそのシステムに精通している場合に、最も生産的な開発が行われる。しかしこれは、ひとりの人がシステムの面倒を見ることを超えてシステムが成長する時には矛盾してしまう。 ある状況下において、特定の開発者たちが他の人の10倍生産性が高くなることがあるのはなぜかについて議論してみましょう。 ヒント : 開発者の話ではなく、状況が大きなカギ。 生産性が非常に高いことにウキウキした気分になるのはいつでしょうか。新しい機能が指先からあふれ出てくる時?それは、私たちが関わるツールのことを知り尽くしている時、あるいはもっと決定的に言うと、自分がシステムを変更しつつある時に起こるのです。自分のバックパック、それも自分で詰め込み、そしてひとつひとつの小袋の中まで何年にもわたる旅行を経て調整してきたバックパックの中身を知っているように、システムを知ることです。それぞれのモジュール

  • MySQLの高可用性構成の展望2017年版 | Yakst

    MySQL高可用性オプションについて3つパートで説明された記事。この記事では最初のパートThe Elders(長老たち)の技術を紹介している。 MySQLに比較的新参の人に向けて書かれており、「レプリケーション」「共有ストレージ」「NDB Cluster」の技術について、メリットとデメリットを説明している。 このブログでは、さまざまなMySQL高可用性オプションについて考察します。 ダイナミックなMySQLエコシステムは、MySQLを中心に構築された多くの技術を急速に進化させています。これは、MySQLの高可用性(HA)の側面に関連する技術に特に当てはまるでしょう。 私が2009年にPerconaに入社したとき、こういったHAの技術のいくつかは非常に人気がありましたが、それ以来ほとんどは忘れられています。その同じ期間で、新しい技術が登場しました。読者にいくつかの視点を提供しながら、出来れば

    MySQLの高可用性構成の展望2017年版 | Yakst
  • CPU使用率は間違っている | Yakst

    Netflixのパフォーマンスエンジニアである筆者からの、topコマンドなどで表示されるCPU使用率(%CPU)は、いまや当の使用率を表しておらず、チューニングなどのための指標として使えないという指摘。なぜそうなってしまったのか、何を見れば当のCPU使用率がわかるのかをわかりやすく解説した記事。 私たちみんながCPU使用率として使っている指標は非常に誤解を招くもので、この状況は毎年悪化しています。CPU使用率とは何でしょうか?プロセッサーがどのくらい忙しいか?違います。CPU使用率が表しているのはそれではありません。私が話しているのは、あちこちで、あらゆる人たちに、あらゆる監視製品で、あるいはtop(1)でも使われている、"%CPU"という指標のことです。 あなたの考えているであろうCPU使用率90% : 実際 : "stalled"(訳注 : 以下ストールと言う)とは、プロセッサーが

    CPU使用率は間違っている | Yakst
  • Windowsのドライバーの日付が全部2006年6月21日なのはなぜ?更新されていないの? | Yakst

    バージョン番号が変わるのに日付が全部同じという不思議な仕組みのWindowsのドライバー。そこには秘密が。 なぜWindowsのドライバーの日付が2006年6月21日なのか?ドライバーをアップデートしたことないの?単なるなまけ者集団? もっと重要なことに、2006年6月21日という日付は、Storage Spacesのように2006年に存在すらしていなかったドライバーにも適用されているのです!また開発部門がタイムマシンを使ったのでしょうか? Windowsのすべてのドライバーの日付は2006年6月21日に設定されています。バージョン番号は時とともに増えていきますが、タイムスタンプは変わらないままです。 私の同僚Zacがこう説明しています。ある特定のハードウェアのために使うドライバーを探す時、システムは色々な基準に基づいてドライバーをランク付けします。ドライバーがハードウェアIDとぴったり一

    Windowsのドライバーの日付が全部2006年6月21日なのはなぜ?更新されていないの? | Yakst
  • SaaSアプリケーション向けのMySQLシャーディングモデル | Yakst

    Percona社CEO Peter Zaitsevの語るSaaSアプリケーション向けのMySQLシャーディングモデルのバリエーション このブログ記事では、MySQLのシャーディングモデルについてとどのようにそれらをSaaSアプリケーション環境に適用するかについて議論します。 MySQLはもっとも人気のあるデータベース技術の1つで、多くのモダンなSaaSアプリケーション(単純な生産性向上のツールから、金融や医療と言ったビジネスクリティカルな領域まで)の構成要素として使用されています。 MySQLを使用している大規模なSaaSアプリケーションのほとんど全ては シャーディング  を使用しています。 このブログ記事ではこのような種類のアプリケーションに対してどのシャーディング方法を選ぶかを議論します。 MySQLではよりモダンな技術の  MongoDB のようなものとは異なり、アプリケーションから

    SaaSアプリケーション向けのMySQLシャーディングモデル | Yakst
  • 寿司=ビール問題 : MySQL 8.0でのUTF8サポート入門 (MySQL Server Blogより) | Yakst

    これまでのMySQLでよく問題になった、絵文字や日語の文字の照合やソート順序の問題に関して、来たるMySQL 8.0では大幅な改善が加えられる予定になっている。この問題の概要と今後の改善方針について、MySQL開発チームからの解説。 免責事項 この記事はManyi Lu氏によるMySQL Server Blogの投稿「Sushi = Beer ?! An introduction of UTF8 support in MySQL 8.0」(2017/1/13)をユーザが翻訳したものであり、Oracle公式の文書ではありません。 MySQL 8.0での私たちの計画として、utf8のサポートを大幅に改善します。utf8サポート自体はMySQL 4.1の頃にさかのぼりますが、いくつかの制限が存在しています。記事タイトルにもある「寿司 = ビール」問題は、バグ#76553のことを指しています。少

    寿司=ビール問題 : MySQL 8.0でのUTF8サポート入門 (MySQL Server Blogより) | Yakst
  • RethinkDBはなぜ失敗したのか | Yakst

    つまり、これらのマーケットは小さく、しかもデータベースのマーケット自体よりも小さいのです。とは言え、どれかが他よりもマシになりうるでしょうか? マネージドホスティングは、質的にはユーザのためにAWSでデータベースを動かすことで、そうすることでユーザたちは自分で動かす必要がなくなります。これらのサービスを使う代わりになるのは、AWSに自分でデータベースを立てることです。したがって、マネージドなデータベースホスティングサービスが課金できる額には、非常に厳しい上限があることになります。Compose.ioやmLabが、RethinkDBよりも1桁あるいは2桁多いユーザを抱えるMongoDBを提供していることを考えて、マネージドホスティングを提供することには少しの良い点もないという結論を下しました。 Database as a Serviceはマネージドホスティングの更に複雑なバージョンです。D

    RethinkDBはなぜ失敗したのか | Yakst
  • 知っておくべきUnixユーティリティー : lsof | Yakst

    ファイルがどのようなプロセスやユーザなどに使われているのかを表示する lsof コマンドの使い方を網羅的に書いた記事。基的なものから複数条件を指定したちょっと複雑な使い方まで。 これは、知っておくべきUnixやLinuxのユーティリティーに関するシリーズの3番目の記事です。この記事では、便利な lsof ツールについてお伝えしようと思います。 netcat がネットワーク接続のスイスアーミーナイフ(訳注 : 何でもできる便利なツールの意味)なら、 lsof はUnixのデバッグのスイスアーミーナイフであると言いたいところです。 lsof はUnix哲学に忠実に従っています。ひとつのタスクだけを完璧にこなす、つまり、プロセスによって開かれているファイルの情報を一覧にするだけです。開かれているファイルとは、通常のファイル、ディレクトリー、NFSのファイル、ブロックファイル、キャラクタースペシ

    知っておくべきUnixユーティリティー : lsof | Yakst
  • MySQLインデックスのお手入れの基本 | Yakst

    Percona Database Performance Blogの翻訳。既に運用を始めたデータベースで、インデックスが正しく使われているか、無駄や不足がないかを確認する方法のまとめ記事。クエリをひとつひとつ確認するのではなく、統計情報を元に判断する分かりやすい方法。 このブログ記事では、MySQLインデックスに手入れする基的なステップについて見ていこうと思います。 データベースは、インデックス次第でハイパフォーマンスにも、役立たずで遅くて大変にもなりうることはご存知でしょう。インデックスは、時々手入れをする価値がある非常に重要なものです。それでは、何をチェックすればよいのでしょうか?順不同ですが、確認すべき点を挙げてみます。 1. 使われていないインデックス sysスキーマで、使われていないインデックスをとても簡単に見つけられます。 schema_unused_indexes ビューを

    MySQLインデックスのお手入れの基本 | Yakst
  • InfluxDB 1.0 GAリリース : 振り返りとこれから | Yakst

    InfluxDB 1.0 GAがついにリリースとなりました。1.0までの約3年間の振返り、これからのバージョンで何を計画しているかについてご紹介します。 出典について この記事はInfluxData BlogのPaul Dix氏によるInfluxDB 1.0 GA Released: A Retrospective and What’s Next(2016/9/8)を翻訳したものです。 日、オープンソースの時系列データベース InfluxDBと、高可用構成と高スループットを実現するためのクラスタリングのスケールアウトをサポートした商用版であるInfluxEnterpriseの1.0版のリリースをご案内します。日は、我々の会社の歴史上最も重要な日となりました。このリリースまでには約3年もの年月がかかり、これを機にプロジェクト歴史を振り返り、ユーザーの皆さんに1.x系のリリースでどのよう

    InfluxDB 1.0 GAリリース : 振り返りとこれから | Yakst
  • DNSの仕組み | Yakst

    DNSの仕組みと一般的な使い方について、DNSに関する作業をする時によく使うコマンドや、具体的な例を交えてまとめた入門的記事。 私はよくドメイン名に関する問題に遭遇します。どうしてウェブサイトが動かないんだ? どうしてこんなくだらないのが上手くいかないんだ、何やってもダメだ。ただ動かしたいだけなのに! 質問をしてくる人はたいてい、DNSが何かを知らず、基的な部分がどのように動くのかの理解にも乏しいです。より一般的には、みんなDNSが強くて複雑なものだと思っているのです。この記事では、その恐怖を和らげようと努力してみようと思います。一度基的なコンセプトを理解してしまえば、DNSは簡単です。 DNSとは まず大事なことから始めましょう。DNSは、Domain Name Systemの略です。基的には、これはグローバルに分散されたキーバリューストアだと言えます。世界中のサーバーは、あなたが

    DNSの仕組み | Yakst
    manabou
    manabou 2016/09/28
  • 初心者がデータベースを扱うときにやってしまいがちな5つのミス | Yakst

    主にPostgreSQLで、アプリケーションがスケールしていくことを考慮に入れずに後で困ることになりがちな設計のポイント。今後巨大にスケールする必要が分かりきっている際には特に注意すべき点。 開発者として仕事を始める時には、参ってしまうほど覚えなくてはいけないことがあります。まず最初に言語自体、それから使っているフレームワーク特有のクセ、さらにその後(あるいはその前)にフロントエンド開発を織り交ぜ、そしてその先でデータをどこに保存するかを決めなくてはなりません。 最初の頃は、素早く身につけるべきことが多すぎて、アプリケーションのデザインにおいてデータベースは後から付け足すものになりがちです(おそらくこれはエンドユーザーエクスペリエンスに影響がないからでしょう)。その結果、データベースが動き始めてから直さなくてはならない数々の悪い習慣が存在しています。ここでは、そのうちのいくつかについて概要

    初心者がデータベースを扱うときにやってしまいがちな5つのミス | Yakst
  • 読みやすいREADMEを書く | Yakst

    いくつかのオープンソースプロジェクトを公開している筆者からの、読みやすくユーザーにやさしいREADMEを書くためのアドバイス。 この記事は、Rowan Manning氏による「Writing a Friendly README」(2016/3/14)を翻訳したものです。 あなたのプロジェクトのREADMEは、かなり重要です。そこはプロジェクトに初めて来た人が大抵最初に見るであろう場所であり、唯一のドキュメントであることもよくあります。あなたのオープンソースプロジェクトにとってのREADMEは、企業にとってのウェブサイトのようなものです。ウェブサイトはユーザーエクスペリエンスの注目を集めるところですが、READMEがユーザー観点で考えられることはほとんどありません。 この記事では、分かりやすいREADMEを書くために役立ち、開発者(ユーザー)の要求に見合い、開発者がプロジェクトを初めて見たの

    読みやすいREADMEを書く | Yakst
  • LinuxとBitKeeperとGitの関係 | Yakst

    Linuxは過去にバージョン管理システムとしてBitKeeperを使用していて、それがGitに置き換えられた経緯について 「LinuxとBitKeeperとGitの関連について書かれたいい記事ってありますか?」という質問へのOscar Bonilla氏の回答 いい記事は見た事ないけど、どういうことがあったのか簡単に書いてみます。 90年台後半のLinuxプロジェクトは、問題を抱えていました。非常に多くの開発者が関係している一方で、彼らがハッピーになるようないいシステムは存在していませんでした。LinusはCVSについて調査しましたが、最悪という判断を下し、結局tarballとdiff、patchを使っていました。これは彼の取り巻きたちの間ではうまくいきませんでした。なぜなら、多数の開発者から送られてくるパッチをLinusが適用できるような巨大パッチに統合して、コンフリクトを見つけて、そして

  • MySQLのメモリー使用量を最適化する設定のベストプラクティス | Yakst

    Percona Data Performance Blogの翻訳。Percona CEOのPeter Zaitevによる、MySQLのメモリー使用量をどのように決めるべきか、またそれを決める時に気にするべきことは何かについてのまとめ。 この記事では、最適なMySQLのメモリー使用量を設定するためのベストプラクティスを扱おうと思います。 使用できるメモリーのリソースをどのように使うか正しく設定するのは、MySQLを最適なパフォーマンスでかつ安定して使うために最も重要なことのひとつです。MySQL 5.7では、デフォルトの設定では非常に少ない量のメモリしか使いません。デフォルトのままにしておくのは、最も良くないことのひとつでしょう。しかし、不適切に設定してしまうと、パフォーマンスを更に悪くする(あるいはクラッシュする)ことにもなりかねません。 MySQLのメモリ使用量を設定するにあたっての最初

    MySQLのメモリー使用量を最適化する設定のベストプラクティス | Yakst
  • InfluxDB、Telegraf、Kapacitor 0.12のお知らせ - クエリーのkillと新機能(InfluxData Blogより) | Yakst

    InfluxDB、Telegraf、Kapacitor 0.12のお知らせ - クエリーのkillと新機能(InfluxData Blogより) InfluxDB、Telegraf、Kapacitorの0.12.0 GAがリリースされました。InfluxDBではクエリーをkillするなどの管理機能が追加されています。その他の新機能や改善とは。 出典について この記事はInfluxData BlogのPaul Dix氏によるAnnouncing InfluxDB, Telegraf and Kapacitor 0.12 – Kill Query and New Functions(2016/4/5)を翻訳したものです。 InfluxDB、Telegraf、そしてKapacitorの0.12.0 GAがリリースされダウンロードできるようになったことをお知らせできて嬉しく思います。 Influx

    InfluxDB、Telegraf、Kapacitor 0.12のお知らせ - クエリーのkillと新機能(InfluxData Blogより) | Yakst