タグ

mysqlに関するmoccos_infoのブックマーク (38)

  • MySQLのストアドプロシージャ、ファンクション、トリガーのパフォーマンスが悪いのはなぜか | Yakst

    MySQLのストアドプロシージャ、ファンクション、トリガーの性能が良くない理由について解説した記事。 実際のテストケースを交えながら、性能が落ちてしまうケースについて考察しています。 [MySQL]原文 Why MySQL Stored Procedures, Functions and Triggers Are Bad For Performance - Percona Database Performance Blog (English) 原文公開日 2018-07-12 翻訳依頼者 翻訳者 kakuka4430 翻訳レビュアー doublemarket 原著者への翻訳報告 1928日前 原文へのコメントで報告済み 編集 アプリケーション開発者は、MySQLのストアドプロシージャ、ファンクション、トリガーをよく作成します。しかしながら、私が知る限り、MySQLのストアドルーチンを使うと

  • MySQLがメモリー不足の時に何をするか : トラブルシューティングガイド | Yakst

    MySQLがメモリー不足で停止してしまった(OOM Killerに停止させられた)時に確認すべき項目を紹介する。特に、MySQLのバグでメモリリークが起きている可能性がある場合に手がかりを得る方法について。 [MySQL]原文 What To Do When MySQL Runs Out of Memory: Troubleshooting Guide - Percona Database Performance Blog (English) 原文著者 Alexander Rubin 原文公開日 2018-06-28 翻訳依頼者 翻訳者 doublemarket 翻訳レビュアー kakuka4430 原著者への翻訳報告 1948日前 原文へのコメントで報告済み 編集 クラッシュした時のトラブルシューティングが楽しいタスクであったためしはありませんが、クラッシュの原因をMySQLが教えてくれ

  • MySQLのヒストグラム統計 (MySQL Server Blogより) | Yakst

    MySQLでもついにヒストグラム統計を利用した実行計画作成がサポートされるようになりました。作成/削除の方法やどのようなときにインデックスと比べて有利か、などについてご案内します。 免責事項 この記事はErik Frøseth氏によるHistogram statistics in MySQL(2017/10/2)をユーザが翻訳したものであり、Oracle公式の文書ではありません。 MySQL 8.0.3では、ヒストグラム統計を作成しオプティマイザがより多くの統計情報を利用できるようにすることができます。このブログ投稿では、どのようにヒストグラム統計を作成し、どのような時に役立つかについて説明しようと思います。 ヒストグラムとは何か クエリーオプティマイザはデータベースの中で、SQLクエリーを可能な限り最も効率の良い実行計画に変換する役割を担っています。 時にはクエリーオプティマイザは最も効

    moccos_info
    moccos_info 2017/11/09
    活かしていきたい "なぜインデックスではないのか?"
  • MySQLの高可用性構成の展望2017年版(赤ちゃん編) | Yakst

    シリーズ第三回目で、「グループレプリケーション」「プロキシ」「分散ストレージ」について紹介している。グループレプリケーションはGaleraとの違いについて、プロキシには幾つかの選択肢があること、分散ストレージではオープンソースのAuroraのようなデーターベースが可能になることなどが述べられている。 この記事は、2017年現在で使用できるMySQLの高可用性ソリューションに焦点を当てたシリーズの第3回目です。 最初の記事では10年以上前から存在していた技術である「長老」を見ました。(訳注:長老編日語訳)第2回目の記事では「大人」 、つまりより最近の成熟した技術について話しました。(訳注:大人編日語訳)この記事では、新興のMySQL高可用性ソリューションを紹介します。私がブログで選択した「赤ちゃん」の高可用性ソリューションは、 Group Replication(グループレプリケーション

  • MySQLの高可用性構成の展望2017年版(大人編) | Yakst

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

    MySQLの高可用性構成の展望2017年版(大人編) | Yakst
    moccos_info
    moccos_info 2017/09/25
    なぜかここにAuroraの話が。それとGalera (Galera Cluster / MariaDB Cluster / Percona XtraDB Cluster)
  • MySQL 8.0のすぐに使えるパッケージの改良 | Yakst

    MySQL 8.0に「サーバーのメモリー量に応じて自動でパラメーターを設定する」ための innodb-dedicated-server が導入される予定です。この機能と導入の背景を紹介します。 免責事項 この記事はMySQL Server Blogの投稿 Plan to improve the out of the Box Experience in MySQL 8.0 をユーザが翻訳したものであり、Oracle公式の文書ではありません。 MySQL 8.0において我々は innodb_dedicated_server=bool と呼ばれる新しいパラメーターを導入するつもりです。 これがONに設定されている時、このオプションはシステムメモリーの量を確認し、以下のルールに従って自動的にパラメーターを決定します。 innodb_buffer_pool_size server_memory <

    moccos_info
    moccos_info 2017/09/12
    “MySQL 8.0に「サーバーのメモリー量に応じて自動でパラメーターを設定する」ための innodb-dedicated-server が導入される予定です”
  • MySQLの高可用性構成の展望2017年版 | Yakst

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

    MySQLの高可用性構成の展望2017年版 | Yakst
  • MySQL 8.0 : クエリーキャッシュのサポート終了 | Yakst

    役に立つ場面もある一方、スケーラビリティー上問題があるとされてきたMySQLのクエリーキャッシュが、MySQL 8.0で廃止されることになる。その背景と理由。 免責事項 この記事はMorgan Tocker氏によるMySQL Server Blogの投稿「MySQL 8.0: Retiring Support for the Query Cache」(2017/5/30)をユーザが翻訳したものであり、Oracle公式の文書ではありません。 Reneが昨日、ProxySQLのブログにこう書きました。 MySQLのクエリーキャッシュはパフォーマンスを改善するためにあるが、それは重大なスケーラビリティー上の問題を抱えていて、深刻なボトルネックに簡単になってしまいかねない。 これは、MySQLチーム内でも確かに長い間言われてきたことです。今日の記事の題に入る前に、少しイントロダクションを書かせて

    MySQL 8.0 : クエリーキャッシュのサポート終了 | Yakst
  • mysqlpumpユーティリティー | Yakst

    MySQLの論理バックアップ生成ツール「mysqldump」の後継にあたる「mysqlpump」の特徴と使い方についての解説。 この記事では、mysqlpumpコマンドの使い方を見てみようと思います。 mysqlpumpは論理バックアップを取得するツールです(実ファイルではなく、データをSQLとしてバックアップするという意味)。このツールは MySQL5.7.8 で追加され、データベースをダンプする、もしくはダンプしたファイルを別のDBサーバに転送/インポートする目的に使用できます(インポート先はMySQLに限定されません)。 使用方法はmysqldumpと基的に同じですが、いくつか新しい機能が含まれています。多くのオプションが変わらず使用できますが、mysqldumpとの互換性に縛られることがないよう、一から開発されています。 主な新しい機能 ダンプ処理を高速化するために、データベース

    mysqlpumpユーティリティー | Yakst
  • GitHub - facebookincubator/OnlineSchemaChange: A tool for performing online schema changes on MySQL.

    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 - facebookincubator/OnlineSchemaChange: A tool for performing online schema changes on MySQL.
    moccos_info
    moccos_info 2017/05/09
    "a tool for making schema changes for MySQL tables in a non-blocking way"
  • MySQLのレプリケーション手法の違い | Yakst

    ソリューションエンジニアチームに所属する筆者が、今では様々な手法が存在するレプリケーション機能について、改めて特徴や注意点を解説しつつ、レプリケーションのよくある「誤解」に対してもお答えしています。 このブログ記事では、MySQL(および Percona Server)環境におけるレプリケーション手法に関して改めて考察を行いたいと思います。あわせて、時折見受けられるレプリケーションの間違った考え方についても考えてみます。 私がソリューションエンジニアとして働き始めてからというもの、沢山の情報が公開されているにも関わらず、レプリケーションに対する「誤解」や「不完全な理解」が無くならないことを日々感じていました。 そもそもレプリケーションとは何か? レプリケーションは、1つのデータベースにデータを蓄積するだけでなく、別のデータベースにデータを複製し、転送することを保証してくれる機能です (複製

    MySQLのレプリケーション手法の違い | Yakst
  • How Slack Works

    moccos_info
    moccos_info 2017/01/20
    "Conservative technical taste: Most supporting technologies are >10 years old" / PHPで動いてるのかSlack "Q: PHP to be terrible. A: It sort of is, but it also works well." / "Flannel discovers Channel servers via Consul"
  • GitHub - airbnb/MaxScale: An intelligent database proxy.

    moccos_info
    moccos_info 2016/10/20
    MariaDB MaxScaleのフォーク "The motivation for the project is a database proxy with connection pooling such that we can remove MySQL database connections limitation. "
  • Unlocking Horizontal Scalability in Our Web Serving Tier

    Airbnb’s web application is powered by Ruby on Rails and Java. The web-facing application is a monolithic Rails application, which runs on many web servers. Web requests are handled by the Rails application and it talks to several different Java services, for instance the search service or listing pricing service. In Airbnb’s technology stack, MySQL databases play the critical role of storing core

    Unlocking Horizontal Scalability in Our Web Serving Tier
    moccos_info
    moccos_info 2016/10/20
    "RDS uses the community edition of MySQL server, which employs a one-thread-per-connection model of connection management." よってMySQLのスレッドプール機能は触れない → MaxScal Database Proxy解像版 Airbnb MaxScale
  • MySQLインデックスの基礎 : ひとつのテーブルに対するクエリの最適化法 | Yakst

    MySQLのインデックスを効果的に使うにはどうしたらいいのかについての分かりやすい解説。そもそもインデックスの役割はとは何か、そしてどうすればその役割を果たしてくれるのかを説明する。 たとえ1つのテーブルだけに対して実行されるクエリでも、パフォーマンスが悪いというのはよくあることです。その理由は簡単で、インデックスの作り方がまずいため、実行計画がおかしくなってしまうのです。ここでは、1つのテーブルのみに対する色々なクエリを最適化するためのガイドラインを挙げてみたいと思います。 おことわり : あらゆる状況をカバーしようとはせず、一般的なガイドラインを提示するに留めるつもりです。ここで挙げたものがうまく適用できない例を簡単に見つけることができるのは間違いないでしょうが、ほとんどの場合はここに書いたことが十分なのも事実です。また、MySQL 5.6以上にあるIndex Condition Pu

    MySQLインデックスの基礎 : ひとつのテーブルに対するクエリの最適化法 | Yakst
  • (帰ってきた)InnoDBパフォーマンス最適化の基礎 | Yakst

    MySQL Performance Blogの翻訳。Perconaのサポートエンジニアである筆者が、InnoDBのパフォーマンスチューニングの基礎について、ハードウェアやOSの選定からパラメータの推奨値まで解説する。 最近、2007年にPeter Zaitevが書いた「InnoDBパフォーマンス最適化の基礎」という記事を見つけた。これは素晴らしい記事で、読んでいると、MySQLとPercona Serversそして今日利用可能な全ての基盤技術に関して、6年近くの間に何が変わってきたのかを見直してみたいと思わせるものだ。 当にたくさんのことが変わったものだ!この記事では、InnoDBの使用に効果的なパラメータの多くに、特にパフォーマンスの観点から焦点を当てる。私はサポートエンジニアで、Percona SupportではInnoDBパラメータの適切なサイズに関する質問がたくさん寄せられている

    (帰ってきた)InnoDBパフォーマンス最適化の基礎 | Yakst
  • MySQLの大きなテーブルでのパフォーマンスを改善する10の方法 | Yakst

    MySQLコミュニティマネージャのMorgan Tocker氏による、テーブルサイズが大きくなるにつれてINSERTのパフォーマンスが落ちてきてしまうことを防ぐ様々な方法についてのまとめ。 今日は、パフォーマンス問題を引き起こす原因になる、サイズの大きいテーブルのパフォーマンスを改善することについて書いてみようと思う。このアドバイスのうちのいくつかは、たくさんのテーブルをまとめて大きくなっているデータベースにも適用できるが、大抵の場合、独立した大きなテーブルというのは特に問題になりやすいものだ。 一般的に知られていると思われるのは、テーブルを変更する時のスピードは、そのサイズが大きくなるにつれて遅くなることだ。以下の図は、一般的なB+ツリーインデックスのパフォーマンスを時系列で見たものだ。 このグラフは、MySQL@Facebookの記事から拝借したものだ。これは、insert buffe

    MySQLの大きなテーブルでのパフォーマンスを改善する10の方法 | Yakst
  • Innotop - MySQLのためのリアルタイムで高機能な調査ツール | Yakst

    MySQL Performance Blogの翻訳。MySQLをリアルタイムなステータスを見るツールにinnotopがある。このシンプルだが非常に役立つツールの基的な使い方や、複数のサーバの状態を一度に確認する方法などを解説する。 MySQLGUIモニタリングツールは、我々のあらゆるニーズや状況にいつでもぴったりくるものとは限らない。そういったツールの多くは、MySQLサーバの現在の状態をリアルタイムに表示してくれるというよりは、データベースに過去どのようなことが起きたかの歴史的な見方を提供してくれるよう設計されている。CactiやZabbix、Ganglia、Nagiosといった素晴らしいフリーのツールもある。しかしこれらは、MySQLインスタンスで何が行われているかの詳細を見るためには正しく設定をする必要がある。そしてそういった設定は、素早くできるとは言い難く、面倒なものである(G

    Innotop - MySQLのためのリアルタイムで高機能な調査ツール | Yakst
  • gh-ost:GitHubのMySQL向けオンライン・スキーマ・マイグレーションツール | POSTD

    日、 gh-ost のオープンソース・リリースを発表します。GitHubの、トリガーレスなMySQL向けオンライン・スキーマ・マイグレーション・ツールです。 gh-ost は、MySQLテーブルの修正が必要な、進行中の継続的なプロダクション変更に伴って私たちが直面する問題に答えるために、ここ数ヶ月で開発されました。 gh-ost は、負担が小さく、制御しやすく、監査しやすく、操作が簡単なソリューションを提供することによって、現在のオンライン・テーブル・マイグレーションのパラダイムを様変わりさせます。 MySQLテーブルのマイグレーションは、よく知られた問題で、2009年からはオンライン・スキーマ変更ツールによって対処されてきました。ハイペースで成長するプロダクトに伴って、データベース構造の変更が必要になります。列やインデックスなどの追加・変更・削除は、デフォルトのMySQLの動作を妨げる

    gh-ost:GitHubのMySQL向けオンライン・スキーマ・マイグレーションツール | POSTD
    moccos_info
    moccos_info 2016/09/05
    "私たちはそのようなスキーマ変更を1日に何度も行うので" ほう
  • mysqlpumpの紹介(MySQL Server Blogより) | Yakst

    MySQL 5.7.8で新しい論理バックアップのクライアントユーティリティーがリリースされた。バックアップが並列化され大幅に高速化されている。記事ではmysqldumpの利用方法や制約事項についてご紹介する。 免責事項 この記事はBharathy Satish氏によるMySQL Server Blogの記事「Introducing mysqlpump」(2015/9/2)をユーザが翻訳したものであり、Oracle公式の文書ではありません。 MySQL 5.7.8から、新しいクライアントユーティリティーを提供しています。mysqlpumpと呼ばれる論理バックアップを行うもので、元のスキーマオブジェクトおよびテーブルデータを再生成できる一連のSQL文を作成するものです。mysqlpumpのゴールは、拡張可能でかつ並列化をネイティブサポートする最新の機能を持たせることです。我々はこれを達成する

    mysqlpumpの紹介(MySQL Server Blogより) | Yakst