Enabling Automatic Configuration for a Dedicated MySQL Server
ソーシャルPLUS 開発チーム id:mizukmb です。ISUCON7 予選は惨敗でした。来年また頑張ります。 先日、ソーシャルPLUS の LINE メッセージ配信を提供するバックエンドの DB を RDS for MySQL5.7 から Amazon Aurora に移行しました。 今回は、RDS for MySQL 5.7 から MySQL 5.6 の Fork である Amazon Aurora への移行を行う際の注意点や実際の移行手順について説明します。 なぜ Aurora に移行したのか 移行手順 前提 前日までにできること 1. MySQL5.7 特有の機能を把握する 2. Aurora を作成する 3. DMS タスクの作成 4. 移行元 DB からテーブル定義をダンプし、 Aurora へインポートする 5. mysql-devel 5.6 をインストールしたアプリケ
すでにOracle シングル・サインオンのアカウントをお持ちのお客様は、上記のログイン をクリックしてお進みください。 登録がお済みではなく、アカウントをお持ちでないお客様は、Sign Up より登録画面へお進みください。
運用した結果ではない調べただけの備忘録になります。 MTSはマルチスレッドスレーブ。スレーブへの同期のスレッドを複数にしたいというときの話。 5.7からは改良されている模様。詳しくは下の方の参考リンク先をどうぞご覧ください。 [mysqld] slave_parallel_workers = 32 # CPUコア数かスキーマ数の低い方といってる人がいてそのベンチ結果はこの指定が少ないとCPUが忙しそうというものも # 最適な値は環境次第のようなので自分でベンチしたほうがよさそう。 slave_parallel_type = LOGICAL_CLOCK # デフォがDATABASEだけどそれにするメリットはないとあり、 # LOGICAL_CLOCKはマスタでグループコミットがされない限り並列処理できないとも書いてた。 # で、LOGICAL_CLOCKモード使うにはマスタも5.7でないとダ
はじめに Amazon RDSのMySQL 5.7で開発を行うことになりました。そこで、少しですがMySQL 5.7の機能を調べる機会がありましたので、今回は「UNION ALL」に関してのオプティマイザの改善について記載したいと思います。 「UNION」と「UNION ALL」の違い 先ずは、改めて「UNION」と「UNION ALL」の違いを簡単に説明しておきます。 UNION 結合対象のSELECT文の結果の全レコードを取得し、重複レコードを除去し返却します。 UNION ALL 結合対象のSELECT文の結果の全レコードををそのままつなげて返却します。 違いは結合した結果から、「重複レコードを除去するか、しないか」だけとなります。 MySQL 5.7での「UNION ALL」の改善とは 後ほど、「UNION」「UNION ALL」の実行計画の例を記載しますが、実行計画は単純であり、
皆さんこんにちは ちょっとしたアプリケーションを作っていると、キーワードやフリーワードを利用した検索が必要になったりします。 でも、そのときにLIKE検索なんてやっていると、全データを走査する可能性があり、あまり気分の良いものではありません。 そこで、適当な全文検索エンジンを使ってインデックスを張っておきたいなと思うわけですが...MySQLの場合、5.6まではデフォルトで(InnoDBに)日本語全文検索エンジンを入れていなかったりと、少々ハードルが高かったのです。 今回はMySQL5.7でデフォルトでNgramが搭載されているようなので、Laravelで全文検索を実装してみましょう。 例によって今回もLaradockを使用して即席環境を構築しています。 MySQLに全文検索が来た! 大昔のtritton, ちょい昔のgroongaのように、外部のプラグインを導入することなく、裸のMySQ
この記事はMySQL Casual Advent Calendar 2016の22日目です。 innodb_thread_concurrencyを最近のデフォルトである0と論理CPUコア数の2倍の48に設定した場合に観測出来た小ネタです。ベンチマークのtpsを載せていますが、1回しか取得してないので、割と誤差があると考えられるため、目安程度に見てください。 環境 CentOS 6.6(2.6.32-504.12.2.el6.x86_64) Xeon E5-2643 v2 3.5GHz x 2(2P12C24T) Memory 64GB (8GB x 8, DDR3 1866MHz) HDD SAS 300GB x 2 10k rpm(RAID1 BBU付き) FileSystem ext4 ベンチマークのデータ量はinnodb_buffer_pool_sizeに収まる量 メモリで殴るような
こんにちは、ぬいぐるみが好きな方のDBAです。 MySQL 5.7では JSONデータ型 がサポートされ、今までTEXT型やBLOB型にJSONを入れていたのに比べて バイナリーフォーマット(らしい)容量が小さいのでTEXT型に比べて基本的にレイテンシーが低い何も考えなくても4バイト文字も入るというメリットがあります。 ( ´-`).oO(Generated Columnでインデックスが張れるとか、json_*関数でアクセスできるとかはTEXT型でもできるのでJSON型のメリットじゃないし、型としてのバリデーションも生JSONを自分で組み立てることはほとんどない(ライブラリー通すから)からあんまり旨味を感じない。。 というわけでwktkしながら作ったんですよ、JSON型カラム。 そしたら。 ギョザー: とりあえずConnector/JのあとのDBアクセスライブラリの結果はStringで、文
MySQL 5.7.12 パート1 : メンテナンスリリースだけじゃありません (MySQL Server Blogより) MySQL 5.7.12ではRapidプラグインと呼ばれる概念が新たに導入されました。MySQL 5.7.12はMySQL 5.7系のGA版として4番目のリリースで、通常この段階では新機能の追加はしないのでは?その導入の意図とは。 免責事項 この記事はMike Frank氏によるMySQL Server Blogの投稿「MySQL 5.7.12 – Part 1: More than a Maintenance Release」(2016/4/11)をユーザが翻訳したものであり、Oracle公式の文書ではありません。 MySQL 5.7.12はMySQL 5.7系の4番目の安定版(GA)リリースです。この時点のリリースでは、通常のバグ改修やちょっとした機能の拡張が期待
MySQL 5.7から一般テーブルスペースが利用できるようになりました。共有テーブルスペースやinnodb-file-per-tableモードのテーブルスペースより、データファイルの配置やテーブルとデーターファイルの対応などがより柔軟に制御できるようになります。 免責事項 この記事はKevin Lewis氏によるMySQL Server Blogの投稿「General Tablespaces in MySQL 5.7 – Details and Tips」(2016/3/23)をユーザが翻訳したものであり、Oracle公式の文書ではありません。 ※ 訳注: Tablespaceの日本語訳について: 記事タイトル以外はMySQLのマニュアルに倣い「表領域」ではなく「テーブルスペース」の表記としています。 MySQL 5.7のInnoDBで、一般テーブルスペースの作成および複数のテーブルへの割
はじめに 今日は新機能のお知らせです。 Amazon RDS MySQL now supports point-and-click upgrade from MySQL 5.6 to 5.7 Amazon RDS for MySQLで、DBエンジンを簡単に5.6から5.7にアップグレードできるようになりました。具体的にはAWS管理コンソールからちょいちょいっとクリックするだけでアップグレードされます。 やってみた 以下のようなMySQL 5.6エンジンのAmazon RDS for MySQLがあります。ちなみにOption Groupは"default:mysql-5-6"、Parameter Groupは"default.mysql5.6"です。 [Instance Actions]-[Modify]をクリックします。 Modify画面の、[DB Engine Version]で、My
長い間MySQLを使ってアプリケーションやサービスを提供していると、セキュリティの都合や機能の高性能化によってアップグレードが求められることがあります。アップグレードを行った際にアプリケーションがそのまま動いてくれる場合もあるのですが、SQLモードの設定によって動かなくなってしまうこともあります。 アプリケーションが動かなくなってしまい、仕方がないのでよくわからないけどSQLモードの設定を空にする、なんて事はありませんか? 今回はそんなSQLモードの確認方法や、デフォルトの設定がどのような意味を持っているのかを紹介していきたいと思います。 デモンストレーション環境 この原稿を書いている時点で最新版である5.7.12を第5回 Dockerで複数バージョンのMySQLを開発環境に用意するで作成した環境で実行して確認していきます。 また、今回使用するデータは第2回 MySQLにはじめてのデータを
この記事を見て、結果に疑問を持ったので、AuroraとRDS MySQL 5.7のベンチマークを取ってみました。 動作環境 サーバ Aurora 5.6.10a / db.r3.large / SingleAZ MySQL 5.7.10 / db.r3.large / SingleAZ io1 / 100GB / 1000iops 設定はそれぞれ以下を変更 sync_binlog = 0 innodb_flush_log_at_trx_commit = 2 クライアント 4.1.17-22.30.amzn1.x86_64 / c4.2xlarge sysbench 0.4.12 サーバとクライアントはすべて同じAZ 並列数を高くできるように以下の値を増やした max_connections max_prepared_stmt_count nofile テストスクリプト --oltp-tab
MySQL 5.7から使えるようになったJSON機能の利用例に関するMySQL Server Blogのブログ記事を紹介します。 免責事項 この記事はMorgan Tocker氏によるMySQL Server Blogの投稿「Taking the new MySQL 5.7 JSON features for a test drive」(2016/3/2)をユーザが翻訳したものであり、Oracle公式の文書ではありません。 MySQL 5.7からネイティブのJSON型と、サーバーサイドでデータを操作や検索を自然に行えるようにする一連のSQL関数が使えるようになりました。本日、SF OpenDataにあるサンプルデータを使って、これらの機能の簡単な利用例をご紹介したいと思います。 サンプルデータをインポートする 良いサンプルデータを使うことは、結果が正確であることを自身で確認するのに役立つた
MySQL 5.7の新機能 : パフォーマンススキーマのスケーラブルなメモリ割り当て(MySQL Server Blogより) 免責事項 この記事はMayank Prasad氏によるMySQL Server Blogの投稿「New in MySQL 5.7: Performance Schema scalable memory allocation」(2016/2/11)をユーザが翻訳したものであり、Oracle公式の文書ではありません。 パフォーマンススキーマは実行中のMySQLサーバーの実行時間の統計を収集しレポートする仕組みです。これらの統計は内部のメモリバッファーに保存され、またそこから取得されます。MySQL 5.6 GA版では、これらのバッファーはユーザー指定のコンフィグ値であっても自動でサイズが決まるデフォルト値であっても、MySQLサーバーの起動時に確保されます。一度サーバ
MySQL 5.7以降のレプリケーション関連のデフォルト値について、変更点および考慮事項についてご紹介します。 免責事項 この記事はMatt Lord氏によるMySQL High Availabilityの投稿「MySQL Replication Defaults After 5.7」(2016/1/13)をユーザが翻訳したものであり、Oracle公式の文書ではありません。 大多数の人たちにとって、デフォルトあるいは「そのまま使える」設定から得られる体験がその製品に対する体験となるので、大多数の場合においてデフォルトの設定が良いことは我々にとっては非常に重要です。これは常に大変な課題で、なぜならば、関連するハードウェアの設定、利用するソフトウェア、アプリケーションがどのように利用されるか、などの複合的な要素の掛け合わせがあるからです。しかし、これには間違いなく力を注ぐ価値があります。Mor
MySQL道普請便り 第10回yum, rpmインストールにおけるMySQL 5.6とMySQL 5.7の違い 第8回 MySQLのバージョン体系を知るの中で、yumでインストールしたMySQL 5.6をMySQL 5.7にアップグレードしました。今回はアップグレードではなく、MySQL 5.7を新規にyumでインストールする場合のMySQL 5.6との違いを説明したいと思います。 MySQLのインストール方法はいくつかありますが、yumリポジトリーを利用したインストールが好んで選ばれるケースは、おそらくChefのレシピやDockerfileに利用する際ではないでしょうか。筆者はサンドボックス環境にはDockerをよく利用していますが、イメージを作成する際には原則MySQL公式のyumリポジトリーを使うようにしています。 yumリポジトリーを使用したインストール MySQL開発元のOrac
これはMySQL Casual Advent Calendar 2015の21日目のエントリです。 Part1に続いての内容となります。 今回の計測パターン Part1ではデータ・INDEXが全てinnodb_buffer_pool_sizeに収まる量でしたが、今回は収まらない量、実サイズで141GBのデータで計測。 LinkBenchの実行オプションは前回と同じです # ./bin/linkbench -c config/MyConfig.properties -D maxtime=3600 -D requests=10000000 -D requesters=64 -r パラメータについて 最後にまとめますが、結構変更しました。無圧縮であれば変える事なく安定した性能を出せたのですが、やはりreadの展開負荷が増えるとパラメータ変更しないとどうにもならない感じでした。まだ改善出来そうな気
「 罠 」でおなじみMySQL 5.7が2015年10月に晴れてGAとなりました 25日間「罠」について一人寂しくつづるAdvent Calendarです。 大半が @yoku0825 の ブログ へのリンクになるのは想定された事態です。 1日1つずつ、Advent Calendarのコメント欄(最大127文字らしい)に罠をつづっていきます。(c) @yoku0825 たぶん127文字は超えません。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く