並び順

ブックマーク数

期間指定

  • から
  • まで

361 - 400 件 / 551件

新着順 人気順

innodbの検索結果361 - 400 件 / 551件

  • 最近の MySQL の Internal Temporary Table 動作まとめ (version 8.0.28 版) - mita2 database life

    8.0 のGA以降、Internal Temporary Table まわりは改良が重ねられきました・・・ ネットの記事では既に古い内容になってしまっているものもあり、改めて最新の挙動を確認して整理してみました*1。 なお、MySQL 8.0 の Internal Temporary Table の動作は @kentarokitagawa さんの以下の記事も詳しいです。 こちらの記事を読んでから本エントリーを読むとより理解しやすいでしょう。 gihyo.jp Internal Temporary Table MySQL は、ORDER BY や UNION を含むクエリを処理するため、内部的に一時的なテーブル(Internal Temporary Table) を作成します。 Internal Temporary Table はクエリの実行が終わると、自動的に削除されます。 Interna

      最近の MySQL の Internal Temporary Table 動作まとめ (version 8.0.28 版) - mita2 database life
    • MySQL :: InnoDB Data Locking - Part 1 "Introduction"

      In this blog series, I’d like to introduce you gently to the topic on which I was working last 2 years, which is improving how InnoDB locks data (tables and rows) in order to provide illusion to clients that their queries are executed one after another, while in reality there is a lot of concurrency. I hope to start from a simplified view of the situation and challenges, and gradually introduce mo

      • MySQL 5.7からMySQL 8.0へのバージョンアップ - MySQLを継続してお使いいただくために

        2015年10月にリリースされたMySQL 5.7はJSONデータ型やマルチソースレプリケーションなどの新機能が追加されたほか、InnoDBのバッファプールサイズのオンラインでの変更や全文検索のサポート、運用関連ではsyslogやDTraceのサポートなど多数の改良が行われたバージョンでした。2023年10月にマイナーバージョンや新規パッチがリリースされなくなるSustaining Supportのフェーズに移行します。 このウェビナーでは改めてMySQL 5.7からMySQL 8.0へのバージョンアップ手順や注意点などを解説します。

          MySQL 5.7からMySQL 8.0へのバージョンアップ - MySQLを継続してお使いいただくために
        • カーディナリティが低いINDEXのお掃除をしました - コネヒト開発者ブログ

          こんにちは!サーバーサイドエンジニアをやっている @otukutun です。 最近slow query起因のレイテンシアラートが発生していてRDB(MySQL)が不安定になってしまう事象が発生し、それはカーディナリティが低いINDEXが使われたことが原因で発生していました。今回は、その対応としてカーディナリティが低いINDEXのお掃除を行ったのでそれについて書きたいと思います。 なぜカーディナリティが低いINDEXを削除したのか? 一般的にカーディナリティが低いINDEXの弊害などはいろんな方が言われていますが、 効果が低いのでSELECTの性能向上にはつながらない INSERT時にINDEXの更新がされるのでINDEX数が多いほどINSERTが遅くなる(USE THE INDEX, LUKE「インデックスを作れば作るほど、INSERTが遅くなる」より引用) などがあると思っております。詳

            カーディナリティが低いINDEXのお掃除をしました - コネヒト開発者ブログ
          • AWSの各データベースサービスのバックアップ種類をまとめてみる | DevelopersIO

            最近DynamoDBのバックアップについて色々と試していたのですが、 最近マネージドデータベースのサービスが増えてきたのでついでに調べてまとめようと思います。 対象のサービスは、 RDS DynamoDB ElastiCache Neptune Amazon Redshift Amazon QLDB Amazon DocumentDB Managed Cassandra Service です。 ※ mysqldumpなどのコマンドを使ったバックアップではなく、マネージドサービスのバックアップ機能に関しての記載です RDS DBインスタンスのストレージボリュームのスナップショットを作成し、個々のデータベースだけではなく、そのDBインスタンス全体をバックアップ 自動バックアップ バックアップウィンドウ中に自動的にバックアップを作成 指定したバックアップ保持期間に従ってバックアップを保存 バック

              AWSの各データベースサービスのバックアップ種類をまとめてみる | DevelopersIO
            • RDBMS_Genealogy_V6

              BAY AREA PARK CODD RIVER RELATIONAL CREEK CODD RIVER BAY AREA PARK 1970s 1980s 1990s 2000s 2010s DABA (Robotron, TU Dresden) v1, 1992 v1.0, 1987 v4.0, 1990 v10, 1993 v1, 1987 v2, 1989 v3, 2011 v11.5, 1996 v11.9, 1998 v12.0, 1999 v12.5, 2001 v12.5.1, 2003 v15.0, 2005 v16.0, 2012 v1, 1989 v2, 1993 v1.0, 1980s v5.x, 1970s v6.0, 1986 OpenIngres 2.0, 1997 vR3, 2004 v1, 1995 v6, 1997 v7, 2000 v8, 2005 v

              • MySQL徹底入門第4版からの差分 - tmtms のメモ

                2020年7月に出た「MySQL徹底入門 第4版」という本は MySQL 8.0.20 をベースとしてたんですが、ご存知の通り MySQL 8.0 はパッチリリースでどんどん機能が追加されてったりするんで、同じ 8.0 でも最新版とは機能の差分が出てしまってます。 ということで、自分が執筆した分について、8.0.23 までで変わった分についてまとめてみます。 5.1 アカウントの作成と権限の付与 8.0.21 から CREATE USER と ALTER USER 時に COMMENT と ATTRIBUTE でコメントや属性を付与できるようになりました。 5.2 アカウント識別 クライアントから接続した場合は、ワイルドカードを含まない接続元が一致するもの、その後ワイルドカードを含むもの、そして最後に空文字のアカウントの順に検索されます。つまり 192.168.1.0/255.255.25

                  MySQL徹底入門第4版からの差分 - tmtms のメモ
                • 第55回 MySQLのド定番機能 レプリケーションの構築運用に新風、PostgreSQLの活用事例セミナー報告とバージョンアップ情報 | gihyo.jp

                  OSSデータベース取り取り時報 第55回MySQLのド定番機能 レプリケーションの構築運用に新風、PostgreSQLの活用事例セミナー報告とバージョンアップ情報 この連載では、OSSコンソーシアム データベース部会のメンバーが、さまざまなオープンソースデータベースの毎月の出来事をお伝えしています。 オープンソースカンファレンス(OSC)東京での「多様性時代のDB選択」の開催中止 今回の「取り取り時報」では、オープンソースカンファレンス2020 Tokyo/SpringでのOSSデータベース特集トラック、「⁠多様性時代のDB選択」の詳しい報告をする予定でしたが、新型コロナウイルスへの警戒が続く中、開催中止となりました。開催できなかったことはもちろん残念なことですが、参加者や関係者の健康と安全に配慮いただいて難しいご判断をされた実行委員会と事務局に敬意を表します。さて、OSSデータベースの発

                    第55回 MySQLのド定番機能 レプリケーションの構築運用に新風、PostgreSQLの活用事例セミナー報告とバージョンアップ情報 | gihyo.jp
                  • Cloud SQL で private IP を付与する際に気をつけたいこと - Zeals TECH BLOG

                    こんにちは、分析基盤を担当しながらインフラも面倒見ている鍵本です。 本日は Cloud SQL に private IP を付与して失敗 した話をします。 背景 必ず事前にやっておくべきこと 実際に確認した事例 対処方法 まとめ 最後に 背景 Zealsは、LINEおよびFacebook Messenger上で動作するチャットボットサービスで、WebのForm体験をチャット上で完結させることができます。この Zeals のアーキテクチャは『進化し続ける「Zeals」サービスを支えるアーキテクチャについて』でご紹介しているとおりで、データベースサーバとして Cloud SQL を利用しております。 tech.zeals.co.jp 具体的には、アプリケーションからは Cloud SQL Proxy を通して接続しています。Zeals がサービスとして成長するにあたり、アプリケーションが動いて

                      Cloud SQL で private IP を付与する際に気をつけたいこと - Zeals TECH BLOG
                    • CTF Cloud 問題の攻撃手法まとめ(2022年版) - blog of morioka12

                      1. はじめに こんにちは、morioka12 です。 本稿では、CTFtime のイベントに記載されている2022年に開催された CTF のイベントで、Cloud に関する問題をピックアップして攻撃手法やセキュリティ視点での特徴について紹介します。 また、昨年の2021年版は以下で紹介していますので、良ければこちらもご覧ください。 昨年のブログでは、各サービスにセキュリティ的な視点で紹介しましたが、今回は説明が重複するため、各問題に焦点を当てて大まかに紹介します。 scgajge12.hatenablog.com 1. はじめに 1.1 調査対象 2. Cloud 環境におけるセキュリティ視点 2.1 脆弱性攻撃によるクレデンシャルの取得 Amazon EC2 AWS Lambda 2.2 設定不備やハードコーディングによるクレデンシャルの取得 Amazon S3 Amazon RDS

                        CTF Cloud 問題の攻撃手法まとめ(2022年版) - blog of morioka12
                      • InnoDBデータベースでmysqldumpする時は、single-transactionとskip-lock-tablesのオプションをつけよう | Masyus Work

                        MySQLでInnoDBのデータベースをダンプしようとした時の話。 mysqldump -uhogehoge -pfugafuga -h masyus.work > dump.sql シンプルに書くとこんな感じのコマンドになるかと思うが、実はちょっとしたLOCKの罠があったので解説してみる。検証したMySQLバージョンは5.7.26、データベースはInnoDBを使用。 暗黙で--lock-tablesが有効になっている もっと細かく言うと、 --opt というオプションがデフォルトで有効になっている。--optは複数のオプションを一括で有効にするオプションで、詳細は端折るがその複数のオプションの中の1つが--lock-tablesというわけだ。 参考) https://dev.mysql.com/doc/refman/5.7/en/mysqldump.html#option_mysqldu

                          InnoDBデータベースでmysqldumpする時は、single-transactionとskip-lock-tablesのオプションをつけよう | Masyus Work
                        • MySQLで使用しているメモリが徐々に増え続けているので調べたメモ - 地方エンジニアの学習日記

                          MySQL 5.7を使っているシステムで週単位で徐々にメモリ使用量が増え続けているという現象に遭遇したのでこれなんでだろうと思って調べてみたメモ MySQLのメモリ管理 dev.mysql.com MySQLがどのようにメモリを使用しているかの話。innodb_buffer_pool_sizeにデータ載せて色々やるよという感じ。innodb_buffer_pool_sizeだけ気にしておけばよいかと思いきやkey_buffer_size、 tokudb_cache_size、 query_cache_size、 table_cache、 table_open_cacheについても考える必要があるらしい。innodb_buffer_poolとは別のところでメモリの確保/開放が行われる領域がある。ちなみにinnodb_buffer_pool_sizeは起動時に領域を確保するとのことなのでVSZ

                            MySQLで使用しているメモリが徐々に増え続けているので調べたメモ - 地方エンジニアの学習日記
                          • [Announcement] (DEPRECATED) Amazon Relational Database Service (RDS) for MySQL 5.6 End-of-Life date is August 3, 2021

                            [Announcement] (DEPRECATED) Amazon Relational Database Service (RDS) for MySQL 5.6 End-of-Life date is August 3, 2021 This is an outdated announcement. Please refer to the latest RDS for MySQL 5.6 end-of-life timeline here: https://forums.aws.amazon.com/ann.jspa?annID=8790 NOTE: This notice does not apply to Amazon Aurora clusters. Amazon RDS is starting the end of life (EOL) process for MySQL maj

                              [Announcement] (DEPRECATED) Amazon Relational Database Service (RDS) for MySQL 5.6 End-of-Life date is August 3, 2021
                            • 2024/03/19(火)の出来事 - My Bookmark

                              「日中文化交流」と書いてオタ活動と読む : 中国オタク「日本の男性向けラノベで『ヒロイン無し』を売りにする作品はあるの?日本のネット小説を見てもあまり無いように感じるんだけど……」 日銀が大規模緩和解除へ、19日決定 長短金利操作も撤廃 - 日本経済新聞 『クリミア・ハン国 歴史・国家・社会』まえがきに代えて|Pençdiraht [その36]放課後ひみつクラブ - 福島鉄平 | 少年ジャンプ+ [拷問224]姫様“拷問”の時間です - 春原ロビンソン/ひらけい | 少年ジャンプ+ https://www.mizuho-rt.co.jp/company/brand/pdf/kaiketsu.pdf 「どんなに売れてもバイトは辞めない」——芸人・みなみかわさんの“芸能界にしがみつかない”仕事論 | タイミーラボ - スキマで働く、世界が広がる。 「万博運営側は説明責任を」 プリツカー賞の山本

                              • 第163回 sysbench 1.0を使ってMySQLの負荷テストをする | gihyo.jp

                                今回はsysbench 1.0を使ってMySQLの負荷テストする方法を紹介したいと思います。 第26回 SysBenchを使ってMySQLの負荷テストをする でsysbenchについてはすでに紹介していますので、sysbenchの概要などはこちらの記事をご参照ください。以前の記事ではsysbenchのバージョンは0.4.12であり、最新のsysbenchはオプションやコマンドなどが若干異なっています。そのため、以前の記事のアップデート版として最新のsysbenchで負荷テストする方法を紹介します。 インストール方法 各OSごとのインストール方法はInstalling from Binary Packagesをご参照ください。今回はCentOS7にsysbenchをインストールしてみます。 # curl -s https://packagecloud.io/install/repositor

                                  第163回 sysbench 1.0を使ってMySQLの負荷テストをする | gihyo.jp
                                • Upgrading MySQL at Shopify

                                  Opens in a new windowOpens an external siteOpens an external site in a new window In early September 2021, we retired our last Shopify database virtual machine (VM) that was running Percona Server 5.7.21, marking the complete cutover to 5.7.32. In this post, I’ll share how the Database Platform team performed the most recent MySQL upgrade at Shopify. I’ll talk about some of the roadblocks we encou

                                    Upgrading MySQL at Shopify
                                  • ブラウザ上から使えるDB Playgroundの「DB Fiddle」が便利 - モヒカンメモ

                                    登録不要・インストールなし、ブラウザ上から手軽に使えるDB Playgroundサービスの「DB Fiddle」が便利だったので紹介する。 www.db-fiddle.com DB Fiddle - SQL Database Playground 時折、SQLの仕様について確認したりクエリを他者へ共有したいことがある。 そのためにデータベースを起動させたりするのも面倒なので、ブラウザ上からパパっとクエリ書いて済ませられる「DB Fiddle」というWebサービスが便利。有料プランもあるが、基本的には無料で使える。 登録不要、アプリのインストールもなしでブラウザ上から使え、スキーマとクエリを書いてその場で実行できる。 保存すれば共有URLが発行されるので他者への共有も簡単。 共有URL: https://www.db-fiddle.com/f/aU9qwQsGaaKZMLq82EyhH6/0

                                      ブラウザ上から使えるDB Playgroundの「DB Fiddle」が便利 - モヒカンメモ
                                    • 主要RDBMS製品の比較 – 同時実行制御, トランザクション分離レベル | コーソルDatabaseエンジニアのBlog

                                      Microsoft SQL ServerMySQLOracle DatabasePostgreSQL主要RDBMS製品の比較 2022.09.22 渡部 亮太 主要RDBMS製品の比較 – 同時実行制御, トランザクション分離レベル Oracle ACE Proの渡部です。 主要なRDBMS製品を比較します。 大枠を整理することが最大の目的です。細かい例外事項や拡張機能は適宜記載を割愛しています。 2022年9月時点の最新バージョンをベースに記載していますが、記載内容にバージョン依存は少ないはずです。 時間ができた時に随時追記予定です。 もし誤りを見つけた場合は、優しく教えていただけると嬉しいです。→ https://twitter.com/wrcsus4 or ryota.watabe at cosol dot jp 「主要RDBMS製品の比較」ページ一覧 アーキテクチャ, スキーマ,

                                      • Ubuntu 18.04 に Redmine 4.0.1 をインストール | 雑廉堂の雑記帳

                                        Ubuntu 18.04 に Redmine 4.0.1 をインストール投稿者: zaturendo 投稿日: 2019年4月30日2019年4月30日 Ubuntu 18.04 で運用しているサーバーに、プロジェクト管理ツール、Redmine をインストールしたのでその覚書です。 「RubyとRuby on RailsをRbenvでインストール(システムワイド編) 」の続きになります。 この記事を書いてずいぶん寝かしてしまっていたので、以下の記述は Redmine 4.0.1 に関するインストールになります1。 なお、いつものことですが、この記事はあくまでも個人の備忘録ですので、参考にされる場合は自己責任でお願いします。 これまで、Redmine 3.2 を利用していたのですが、サーバー移行するのでバージョンアップしてみました。 記事は、原則として新規にインストールすることを前提として書

                                          Ubuntu 18.04 に Redmine 4.0.1 をインストール | 雑廉堂の雑記帳
                                        • MySQLのファイルフォーマットをAntelopeからBarracudaに変更する

                                          InnoDBとは MySQLのデータベースエンジンの一つ。他のデータベースエンジンにはMyISAMがある。MyISAMのロックがテーブル単位なのに対して、InnoDBのロックはレコード単位。レコードの操作を行う際にテーブル全体をロックするとテーブルの他のレコードも変更できなくなるが、行単位のロックであれば同時に複数のレコードを変更できるため、効率が良い。他にもトランザクションにも違いがあるようなので、別途まとめる。 InnoDBのファイルフォーマット AntelopeとBarracudaがある。デフォルトはAntelopeだが、推奨はBarracudaとなっている。 何も考えずにデータベースを作成するとファイルフォーマットはAntelopeになってしまう。4バイト文字をデータベースに保存しようとしてエンコーディングをutf8mb4にすると、Index column size too lar

                                            MySQLのファイルフォーマットをAntelopeからBarracudaに変更する
                                          • MySQL Query Performance Troubleshooting: Resource-Based Approach

                                            When I speak about MySQL performance troubleshooting (or frankly any other database), I tend to speak about four primary resources which typically end up being a bottleneck and limiting system performance: CPU, Memory, Disk, and Network. It would be great if when seeing what resource is a bottleneck, we could also easily see what queries contribute the most to its usage and optimize or eliminate t

                                              MySQL Query Performance Troubleshooting: Resource-Based Approach
                                            • 【SQL入門】DISTINCTで重複行をまとめる方法をわかりやすく解説 | 侍エンジニアブログ

                                              DISTINCTとは DISTINCTとは、SELECT文の実行結果の重複レコード(データ行)を1つにまとめるための便利な構文です。 例えば、従業員テーブルに「姓、名」の項目があるとして、同姓同名が複数行ある場合にDISTINCTを使うと次のように1レコードになります。 そんなDISTINCTの使い方を次項で解説していきます! DISTINCTの使い方 DISTINCTの構文はSELECT文の後に追加して、次のように記述します。 従業員テーブルの「姓(last_name)」を検索する例について、DISTINCTを使わない場合と使う場合の2つを比較したサンプルコードを確認してみましょう。 サンプルデータの作成: CREATE TABLE sample1_employees ( no int NOT NULL, -- 従業員番号 last_name varchar(255), -- 名 fir

                                                【SQL入門】DISTINCTで重複行をまとめる方法をわかりやすく解説 | 侍エンジニアブログ
                                              • builderscon 2019-08-30(1日目) アウトラインメモ

                                                builderscon 2019-08-30に参加してきたのでアウトラインメモ。 ブロックチェーン時代の認証 - builderscon tokyo 2019 スライド: ブロックチェーン時代の認証 / Authentication in the Blockchain Era - Speaker Deck ブロックチェーンのゲーム開発してる ブロックチェーンとウェブ認証 ガードナーによるとブロックチェーンは幻滅期に入った ブロックチェーンゲーム ブロックチェーン技術を使ったゲーム ブロックチェーン上にアイテムやキャラクタの所有情報を記録する デジタルアセットが運営からの貸与じゃなくて、ユーザーの所有になる 通過 量を扱う単位 デジタルアセット モノに近い概念をデジタル上に再現している mch.gg ブロックチェーンゲーム MyCryptoHeroes ブロックチェーンのEthereumを利

                                                  builderscon 2019-08-30(1日目) アウトラインメモ
                                                • 今日は、RDBの良くない設計にするとどうなるのかの日。 - 今日はなにの日。

                                                  初めに この記事は、MySQL Advent Calendar 2021のカレンダー | Advent Calendar 2021 - Qiitaのエントリーです。 ↓2021年12月12日は、@tmtms さんの記事です。 ruby-mysql - tmtms のメモ 目次 初めに 目次 とある日 良い設計とは? 悪い設計の定義 今回使用するテーブル 各テーブルのデータ 各テーブルデータ件数 テーブル合体編 設計 データ挿入 集約結果 hello_worldsテーブル設計 hello_worldsテーブルデータ hello_worldsテーブル件数 データ検索編 東京都の Population(人口) を取得する 日本の Region(地域) と Population(人口) を取得する 街の数が多い上位10件 まとめ 〆 とある日 「良いクエリは正しい知識と設計に宿る」という言葉を皆さ

                                                    今日は、RDBの良くない設計にするとどうなるのかの日。 - 今日はなにの日。
                                                  • Clickhouseの採用経緯と運用フローについて - SO Technologies 開発者ブログ

                                                    こんにちは、ATOM事業本部のプロダクト開発グループの松尾です。 広告媒体からのデータ取得処理や集計前の加工処理などを中心にバックエンドエンジニアとして開発を行ってきました。 最近は新レポートや進捗管理機能の開発を行っています。 ATOMのリニューアル版では、新レポートや進捗管理機能の媒体データの実績値の集計をclickhouseというデータベースを採用しております。 長らく苦戦し続けていましたが運用が安定してきたので、採用経緯から苦戦してきた過程について、簡単にご紹介させていただければと思います。 採用経緯について mysqlから集計処理を切り出したいと思った際に、1つの候補として挙がるのではないしょうか? 実際に調査をしてみると、select, insertが圧倒的に早い!!となるはずです。 そして、扱うデータ量が多くなればなるほどに、mysqlとの集計処理の性能差に驚くはずです。 同

                                                      Clickhouseの採用経緯と運用フローについて - SO Technologies 開発者ブログ
                                                    • MySQLのMVCCとトランザクション内における集計について

                                                      この記事は何? トランザクション分離レベルがRead CommittedなときのMVCCの挙動とトランザクション内における集計で学びがあったので忘備録として共有します。 そもそも、MVCCとは? MVCC(Multi-Version Concurrency Control)は、各トランザクションに一意なバージョンを付与する技術です。データへの同時アクセスが行われた際、各トランザクションが独自のデータバージョンを持つことで、データへの競合を回避させ、並列処理を実現します。このアプローチにより、読み取りと書き込みの操作が相互にブロックされず、システム全体の効率とパフォーマンスが向上します。 Read Committedのトランザクション分離レベルにおけるMVCCの特性は、トランザクション内でデータを読み取る際、そのトランザクションが開始された時点でのコミット済みのデータのみを参照できることです

                                                        MySQLのMVCCとトランザクション内における集計について
                                                      • 第145回 InnoDBの行ロック状態を確認する[その1] | gihyo.jp

                                                        MySQL(InnoDB)をデフォルトのトランザクション分離レベルのRepeatable-Readで運用していると、ワークロードによってはデッドロックが頻繁に発生して頭を悩ますことがあると思います。解決策としては、デッドロックを引き起こしている原因のSQLがどのような行ロックを取得したか確認して、デッドロックが起こらないようにSQLを修正します。 このほか、行ロックの待機が大量に発生して高負荷になり、サービスに影響が出てしまうこともあると思います。 今回は、そういったときに便利な「InnoDBの行ロック状態を確認する方法」を紹介したいと思います。実行環境にはMySQL 8.0.23を使用しています。 MySQL 8.0での調査方法 まずは、MySQL 8.0から追加されたperformance_schemaのテーブルを使って、あるSQLがどのような行ロックを取得しているか確認する方法を紹介

                                                          第145回 InnoDBの行ロック状態を確認する[その1] | gihyo.jp
                                                        • 【MySQL(InnoDB)】ギャップロックによるデッドロックの調査 - ROXX開発者ブログ

                                                          この記事は個人ブログと同じ内容です zenn.dev はじめに 業務でデッドロックが発生し、原因がわからずに時間を費やしてしまいました。そこで、今回はその原因と解決方法について調査した結果を備忘録としてまとめたいと思います。 状況 実際のテーブルやアプリケーションコードを直接お見せするわけにはいかないので、簡易テーブルを用意して、SQLにて当時の状況を再現してみたいと思います。 テーブル内容 CREATE TABLE users ( id INTEGER PRIMARY KEY AUTO_INCREMENT, name VARCHAR(255) ); CREATE TABLE rooms ( id INTEGER PRIMARY KEY AUTO_INCREMENT ); CREATE TABLE entries ( id INTEGER PRIMARY KEY AUTO_INCREMEN

                                                            【MySQL(InnoDB)】ギャップロックによるデッドロックの調査 - ROXX開発者ブログ
                                                          • Mackerel で RDS を監視するときによく使われるメトリック - Mackerel お知らせ #mackerelio

                                                            はてなで Mackerel を開発している id:wtatsuru です。 この記事は Mackerel Advent Calendar 2022 の25日目の記事です。前日は id:tukaelu の Mackerelのカスタムダッシュボードにアラートの一覧を表示する でした。こういうちょっとしたハックで解決する手法、私は大好きです。 本記事では、Mackerel を使って Amazon RDS を監視する際にどのメトリックが使われているのか、その背景と共に紹介しています。 AWSインテグレーションと Amazon RDS の紹介 よく使われるメトリックたち CPU利用率 メモリ利用量 ストレージの空き状況 データベースへの接続数 レプリカの遅延 クエリの処理時間 デッドロックの発生 まとめ AWSインテグレーションと Amazon RDS の紹介 AWSインテグレーションを用いると、A

                                                              Mackerel で RDS を監視するときによく使われるメトリック - Mackerel お知らせ #mackerelio
                                                            • MySQL 用 Amazon RDS による高いレプリカラグのトラブルを解決します

                                                              短い説明 Amazon RDS for MySQL は非同期レプリケーションを使用します。つまり、レプリカがプライマリ DB インスタンスに追いつけない場合があります。その結果、レプリケーションの遅延が発生する可能性があります。 レプリケーションラグを監視するには、Amazon RDS for MySQL リードレプリカとバイナリログファイルの位置ベースのレプリケーションを使用します。 Amazon CloudWatch で、Amazon RDS の ReplicaLag メトリックを確認してください。ReplicaLag メトリックは、SHOW SLAVE STATUS コマンドの [Seconds_Behind_Master] フィールドの値を報告します。 [Seconds_Behind_Master] フィールドには、レプリカ DB インスタンスの現在のタイムスタンプの違いが表示され

                                                                MySQL 用 Amazon RDS による高いレプリカラグのトラブルを解決します
                                                              • MySQLの全テーブルを最適化(OPTIMIZE TABLE)する

                                                                パッケージソフトの開発会社や、業務系システムの開発会社にいた頃はデータベースといえばSQL ServerやOracleでした。 独立してからはオープンソース化の流れとライセンスの都合上でPostgreSQLを触る機会が多くなりましたが、MySQLを本格的に触り始めたのはわりと最近になります。MariaDBで興味を持ったのがきっかけですね。 Webサイトで使うデータベースを決めたら、まずメンテナンス用のスクリプトを組むのですが、はて、MySQLの場合はvacuumコマンド※がないのかな、と不思議に思いました。 PostgreSQLもバージョンアップによってvacuumしなくて良くなった!と聞いたときには、え、そんなバカな、と思いつつも一応調べてみるとauto vacuumできるようになったというだけでしたし。 MySQLのInnoDBは追記型データベースではないと言ってもメンテナンスコマンド

                                                                  MySQLの全テーブルを最適化(OPTIMIZE TABLE)する
                                                                • MySQLでカラム追加などのalter table中にクエリがブロックされるかなどについてのメモ - だいたいよくわからないブログ

                                                                  これは何 MySQLのカラム追加などのDDL, alter table時にそれぞれの操作がどれくらい危険なのか、負荷は?といった情報の見方を毎回忘れるのでメモしたもの まとめ 表を見なくても ALTER TABLE の末尾に ALGORITHM=INPLACE,LOCK=NONE; をつけてしまえば、動作を決められる(不可能な場合はエラーになる)ので、それで実験してみるとよい 公式document に詳細に記載があるのでそれを見ると良い。 ただし必ずしもその表通りになるわけではないため表の下に記載されている注意書きをよく読む必要がある。 例えば varcharのサイズ変更 = Extending VARCHAR column size は表内では INPLACE=yes と記載されているが length を 255 から 256 に拡張する場合は ALGORITHM=COPY しか利用でき

                                                                    MySQLでカラム追加などのalter table中にクエリがブロックされるかなどについてのメモ - だいたいよくわからないブログ
                                                                  • rbs_rails & steep で型のある Rails 開発を体験しよう - stmn tech blog

                                                                    こんにちは。スタメンの河井です。 RubyKaigi Takeout 2020 が楽しみですね。 Ruby 3.0 から型定義 & 型検査ができるようになると言われていますが、今の段階でもそれに関連した gem は公開されています。 今回は型のある Rails 開発を体験してみようということで、RBS・rbs_rails・Steep の3つの gem を紹介しようと思います。 RBS とは RBS とは、 Ruby プログラムの構造を記述するための言語です。 Ruby のソースコード(.rb ファイル)とは別にファイル(.rbs)を用意して型定義を記述していきます。 たとえば # message.rbs class Message def reply: (from: User | Bot, string: String) -> Message end という定義では Message クラス

                                                                      rbs_rails & steep で型のある Rails 開発を体験しよう - stmn tech blog
                                                                    • MySQLの歴史が面白い - Qiita

                                                                      まえがき MySQLの歴史をまとめました。 若干関係ない話題も書いてるかもしれませんが読んでいただけると幸いです。 (初投稿なので温かい目でみてください。。。) TL;DR (1995年) Michael WideniusらによってMySQLが開発される。 (2001年) 開発会社MySQL ABのCEOがMårten Gustaf Mickosに変わり、MySQLがオープンソース化される。 (2008年) MySQLがサンマイクロシステムズによって買収される。 (2009年) Michael Widenius「こんなバグまみれのバージョン(5.1)リリースするなら抜けます」 「生みの親」Michael WideniusがサンマイクロシステムズのMySQL開発チームを脱退。 →Michael Wideniusが独立した会社でMariaDBをリリース。 (ちなみに「My」はWidenius氏

                                                                        MySQLの歴史が面白い - Qiita
                                                                      • Databases in 2023: A Year in Review | OtterTune

                                                                        I am starting this new year the same way I ended the last: taking antibiotics because my biological daughter brought home a nasty sinus bug from Carnegie Mellon’s preschool. This was after my first wife betrayed me and gave me COVID. Nevertheless, it is time for my annual screed on last year’s major database happenings and trends since a lot has happened. My goal is to keep my trenchant opinions f

                                                                          Databases in 2023: A Year in Review | OtterTune
                                                                        • Debezium Usecases in Tabelog - Tabelog Tech Blog

                                                                          はじめに こんにちは。食べログシステム本部 技術部 マイクロサービス化チームの栗山です。 マイクロサービス化チームのミッションは「巨大なモノリシックサービスにおける開発の辛さを解消し、少人数のチームが自律的に意思決定しながら開発するためのシステム基盤を作る」です。2021年の Advent Calendar ではチームの成果として、食べログのレストラン検索インデックス同期システムを Change Data Capture (CDC) プロダクトの Debezium により改善した事例と、1 メッセージング基盤を Apache Kafka にリプレイスした事例を紹介しました。2 マイクロサービス化チームが提供するシステム基盤には例えば分散トレーシングのように特定の課題に特化したものもありますが、中には様々な課題に応用できる基礎技術的なものもあります。Change Data Capture (

                                                                            Debezium Usecases in Tabelog - Tabelog Tech Blog
                                                                          • 食べログネット予約における非同期メッセージ発行の設計パターン - Transactional Outbox のメリット - Tabelog Tech Blog

                                                                            この記事は 食べログアドベントカレンダー2023 の11日目の記事です🎅🎄 こんにちは。食べログシステム本部 技術部 マイクロサービス化チームの 栗山 です。マイクロサービス化チームは「巨大なモノリシックサービスにおける開発の辛さを解消し、少人数のチームが自律的に意思決定しながら開発するためのシステム基盤を作る」をミッションに活動しています。本記事は以前ご紹介した汎用性の高いマイクロサービス基盤技術 Change Data Capture の活用事例になります。 目次 食べログネット予約のがっかり体験 - 予約を取ろうとしたら既に席が埋まっていた メッセージ発行処理の設計パターン選定 二重書き込み(Dual Writes) 予約業務テーブルの Change Data Capture Outbox テーブルの Change Data Capture 各設計の特長まとめ まとめ 食べログネ

                                                                              食べログネット予約における非同期メッセージ発行の設計パターン - Transactional Outbox のメリット - Tabelog Tech Blog
                                                                            • 主キー制約とインデックスの話 - Qiita

                                                                              この記事は アイスタイル Advent Calendar 2022 2日目の記事です。 アイスタイルでDBAを担当している@suzukitoです。 今年のアドベントカレンダーは、主キー制約とインデックスの話にする事にしました。 過去の記事でDB関連のやつはこちらです。良かったら読んでみて下さい。 発端 アイスタイルのメインDBMSはSQL Serverなのですが、現在、DBMSの異機種移行に取り組んでいます。移行先は、MySQL互換の分散RDBMS TiDBです。 異機種移行なので、まずは、テーブル定義をSQL ServerからMySQLへ変換しなくてはなりません。 スキーマ変換自体はツールを使うのでそれほど難しくはありません。 面倒なのは、インデックスの統廃合です。 データベースは参照負荷分散を行っているため、1つのライターノードと、複数のリーダーノードに分かれているのですが、リーダーノ

                                                                                主キー制約とインデックスの話 - Qiita
                                                                              • Scala を利用した社内向けサービスの管理画面に Casbin を導入しました! - pixiv inside

                                                                                はじめましての方ははじめまして。21新卒エンジニアの Javakky です。 この度、社内向けサービスの管理画面に権限管理機能を実装するにあたり、 Casbin というアクセス制御ライブラリを利用しましたので導入までの流れをレポートしていきます。 Casbin とは Casbin とはオープンソースで開発されているアクセス制御ライブラリで、Go・Java・Node.js・PHPなどさまざまな言語で実装されています。 Casbin の行うアクセス制御は、 アクセス制御モデル と アクセス制御ポリシー の 2種類の設定からなります。 アクセス制御モデルとは主体 (ユーザー・権限など) と対象物 (ページなど) の対応について定めたルールのことです。Casbin では、 アクセス制御リスト (ACL) や ロールベースアクセス制御 (RBAC) 、 属性ベースのアクセス制御 (ABAC) などに

                                                                                  Scala を利用した社内向けサービスの管理画面に Casbin を導入しました! - pixiv inside
                                                                                • MySQLエラー調査: Table definition has changed, please retry transaction - shallowな暮らし

                                                                                  はじめに こんにちは、id:shallow1729です。小ネタですが、先日”ERROR 1412 (HY000): Table definition has changed, please retry transaction”というエラーに出会ったのでそれの調査をします。MySQL8.0.31をベースにします。 エラーの意味 まずエラーメッセージで調べると以下の公式ドキュメントが出てきました。 https://dev.mysql.com/doc/refman/8.0/en/innodb-consistent-read.html Consistent read does not work over ALTER TABLE operations that make a temporary copy of the original table and delete the original ta

                                                                                    MySQLエラー調査: Table definition has changed, please retry transaction - shallowな暮らし