並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 77件

新着順 人気順

innodbの検索結果1 - 40 件 / 77件

  • Aurora MySQL におけるロック競合(ブロッキング)の原因を事後調査できる仕組みを作った話

    こんにちは。 DBRE チーム所属の @p2sk です。 DBRE(Database Reliability Engineering)チームでは、横断組織としてデータベースに関する課題解決や、組織のアジリティとガバナンスのバランスを取るためのプラットフォーム開発などを行なっております。DBRE は比較的新しい概念で、DBRE という組織がある会社も少なく、あったとしても取り組んでいる内容や考え方が異なるような、発展途上の非常に面白い領域です。 弊社における DBRE チーム発足の背景やチームの役割については「KTC における DBRE の必要性」というテックブログをご覧ください。 本記事では、Aurora MySQL でロック競合(ブロッキング)起因のタイムアウトエラーが発生した際に根本原因を特定することができなかったので、原因を後追いするために必要な情報を定期的に収集する仕組みを構築した

    • MySQL(InnoDB)のSQLパフォーマンスチューニングのエッセンス

      はじめに MySQL(InnoDB)でSQLのパフォーマンスチューニングをするときに役に立つ知識をエッセンスとしてまとめました。結合(JOIN)やB-treeインデックスの探索の仕組み、実行計画の基本的な見方を紹介します。 想定する読者は、SQLのパフォーマンスを改善する必要があるが実行計画をみてもいまいちピンと来ない方です。インデックスの作成の経験や、複合インデックスやカーディナリティの知識があることを前提にしています。目標は、実行計画の内容がよく分からない読者が、実行計画をみただけでクエリが実行される様子をイメージでき、自信を持ってクエリの改善にあたることができるようにすることです。 ストレージエンジンはInnoDBを前提としています。また、インデックスはB-treeインデックスを想定しています。全文検索の転置インデックスや空間検索のR-treeインデックスについては触れません。 イン

        MySQL(InnoDB)のSQLパフォーマンスチューニングのエッセンス
      • Dive into InnoDB from redo logs

        DevOps Topologies 10 years on: what have we learned about silos, collaboration, and flow? - Matthew Skelton, Conflux

          Dive into InnoDB from redo logs
        • MySQL(InnoDB)における各種ロックの挙動を調べてみた

          はじめに みなさんこんにちはメリークリスマス🎄 ついにアドベントカレンダー最終日!!! 現在SODAでwebエンジニアをしているtoshikiです。(3記事目で謎の自己紹介) CTOからflexispotのデスクを譲り受ける代わりにテックブログ3記事執筆するという約束を果たすべく、SODAのAdvent Calendar 2023で3枠担当することになり、この記事をもって無事プレゼントの配達が完了しました🎅(sorenani) 今日はクリスマス当日ということで、自分自身理解が曖昧だったMySQLのストレージエンジンであるInnoDBのロック周りの挙動をMySQLの公式ドキュメントを読みつつ調査してまとめてみました。 この記事でわかるInnoDBのロックの種類 共有ロックと排他ロック インテンションロック ギャップロック ネクストキーロック 検証環境 MySQLのVersion mysq

            MySQL(InnoDB)における各種ロックの挙動を調べてみた
          • InnoDB redo logを解読している話 - tom__bo’s Blog

            この記事はMySQLのカレンダー | Advent Calendar 2023 - Qiitaの19日目の記事です。 MySQLのredoログには何が書かれているのだろうか? そんな疑問を解決するために私はアマゾンの奥地へと旅立つことにしました。 MySQLはSQLをパースし、実行計画を立てたあと、実際にストレージ(メモリ含む)でデータを処理する部分はプラガブルなストレージエンジンに実装を移譲する設計になっています。 しかし、処理をストレージエンジンがトランザクションをサポートしないことも選択できるため、クラッシュリカバリのための機構を実装していない可能性もあります。 そのため、レプリケーションにも利用されるバイナリログがWrite Ahead Loggingされていて、クラッシュリカバリやPITRにもバイナリログが主に使われています。(と、筆者は理解しています。). なので、運用上はバイ

              InnoDB redo logを解読している話 - tom__bo’s Blog
            • MySQLで全文検索機能を使う際のパフォーマンスについて調査してみた - iimon tech blog

              こんにちは、CTOの森です。iimonは今回が初のアドベントカレンダー参加です! 本記事はiimonアドベントカレンダー1日目の記事となります。 はじめに 検証した環境 MySQL/mecabのインストール 大量のデータを入れる 1レコードのINSERTにかかった時間 検索してみる 検索文字列が「出来事」の場合 インデックスなし N-gram(bi-gram) IN NATURAL LANGUAGE MODE IN BOOLEAN MODE MeCab IN NATURAL LANGUAGE MODE IN BOOLEAN MODE 検索文字列が「チューリングはロンドンのリッチモンドに住み」の場合 まとめ 参照したサイト 最後に はじめに 今回はMySQLで全文検索機能を使う際のパフォーマンスについて書こうと思います! 全文検索をちゃんと使うのであればElasticsearchやSolrな

                MySQLで全文検索機能を使う際のパフォーマンスについて調査してみた - iimon tech blog
              • 【EOL間近】Amazon RDS for MySQL 5.7の標準サポート終了とバージョンアップ前の影響確認について - ForgeVision Engineer Blog

                こんにちは。フォージビジョンの藤川と申します。 2023年9月初めに、AWSよりAmazon RDS for MySQL 5.7の標準サポート終了に関する内容と延長サポートに関する内容の通知がありました。以下は、2023/9/13時点のAWS公式サイトの情報です。 メール本文にも記載がありましたが、各々の情報は以下のAWS公式サイトに記載があります。 Amazon RDS for MySQL 5.7の標準サポート終了 2023/9/13時点では、表示言語を英語にすることで、標準サポート終了日の最新の情報や延長サポートの内容を確認することができました。 docs.aws.amazon.com Amazon AuroraとAmazon RDSがMySQLとPostgreSQLデータベースの延長サポートを発表 aws.amazon.com データベースのメジャーバージョンのアップデートについては

                  【EOL間近】Amazon RDS for MySQL 5.7の標準サポート終了とバージョンアップ前の影響確認について - ForgeVision Engineer Blog
                • MySQLのInnoDB テーブルの断片化(フラグメンテーション)を解消する - Qiita

                  概要 InnoDB では、追加・更新・削除操作を繰り返していると、断片化(フラグメンテーション)という現象が発生します。 これはいわば、ゴミみたいなもので、テーブルのデータを削除してもディスク容量が減りません。 このゴミが増えてくると、クエリ処理が遅くなる可能性があリます。 例えばレコードが100万件あるテーブルの内、99万9999件を削除し1件の状態にしても、テーブルが占有している領域は100万件分使っているということになります。 今回は実際にテストデータを作成し、フラグメンテーションの発生とその解消法について確認していきたいと思います。 フラグメンテーションの詳細については本記事では述べないので、気になる方は下記記事が分かりやすかったのでご参照ください。 前提 MySQL 5.7.31 InnoDB テストデータの挿入 まずテスト用のDBとテーブルを作り、約100万件テストデータを挿入

                    MySQLのInnoDB テーブルの断片化(フラグメンテーション)を解消する - Qiita
                  • AWS RDS/AuroraのDDL運用を最適化する | 外道父の匠

                    AWS re:Invent 2022 にて RDS の Blue/Green が発表されたことを受けて、この辺の具体的な運用をどのように改善できるのか考えていきます。 たいした内容ではないですが、丁寧に最適化して慣れれば、それなりに強い効果を発揮できそうな感じはあります。 ALTER TABLE の辛み まず復習からですが、RDS に Blue/Green が実装されるほど辛い運用はなんだったかというと、重い ALTER TABLE にあります。 ALTER には色々あるのでアレですが大雑把に言うと、容量や行数が大きいテーブルに対して実行すると、数時間単位~の処理時間がかかることが多く、しかもパッと見で進捗を把握できないという問題を抱えていました。それに対して色んな対策を取っていたと思います。例えば…… Handler_write SHOW GLOBAL STATUS LIKE ‘Hand

                      AWS RDS/AuroraのDDL運用を最適化する | 外道父の匠
                    • DBのロックについてあまり意識したことがない人に向けた実は覚えておきたいロックについての知識 - CARTA TECH BLOG

                      みなさん、おはようございます! CARTA fluct エンジニア の なっかー@konsent_nakka です。 CARTA TECH BLOG アドベントカレンダー 12/14ということで、普段DBのロックについてあまり意識したことがない人に向けた実は覚えておきたいロックについての知識をざっとまとめてみました。 とりあえずこれだけ読んでおけば最低限は困らない、もし何か困った時にはあそこで出てきた内容をもう少し深く調べて見るか、というきっかけになれば良いなと思います。 厳密な定義よりも普段DBを扱う中でロックについてあまり意識したことがないような人にもすっと入ってくるように簡単な表現を優先して書いていますがご了承ください。 目次 留意事項 排他ロックと共有ロック トランザクション分離レベル SELECTのロックレベルを変更する 共有ロック: LOCK IN SHARE MODE 排他ロ

                        DBのロックについてあまり意識したことがない人に向けた実は覚えておきたいロックについての知識 - CARTA TECH BLOG
                      • レプリケーションとは、仕組み~3つのお勧めケースまで総解説

                        メリット1:システムを止めずに業務継続を可能にする複製元(稼働系)から複製先(待機系)にリアルタイムにデータを複製することで、稼働系にシステム障害が起こっても、待機系へ切替えることで復旧が可能となり、ダウンタイム(システムが停止している時間)を最小限に抑えられます。 メリット2:システムへの負荷分散ができる例えば、データベースの規模が大きかったり、アクセス頻度が高いといった場合、サーバーに過度の負荷がかかり、処理ができずサーバーがダウンする可能性がありますが、複製側のサーバーを参照用にしたり、データ解析用途では複製側のサーバーで処理を行うなど、アクセスを分散させることによって負荷を軽減し、全体のパフォーマンスを向上させることができます。 メリット3:サーバー移行の時間短縮になるサーバーの移行でも、できるだけ業務を止めずに簡単に済ませたいものです。レプリケーションを利用することで、システムを

                          レプリケーションとは、仕組み~3つのお勧めケースまで総解説
                        • PostgreSQL15の最新機能を解説してみる

                          スターフェスティバル株式会社 の バックエンドエンジニアの @ikkitang です。 上記の自己紹介にもありますが、私はプライベートで日本PostgreSQLユーザー会の理事をやっていて、その活動の一貫として先日の 2022-10-01(土)に行われたOpen Source Conference 2022 Online/Hiroshimaで最新バージョンのPostgreSQL15の最新機能について発表してきました。 スライドは公開しておりますので、以下を見て頂く事で全てを完全に理解していただけるかもしれませんが、解説しながらまとめたいと思います。 PostgreSQLのリリースサイクル PostgreSQLはPostgreSQL開発コミュニティというユーザーグループ主導で開発されています。 毎年9~10月にメジャーバージョンをリリースしておりまして、今年はPostgreSQL15のリリー

                            PostgreSQL15の最新機能を解説してみる
                          • BigQueryへMySQLやPostgreSQLから直接ニアリアルタイムでレプリケーション可能に。「Datastream for BigQuery」登場

                            BigQueryへMySQLやPostgreSQLから直接ニアリアルタイムでレプリケーション可能に。「Datastream for BigQuery」登場 Google Cloudは、BigQueryに対してMySQLやPostgreSQL、Oracle Databaseからニアリアルタイムで直接データのレプリケーションを可能にする新サービス「Datastream for BigQuery」をプレビューリリースしました。 オンプレミスやクラウドで稼働するMySQLやPostgreSQL、Oracle DatabaseでのOLTPによるデータ操作が、ETLツールなどを挟むことなくほぼリアルタイムでBigQueryに反映されるため、プライマリとなるデータベースのOLTP処理に負荷をかけることなく並行してBigQueryによる大規模データの分析処理が容易になります。 To stay compet

                              BigQueryへMySQLやPostgreSQLから直接ニアリアルタイムでレプリケーション可能に。「Datastream for BigQuery」登場
                            • サービスを停止せずにデータベースリファクタリングする - Pepabo Tech Portal

                              2022年7月13日にカラーミーショップで提供開始した「副管理者機能」のアップデートにあたって、従前の挙動を変えずにデータベーススキーマの構造を変える必要がありました。また、サービスの提供を停止することなく、スキーマの構造の変更を進める必要がありました。 この記事では、サービスを停止せずにデータベースの構造を徐々に変更するデータベースリファクタリングをどのように進めたかについて紹介します。 「データベースリファクタリング」とは データベースリファクタリングについて体系的に述べた書籍として"Refactoring Databases"があります。この本では、データベースリファクタリングのさまざまなパターンにおいて、スキーマの変更、データマイグレーション(既存データの移行)、アプリケーションの変更それぞれをどのように進めるべきかについて解説しています。ここでは、"Refactoring Dat

                                サービスを停止せずにデータベースリファクタリングする - Pepabo Tech Portal
                              • Redis互換で25倍高速とする「Dragonfly」が登場。2022年の最新技術でインメモリデータストアを実装

                                Redis互換で25倍高速とする「Dragonfly」が登場。2022年の最新技術でインメモリデータストアを実装 Redisやmemcachedに代表されるインメモリデータストアは、高速なデータアクセスを要求される場面で使われています。 このインメモリデータストアを2022年の最新技術を用いて設計、実装することで、Redis/memcached互換を実現しつつRedisの25倍高速とする「Dragonfly」が登場しています(開発元のアナウンス、GitHub)。 Redisやmemcachedが登場した十数年前と比べて、現在ではCPUのマルチコア化やI/Oの高速化、メモリの大容量化など、ハードウェア技術が大きく進化しています。 これらを最大限活用する設計と実装を取り入れることでRedisやmemcachedよりも大幅な高速化と高効率化を目指したのがDragonflyです。 採用した主な技術

                                  Redis互換で25倍高速とする「Dragonfly」が登場。2022年の最新技術でインメモリデータストアを実装
                                • MySQL | DB容量、テーブル容量の確認方法 - わくわくBank

                                  DBを運用していると「DB全体で何MB利用しているのだろう?」「各テーブルごとに何MB利用しているのだろう?」といったことを確認する必要がでてきます。ここでは、容量を確認する方法について紹介します。 SELECT table_schema, floor(SUM(data_length + index_length) / 1024 / 1024) AS ALL_MB, floor(SUM((data_length) / 1024 / 1024)) AS DATA_MB, floor(SUM((index_length) / 1024 / 1024)) AS INDEX_MB FROM information_schema.tables GROUP BY table_schema ORDER BY sum(data_length + index_length) DESC; mysql> SEL

                                    MySQL | DB容量、テーブル容量の確認方法 - わくわくBank
                                  • MySQLの壊れたInnoDBファイル(.ibd)からのデータサルベージ / Restore corrupted (broken) InnoDB data from .ibd file - 雑な hinananoha

                                    この記事の対象 この記事は、MySQL Serverが突然の死を迎えた上に、以下のような重症症状が出た方向けの記事です。 MySQLサーバが以下のようなエラーを吐いて起動に失敗する 2022-06-16T11:30:47.188361Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started. 11:30:48 UTC - mysqld got signal 11 ; Most likely, you have hit a bug, but this error can also be caused by malfunctioning hardware. Thread pointer: 0x0 Attempting backtrace. You can use the following information t

                                      MySQLの壊れたInnoDBファイル(.ibd)からのデータサルベージ / Restore corrupted (broken) InnoDB data from .ibd file - 雑な hinananoha
                                    • Genericsを使いミスを防ぐSQL Builder「GenORM」

                                      Go 1.18がリリースされましたね。 Go 1.18の新機能の中で最も注目を集めている機能はやはりジェネリクスだと思います。 そのジェネリクスを使用してSQLに関するミスをできる限りコンパイルの段階で防ぐことを目指すSQL Builder「GenORM」を作ったので、この記事ではその紹介をしていきます。 リポジトリ: https://github.com/mazrean/genorm ドキュメント: https://mazrean.github.io/genorm-docs/ja/ コード例 仕組みの説明の前に、GenORMのコード例を見ていただきたいと思います。 今回は以下のようなテーブルを使用します。 CREATE TABLE `users` ( `id` char(36) NOT NULL, `name` varchar(64) NOT NULL, `password` char(

                                        Genericsを使いミスを防ぐSQL Builder「GenORM」
                                      • UTF-8のテーブル(MySQL5.6)に竈門禰󠄀豆子が格納できない問題を調べてみた - Qiita

                                        竈門禰󠄀豆子をMySQL5.6のテーブルにinsertしようとすると正しく格納できず、竈門禰となってしまうケースがあるという話を聞き、調べてみました。 実践 まずは試しにやってみます。 mysql> show create table verification\G *************************** 1. row *************************** Table: verification Create Table: CREATE TABLE `verification` ( `name` varchar(100) COLLATE utf8_bin DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin 1 row in set (0.01 sec) mysql> inse

                                          UTF-8のテーブル(MySQL5.6)に竈門禰󠄀豆子が格納できない問題を調べてみた - Qiita
                                        • データベースとストレージのレプリケーション入門 / Intro-of-database-and-storage-replication

                                          社内で若者向けに作ったデータベースとストレージの入門資料です

                                            データベースとストレージのレプリケーション入門 / Intro-of-database-and-storage-replication
                                          • マルチスレッドレプリカにおける運用時の注意点について

                                            はじめに 2021 年 10 月 19 日に MySQL 8.0.27 がリリース されました。非同期レプリケーションにおける変更点の 1 つとして、デフォルトでマルチスレッドレプリカが有効になり、レプリカの遅延を軽減しやすくなることが期待できるようになりました。 Replication: Multithreading is now enabled by default for replica servers. A multithreaded applier has a number of applier threads that execute transactions in parallel. This behavior can avoid many cases of unwanted replication lag that can cause temporary divergenc

                                              マルチスレッドレプリカにおける運用時の注意点について
                                            • [MySQL] 断片化した InnoDB テーブルを最適化する

                                              MySQL の InnoDB では、断片化(フラグメンテーション)という現象が発生する。 フラグメンテーションが発生すると、クエリ処理が遅くなったり、サーバーの容量をたくさん使い問題が起こる。フラグメンテーションを解消するには最適化をおこなう。 断片化についてと最適化の方法に関するメモ。 断片化(フラグメンテーション)とは 断片化とは、ディスク上のインデックスページの物理的な順序がページ上のレコードのインデックス順序とかけ離れているか、またはインデックスに割り当てられた 64 ページのブロック内に未使用のページが多数存在することを示します。 MySQL 5.6 リファレンスマニュアル – 14.10.4 テーブルのデフラグ DB で DELETE クエリを実行すると、すぐに物理的な削除は行われない。削除フラグ的なのがつけられる論理削除となる。 なので、このレコードがあった場所には穴が空いた

                                                [MySQL] 断片化した InnoDB テーブルを最適化する
                                              • Making Aurora Write Latency 15x Higher (or More!) by Choosing a Bad Primary Key

                                                Primary Key design is an important thing for InnoDB performance, and choosing a poor PK definition will have an impact on performance and also write propagation in databases. When this comes to Aurora, this impact is even worse than you may notice. In short, we consider a poor definition of a Primary Key in InnoDB as “anything but quasi sequential values”, which may cause very random access to dat

                                                  Making Aurora Write Latency 15x Higher (or More!) by Choosing a Bad Primary Key
                                                • [アップデート] インターネットトラフィックのパフォーマンスが最大60%向上!Amazon S3 マルチリージョンアクセスポイントの紹介 | DevelopersIO

                                                  [アップデート] インターネットトラフィックのパフォーマンスが最大60%向上!Amazon S3 マルチリージョンアクセスポイントの紹介 アップデートからしばらく時間が経ってしまいましたが、先日リリースされた Amazon S3 Multi-Region Access Point についてご紹介します。 Amazon S3 Multi-Region Access Point が、レプリケートされたデータセットへのアクセスを最大 60% 加速 S3 Multi-Region Access Point グローバル展開されるアプリケーションやリージョン障害を考慮したアーキテクチャを設計する際に、S3 のクロスリージョンレプリケーション(CRR)は広く採用されている方法です。 しかしながら CRR で複数リージョンのバケットにオブジェクトを配置できたとしても、最短のレイテンシでアクセスするためにど

                                                    [アップデート] インターネットトラフィックのパフォーマンスが最大60%向上!Amazon S3 マルチリージョンアクセスポイントの紹介 | DevelopersIO
                                                  • MySQLでプライマリキーをUUIDにする前に知っておいて欲しいこと | Raccoon Tech Blog [株式会社ラクーンホールディングス 技術戦略部ブログ]

                                                    株式会社ラクーンホールディングスのエンジニア/デザイナーから技術情報をはじめ、世の中のためになることや社内のことなどを発信してます。 bashパフォーマンスMySQLInnoDBDB設計インデックス こんにちは、羽山です。 今回は MySQL のプライマリキーに UUID を採用する場合に起きるパフォーマンスの問題を仕組みから解説します。 MySQL(InnoDB) & UUID のパフォーマンスについては各所でさんざん議論・検証されていますが、論理的に解説した記事が少なかったり一部には誤解を招くようなものもあるため、しっかりと理由から理解するための情報として役立つことができればと思っています。 UUID と比較される古き良き昇順/降順のプライマリキーはというと、 MySQL の InnoDB において良いパフォーマンスを出すために縁の下の力持ちのような働きをしてくれているケースが実は少な

                                                      MySQLでプライマリキーをUUIDにする前に知っておいて欲しいこと | Raccoon Tech Blog [株式会社ラクーンホールディングス 技術戦略部ブログ]
                                                    • InnoDBのMVCCのガベージコレクションについて - shallowな暮らし

                                                      こんにちは、shallow1729:detailです。今回は先日MyNA会というイベントで発表したMySQLの標準のストレージエンジンであるInnoDBのMVCCのガベージコレクションについて書こうと思います。発表自体もアーカイブされているので以下から見る事ができます。 「日本MySQLユーザ会会(MyNA会) 2021年07月 -下位レイヤ勉強会-」 公開版 - YouTube まず前半ではMVCCに関連するデータ構造を見ながらガベージコレクションの重要性やlong-running transactionの問題点について解説します。後半では実際のガベージコレクション(purge)の処理をソースコードレベルで追いながら、ユーザーに提供されているパラメーターを解説をします。 これまでに比べると踏み込んだ話題なのであまり基礎的な事は解説しません。知らない単語が多いかもしれないですが、適宜調べな

                                                        InnoDBのMVCCのガベージコレクションについて - shallowな暮らし
                                                      • Amazon RDS移行のための 性能検証でわかった2つのこと

                                                        日本MySQLユーザ会(MyNA会) 2021年07月 -下位レイヤ勉強会- での発表資料です。

                                                          Amazon RDS移行のための 性能検証でわかった2つのこと
                                                        • プライマリーキー(primary key)はシーケンシャルな値で良いと思うよ - 角待ちは対空

                                                          zenn.dev を読んでの感想です。「シーケンスナンバーをPKにする」以外の項目については言及しませんが、言及しないことは正当性や妥当性を保証していることにはならないです。 InnoDB(MySQL)を想定してます。が、原理は割と一般的なので他のDBでも適用できることが多いと思います。 追記:一般的とは分散でないような"普通の"RDBMSを想定してましたが、分散システム(distributed systemないしreplicated system)のような場合では話が違います。 なぜシーケンシャルな値がよいか 端的にいうと書き込み操作時にバッファープール(baffuer pool)に読み混む必要のあるページが少なくて済むからです。その結果書き込み操作時にバッファープールにページが存在する可能性が高くレイテンシー的に有利になる可能性が高いです。 バッファープール、ページ、btreeなど具体

                                                            プライマリーキー(primary key)はシーケンシャルな値で良いと思うよ - 角待ちは対空
                                                          • Amazon RDS Online Seminar 「忘れちゃいけない!Amazon RDS/Amazon Aurora のアップグレードとその方法」資料・動画及び QA 公開 | Amazon Web Services

                                                            Amazon Web Services ブログ Amazon RDS Online Seminar 「忘れちゃいけない!Amazon RDS/Amazon Aurora のアップグレードとその方法」資料・動画及び QA 公開 先日(2021/6/17) に開催した Amazon RDS Online Seminar「忘れちゃいけない!Amazon RDS/Amazon Aurora のアップグレードとその方法」の資料・動画を公開しました。 当日、参加者の皆様には数多くの QA を頂きありがとうございました。頂いた QA の一部についても共有しております。 【動画】 Amazon RDS/Aurora Update RDS for PostgreSQL/Aurora PostgreSQL upgrade (major/minor version up) RDS for MySQL/Auror

                                                              Amazon RDS Online Seminar 「忘れちゃいけない!Amazon RDS/Amazon Aurora のアップグレードとその方法」資料・動画及び QA 公開 | Amazon Web Services
                                                            • MySQL で使用するメモリサイズの見積もり - 元RX-7乗りの適当な日々

                                                              最近、MySQLのパラメータの調整をする機会があったのですが、特定のパラメータを変更した際に、メモリの消費量にどう影響するのか、というのを調査する際に、インターネッツを彷徨ったところ、サイトによって書いてあることにバラつきがあったので、自分でもまとめてみることにした。 結論から書くと、参考にしたのは以下のオライリーの書籍「MySQLトラブルシューティング」で、記述が一番わかりやすく書かれていた。 このエントリは、この書籍の 「3.9.3 オプションの安全値を計算する」 にて記載がある内容をまとめたものになる。 MySQLトラブルシューティング 作者:Sveta SmirnovaオライリージャパンAmazon 著者について Sveta Smirnova(スヴェータ・スミルノヴァ): Oracle社MySQLサポートグループ・バグ検証グループの主席テクニカルサポートエンジニアとして毎日MySQ

                                                                MySQL で使用するメモリサイズの見積もり - 元RX-7乗りの適当な日々
                                                              • MOCO - Kubernetes 用 MySQL クラスタ運用ソフトウェア - Cybozu Inside Out | サイボウズエンジニアのブログ

                                                                サイボウズの Kubernetes 基盤を開発している Neco プロジェクトの ymmt です。 サイボウズ製品のほとんどはデータベースとして MySQL を採用しています。 現在 400 を越える MySQL のインスタンスを運用しており、これら全てを新しい Kubernetes 基盤に移行していく予定です。 Kubernetes 上でアプリケーションやミドルウェアの運用を自動化するソフトウェアのことをオペレーターと言います。 大量の MySQL インスタンスを Kubernetes 基盤に移行するにはオペレーターが必須であると考え、技術顧問の @yoku0825 さんの監修の下で MOCO というソフトウェアを開発しオープンソースライセンスで公開しました。 本記事では Kubernetes 上の MySQL オペレーターの状況と、開発した MOCO の機能を詳細に解説いたします。 M

                                                                  MOCO - Kubernetes 用 MySQL クラスタ運用ソフトウェア - Cybozu Inside Out | サイボウズエンジニアのブログ
                                                                • MySQL 8.0 への移行が完了しました ~さようなら全ての MySQL 5.7~ - Cybozu Inside Out | サイボウズエンジニアのブログ

                                                                  こんにちは。クラウド運用チームの飯塚です。 私たちは cybozu.com 本番環境の MySQL を昨年末から順次 8.0 系へアップグレードしており、前回の定期メンテナンスにおいて全てのインスタンスのアップグレードを完了しました。この記事では、私たちが MySQL 8.0 への移行に取り組んだ理由と必要になった対応について紹介します。 なぜ MySQL 8.0 へ移行したのか GTID-based レプリケーションにおける制限の緩和 再起動時に AUTO_INCREMENT のカウンタが巻き戻る問題の解消 実際に対応が必要だった MySQL 8.0 の変更点 utf8mb4 の照合順序のデフォルト値の変更 SQL_CALC_FOUND_ROWS と FOUND_ROWS() が deprecated に Connector/J のメタデータ取得処理の性能低下 sys.innodb_lo

                                                                    MySQL 8.0 への移行が完了しました ~さようなら全ての MySQL 5.7~ - Cybozu Inside Out | サイボウズエンジニアのブログ
                                                                  • MySQLとインデックスと私

                                                                    2021/05/24 サイボウズ開運研修 動画が以下のサイトからリンクされています - https://blog.cybozu.io/entry/2021/07/20/100000 - これに矢印を書きながらぐりぐりやっていたわけなので、資料単体だとわかりづらいと思います…

                                                                      MySQLとインデックスと私
                                                                    • 実例で学ぶ MySQL/MariaDB デバッグ - nayuta-yanagisawa's blog

                                                                      この記事では、MySQL/MariaDB のバグを修正するための典型的な手順を、具体例を通して解説する。次の MariaDB のバグを例として取り上げるが、基本的なデバッグの手順は MySQL でもまったく同様である。 MDEV-24868: Server crashes in optimize_schema_tables_memory_usage after select from information_schema.innodb_sys_columns なお、MySQL/MariaDB のデバッグ方法についての包括的な解説を与えるのは、この記事のスコープ外である。デバッグ手法の詳細を知りたい場合は、以下の一連の記事を参照してほしい。 Debugging MySQL/MariaDB (1): Build and Test Debugging MySQL/MariaDB (2): DBU

                                                                        実例で学ぶ MySQL/MariaDB デバッグ - nayuta-yanagisawa's blog
                                                                      • MVCCとInnoDBでの実装について - shallowな暮らし

                                                                        こんにちは。id:shallow1729です。先日はredo logを中心にストレージエンジンについて解説を行いましたが、今回は同時実行制御、特にMySQLなど多くのデータベースで採用されているMultiversion Concurrency Control(MVCC)という技術にフォーカスしようと思います。 今回の記事ではまず前半でMVCCというものがどういうものかについて解説をして、次にMVCCの実装方法についてInnoDBの実装を参考にしながら見ていこうと思います。前提知識はあまりいらないと思いますが、リレーショナルデータベースの操作経験はあったほうがいいかなと思います。また、前回のストレージエンジンの解説で述べた内容はあまり説明しないので、軽く目を通してもらえると頭に入りやすいかなと思います。 shallow1729.hatenablog.com トランザクションの原子性 まずトラ

                                                                          MVCCとInnoDBでの実装について - shallowな暮らし
                                                                        • Aurora MySQLからCloud SQLへのレプリケーション構築における注意すべき2つのポイント - ZOZO TECH BLOG

                                                                          こんにちは、MA部でエンジニアをしている田島です。 以前に弊社の塩崎が「Amazon AuroraのデータをリアルタイムにGoogle BigQueryに連携してみた」という発表を行いました。 こちらの発表では、Amazon Aurora MySQLのデータをGoogle BigQueryへリアルタイムにデータ連携する方法を紹介しています。リアルタイムデータ連携を実現するために、Aurora MySQLをレプリケーションソースとしてGoogle Cloud SQLへレプリケーションします。そして、BigQueryのFederated Query機能を利用してリアルタイムにデータを参照できるようにしています。 本記事ではその中の、Aurora MySQLからCloud SQLへのレプリケーション部分にフォーカスします。Aurora MySQLがマネージドサービスだからこそ発生する大きな注意ポ

                                                                            Aurora MySQLからCloud SQLへのレプリケーション構築における注意すべき2つのポイント - ZOZO TECH BLOG
                                                                          • MySQLの新製品「HeatWave」はInnoDBの最大400倍高速、テラバイト級を超える大規模データを分析可能なインメモリデータベース。スクエニやSCSKがその性能を検証[PR]

                                                                            しかもHeatWaveはスケールアウトによる規模拡大が可能で、テラバイト級からそれを超える大規模データにも対応。 Oracle Cloud Infrastructureの備えるオーバーヘッドの小さなベアメタルサーバやネットワークを基盤としたスケールアウト機能により、サーバ台数とともにプロセッサコア数が増えても、ほぼリニアな性能向上を実現しています。 さらに、実行されたクエリと実行時間を学習データとして蓄積されていくため、HeatWave自身がインメモリデータベースにおけるデータの最適な配置を学習し、提案する機能も新たに備えるようになりました。 SQLを判別、最適なデータベースエンジンへ自動投入 この強力なデータ分析機能を、通常のMySQLとの違いをほとんど意識することなく利用できるのも、HeatWaveのもう1つの大きな特長でしょう。 HeatWaveはInnoDBとHeatWaveのデー

                                                                              MySQLの新製品「HeatWave」はInnoDBの最大400倍高速、テラバイト級を超える大規模データを分析可能なインメモリデータベース。スクエニやSCSKがその性能を検証[PR]
                                                                            • CData Sync の無償版ライセンスで、Salesforce やkintone を含む全データソースの利用が可能に! - CData Software Blog

                                                                              こんにちは、テクニカルサポートエンジニアの宮本(@miyamon44)です。 CData Sync 無料版 の Starter ライセンスではこれまで対象となるコネクタがかなり限定されていましたが、なんと全データソースをご利用いただけるようになりました! 全データソースなので、もちろん Salesforce や kintone、BigQuery など、Standardライセンスや Proffesional ライセンスでしか使用できなかったコネクタも使えるようになります。 とは言え Starter ライセンスでのご利用制限などもありますので、そういったところを本記事ではご紹介していきます。 ちなみに今回ご紹介する CData Sync は下記リンクからダウンロードできます。 www.cdata.com ライセンス料は? 対象コネクタは? レプリケーション件数の制限は? 差分更新はできる? S

                                                                                CData Sync の無償版ライセンスで、Salesforce やkintone を含む全データソースの利用が可能に! - CData Software Blog
                                                                              • ストレージエンジンの話 ~InnoDBのredo logをざっくり理解する~ - shallowな暮らし

                                                                                こんにちは。id:shallow1729です。最近Database Reliability Engineerというお仕事を始めたのでデータベースの勉強をしたりMySQLのソースコードを読んだりしています。仕事でMySQLが標準で用いているInnoDBのソースコードを読む機会があったのでなんかアウトプットしたいなと思いつついきなりコアな話するのもなって思ったのでざっくりとストレージエンジンの話をしようかなと思います。とはいえストレージエンジンは本当にいろいろな仕事をしていて全部を書こうとするとものすごい事になりそうだった(+僕も分かってない部分が多い)ので、とりあえず第一回はredo logというやつを中心にストレージエンジンを追っていこうと思います。なるべく一般的なデータベースの設計の話を軸に置きつつInnoDBの場合の話もしていこうと思います。読者としてはMySQLのようなリレーショナル

                                                                                  ストレージエンジンの話 ~InnoDBのredo logをざっくり理解する~ - shallowな暮らし
                                                                                • データベースリライアビリティエンジニアリング

                                                                                  テクノロジーの進化に合わせて、データベースもまた進化しています。従来のパフォーマンス、スケーラビリティが重要なことはもちろん、今日ではセキュリティ、インフラのコード化、CI/CD、クラウド活用といったタスクにも取り組んでいかなければなりません。 データベースの本質は、長期的に安定していること。つまりリライアビリティ(信頼性)です。時代とともにアーキテクチャやツールが変わってもこの原則は変わりません。本書はデータベースのリライアビリティを実現するための考え方を「データベースリライアビリティエンジニアリング」と定義して、その具体的な手法を紹介します。 はじめにDBREの基本概念を解説し、サービスレベルの定義と測定、リスク評価と管理、オペレーションの可視化に進みます。そして、データベースを取り巻くインフラストラクチャの構成管理と自動化、バックアップとリカバリ、リリースマネジメント、セキュリティ、

                                                                                    データベースリライアビリティエンジニアリング