並び順

ブックマーク数

期間指定

  • から
  • まで

121 - 160 件 / 556件

新着順 人気順

innodbの検索結果121 - 160 件 / 556件

  • ISUCON10予選で12位になり本選進出を決めました - Gマイナー志向

    TL;DR ISUCON10の本選出場が決定しました。わいわい。 予選12位、最終スコアは2837でした。 毎年素晴らしいコンテストを開催してくださる運営様には、本当に頭が下がります。いつもありがとうございます。 本選もがんばるぞ! 体制 チーム名 ウー馬場ーイーツ あいこん なまえ やくわり matsuu バリバリ実装する前衛 netmarkjp 司令塔 ishikawa84g SELinuxAppArmorとレギュレーションやコードやDiscordを見るセキュリティ&情報官 今回は3人が同じ場所に集まらずすべてリモート体制としました。 3人だけのDiscordサーバを用意し、Discord上で画面共有と音声チャットで進めています。 方針 毎年同じですが sshで接続してtmux上でvimで直接編集 isuumo配下でgit initを実行するが履歴保存用でbranchは作成しない 毎年

      ISUCON10予選で12位になり本選進出を決めました - Gマイナー志向
    • Puma の内部構造やアーキテクチャを追う

      Extended outer memory module for my poor native memory. Posts: 2022/02/13 クラビスの CTO になりました 2020/09/28 gendoc という YAML からドキュメントを生成するコマンドを作った 2020/09/13 ISUCON10 の予選を 7 位で通過した 2019/12/01 Puma の内部構造やアーキテクチャを追う 2019/05/27 Golang の正規表現ライブラリの処理の流れをざっくり掴む 2019/04/29 InnoDB の B+Tree Index について 2019/04/29 InnoDB における index page のデータ構造 2019/04/28 InnoDB はどうやってファイルにデータを保持するのか 2019/01/06 Designing Data-Intens

      • ISUCON12予選問題をdocker-composeで起動する - Magnolia Tech

        説明のために手順を確認したので、その覚書。 作業環境にリポジトリを用意する github.com $ git clone git@github.com:isucon/isucon12-qualify.git Dockerをインストールする www.docker.com 値上げが最近話題になりましたが、個人利用は無料です。 www.docker.com 次回はRancher Desktopを試してみます。 rancherdesktop.io docker-compose.ymlを書き換える 一箇所だけ書き換えないと、起動しません。 Docker Hubから「mysql/mysql-server:8.0.29」のイメージが無くなっていて、MySQLが起動できません。8.0.30以降のバージョンを指定しましょう(無くなった理由は探せませんでした...)。 2022/11/06追記 mysql-s

          ISUCON12予選問題をdocker-composeで起動する - Magnolia Tech
        • LINEマンガのデータベースをシャーディングしました (データベースエンジニア編)

          LINE株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。 LINEヤフー Tech Blog はじめに こんにちは、データベース室の小田です。 今回はLINEマンガのデータベースをシャーディングした作業について、サーバエンジニア編とデータベースエンジニア編に分けてご紹介したいと思います。 本エントリでは、シャーディングに至った経緯、データベースエンジニア側で検討したことについて書いていこうと思います。 シャーディングに至った経緯 サービスを引継ぐ 前段として少し昔の話をします。私がLINEマンガの担当データベースエンジニアとなったのは、2018年2月中旬のことでした。 LINEマンガのサービス開始が、2013年4月9日だということですので、ちょうど5周年を迎える直前ですね。前任者からは、いいタイミングだからということで

            LINEマンガのデータベースをシャーディングしました (データベースエンジニア編)
          • MySQL 8.0 vs 外部キー制約 vs ALTER TABLEでメタデータロック待ちになったら疑うこと

            TL;DR MySQL 8.0(細かくは8.0.4っぽい)とそれ以降は「外部キー制約を持っているテーブルにSELECTするとそのテーブルの親テーブルにもメタデータロック(MDL)を置くようになった」 MDLであるがゆえに foreign_key_checks をOFFにしようが 無効化はできない MySQL :: WL#6049: Meta-data locking for FOREIGN KEY tables WL#6049 “Meta-data locking for FOREIGN KEY tables” and WL#11059 · mysql/mysql-server@6626f76 これ以降にもいくつかコミットが続いている 論より証拠。 サンプルスキーマはこんなかんじ。 CREATE TABLE `item` ( `item_id` int NOT NULL, `registe

              MySQL 8.0 vs 外部キー制約 vs ALTER TABLEでメタデータロック待ちになったら疑うこと
            • Ansible AWXでMySQLの構成管理を行う - MicroAd Developers Blog

              マイクロアドでインフラエンジニアをやっている長田です。おもにMySQLなどのDBA業務に携わっていますが、今回はAnsible AWXを用いてMySQLのユーザやパラメータといった構成の管理を導入したことについてお話したいと思います。 Ansible / Ansible AWXとは ご存知の方も多くおられると思いますが、AnsibleとはRed Hat社が主導して開発されているオープンソースの自動化・構成管理ツールです。最新バージョンは2019/05/16にリリースされたv2.8で、現在も様々なミドルウェア・クラウド・ネットワーク機器に対応する機能が精力的に開発されています。 Ansible AWXとはRed Hat社が有償で提供しているAnsible Towerのアップストリーム版にあたるOSSであり、AnsibleをWeb GUI上もしくはAPIによって操作することができます。プレイブ

                Ansible AWXでMySQLの構成管理を行う - MicroAd Developers Blog
              • crowdworks.jpのマスタデータベースをAWS RDS MySQL 5.7から8.0にアップデートしました - クラウドワークス エンジニアブログ

                こんにちは。crowdworks.jp SREチームの田中(kangaechu)です。 crowdworks.jpでは、2023年8月にAWS RDS MySQL 5.7から8.0へのアップデートが完了しました(ようやく!)。 今回はMySQL 8.0へのアップデートの手順と対応が必要な変更点について書いていきます。 MySQL 8.0にアップデートした理由 MySQL 8.0にアップデートした理由はAWS RDS MySQLのEOL対応のためです。 AWS RDS MySQL 5.7のEOLは2023年10月(のちに2023年12月に変更されました)であり、8.0へのアップデートが必要でした。 crowdworks.jpで使用している他のMySQLデータベースは8.0へのバージョンアップを完了していました。 しかしcrowdworks.jpのマスタデータベースは30億行を保持し、1日に約

                  crowdworks.jpのマスタデータベースをAWS RDS MySQL 5.7から8.0にアップデートしました - クラウドワークス エンジニアブログ
                • mysqlsh (MySQL Shell): Dump and Restore in AWS Aurora - LayerX エンジニアブログ

                  LayerX インボイス を開発しているDX事業部の @yyoshiki41(中川佳希)です。 DX事業部ではデータベースとして MySQL(Amazon Aurora)を利用しています。 今回のブログは、mysqlsh (MySQL Shell) を用いて、Dumpデータ取得とリストアを行う際に気をつける点です。 mysqldump, mysqlpump Dumpデータ取得を行う際に、広く知られているのが mysqldump かと思います。 MySQL 5.7.8 からは、 mysqlpump という別のクライアントツールも提供されるようになりました。 主に下記のような特徴があります。 並列での処理が行われる(Parallel) Dump Progress がみれる 圧縮方式は、LZ4 と ZLIB が使用可能(mysqlpump Ver 1.0.0 Distrib 5.7.35) TA

                    mysqlsh (MySQL Shell): Dump and Restore in AWS Aurora - LayerX エンジニアブログ
                  • ISUCON10予選に参加しました

                    こんにちは。飲食領域でテックリードをしている浅野です。 業務外ではあるのですが、9/12に開催されたISUCON10予選に参加させてもらっていました。 結果は初歩的なミスにより予選落ちとなってしまったのですが、一応参考スコアとしてはトップを記録していたので参考までにやったことの共有と、今後同じようなミスをするチームが出てこないよう啓蒙を兼ねて記事にさせていただきます。 やらかしの部分だけ知りたい方は結果まで飛ばしてください。 ISUCONについて Iikanjini Speed Up Contest の略で、LINE社主催で開催されているWebアプリケーションのチューニングを競うコンテストです。 業界ではもはや説明不要と言っても良いレベルで認知されているイベントですが、今年は予選が1日開催となり参加枠に制限が設けられる中で数日で枠が埋まるなど、今の時勢の中でも衰えない盛り上がりと人気の高さ

                      ISUCON10予選に参加しました
                    • ISUCON12予選にシン・ウー馬場ーイー2として参加し、2位で予選突破しました - Gマイナー志向

                      TL;DR ISUCON12予選にシン・ウー馬場ーイー2 として出場しました。 結果、予選2位で本選出場をきめました。やったね。 最終スコアは75800、予選中のベストスコアは76525でした。本選もがんばるぞ! 毎年素晴らしいコンテストを開催してくださる運営様には感謝しかありません。本当にありがとうございます!!1 体制 あいこん なまえ やくわり ペアプロ matsuu バリバリ実装する前衛 ドライバー netmarkjp 司令塔+ベンチ実行+結果解析 ナビゲーター ishikawa84g セキュリティ+情報官+動作確認 AppArmor、マニュアルや公式アナウンスの把握、ブラウザでの挙動確認 ナビゲーター 今年も3人が別々の場所からリモート参加です。 コミュニケーションはDiscordを使ってます。3人それぞれの画面を共有しながら音声チャットつなぎっぱなしです。 手元の環境 どうでも

                        ISUCON12予選にシン・ウー馬場ーイー2として参加し、2位で予選突破しました - Gマイナー志向
                      • 意外と知らないMySQLの落とし穴ーDELETEする際の注意点

                        なぜDELETEしてもディスク容量は空かないのか一度取得した領域はDELETEしても再利用するために保持しておくためです。 どうしてもディスク容量を空ける必要がある場合は テーブルを最適化する際に使うOPTIMIZE TABLEを実行する 「OPTIMIZE TABLE テーブル名」で実行できますALTER TABLEでテーブルを作り変えるALTER TABLEはテーブルの作り替えです 実行中はテーブルロックがかかります 「ALTER TABLE テーブル名 ENGINE INNODB」で実行できますDELETEのみ実行した場合(PTIMIZE TABLE/ALTER TABLEしない場合)、ディスク容量面でのメリットはないのかDELETEした領域は、再度使われるタイミング(INSERTしたタイミング)で再利用されるため、ディスク容量の減りは緩やかになるメリットはあります。 DELETEす

                          意外と知らないMySQLの落とし穴ーDELETEする際の注意点
                        • 第153回 mysqlpumpを使ってバックアップを取ってみる | gihyo.jp

                          皆さんはMySQLからデータを論理バックアップする際にどんなコマンドを使っているでしょうか? 5.7より前のバージョンを利用していた場合は、第15回 mysqldumpを使ってバックアップするや第62回 MySQLのクライアントプログラムいろいろ[その2]で紹介したmysqldumpを使用していることが多いのではないかなとは思います。 今回は、MySQL 5.7.8から導入されたmysqlpump(誤字じゃないです)について紹介してきます。 検証環境 今回は、第125回 phpMyAdminでDockerで建てたMySQLにアクセスするで記載したdocker-composeを利用して作成します。手元で簡単に試せるように、GitHubのわたしのレポジトリにサンプルコードとして置いてあるので、気軽に試したい方はgit cloneして試してみてください。試すにはdockerとdocker-com

                            第153回 mysqlpumpを使ってバックアップを取ってみる | gihyo.jp
                          • MySQL Shellで診断データを収集する

                            はじめに MySQL Shell 8.0.29からutil.debug.collectDiagnostics() を使用して、MySQL Serverから診断データを収集できるようになりました。 本記事ではこちらの機能紹介を行います。なお、本記事で使用しているMySQL Server及び、MySQL Shellのバージョンは8.0.30となります。 機能紹介 要件 util.debug.collectDiagnostics() を使用する際の要件と制限は以下となります。 MySQL5.7以降であること rootで実行すること 使用方法 オプションを使用せずに実行する場合は、以下のようにzipファイル名のみを指定します。 例: util.debug.collectDiagnostics("test") なお、ファイル名ではなくディレクトリを指定した場合は、指定したディレクトリにmysql-d

                              MySQL Shellで診断データを収集する
                            • AWS上で分散インメモリDB「MySQL HeatWave」、オラクルが提供開始。Amazon AuroraとRedshiftの競合に

                              AWS上で分散インメモリDB「MySQL HeatWave」、オラクルが提供開始。Amazon AuroraとRedshiftの競合に オラクルは、AWS上でMySQLベースの分散インメモリデータベース「MySQL HeatWave」をマネージドサービスとして提供を開始したと発表しました(日本オラクルのプレスリリース)。 [Press Release] Oracle Announces MySQL HeatWave on AWS. Transaction processing Real-time analytics Machine learning#AWS users can run it all in one service with @MySQL Read more:https://t.co/ustPKBJTPC pic.twitter.com/N47dNjumdZ — MySQL (

                                AWS上で分散インメモリDB「MySQL HeatWave」、オラクルが提供開始。Amazon AuroraとRedshiftの競合に
                              • Amazon Aurora 移行大全 #1 - Retty Tech Blog

                                今年もはじまりました Retty Advent Calendar 2019 ! 初日を担当いたします技術部の西村です。 さて私は 2 回に分けて 『Amazon Aurora 移行大全』 という内容で書いていきます。 ※ Amazon Aurora については Amazon Aurora をご参照ください。 ※ 以降 Aurora と記載 移行対象環境の説明 移行の経緯 事前調査/検証 コスト調査 テーブルスキーマ変更調査 MyISAM から InnoDB への変換 COMPRESSED から DYNAMIC への変換 カスタムエンドポイント調査 性能検証 移行準備 参考資料 2 回にわたる内容は下記を予定してます。 移行対象環境の説明 移行の経緯 事前調査/検証 移行準備 並行運用 メンテナンス作業 移行を終えて 初回は 「移行準備」 まで触れて終わりにします。 ちなみに Aurora

                                  Amazon Aurora 移行大全 #1 - Retty Tech Blog
                                • 弘法も筆の誤り、あるいは、DBバックアップのリストアテストはしたほうが良い話

                                  この記事は、:christmas_tree:GMOペパボエンジニア Advent Calendar 2023 の20日目の記事です。 先日、ニッチなバグに遭遇したので、そのことについて書こうと思います。 発端 私が所属しているチームには、以下のような GitHub Actions を利用したワークフローが存在します。(簡略化しています。) チェックアウト。 リポジトリ管理下にあるダンプファイルを mysql:8-debian イメージで起動しているコンテナの MySQL にリストア。 MySQL を利用してギョーミー1な処理を行い、結果を取得。この際、データベースの内容も更新される。 mysqldump コマンドでデータベースのダンプファイルを取得。 ダンプファイル含め、成果物をコミット。 その他あれこれして終了。 上記のとおり、データベースサーバを恒常的に用意するのではなく、ダンプファイ

                                    弘法も筆の誤り、あるいは、DBバックアップのリストアテストはしたほうが良い話
                                  • MySQL のロック範囲は実行計画で変わるという話 - mita2 database life

                                    最近、ANDPADでデータベース周りの技術顧問をさせて頂いています。ANDPADのエンジニアの皆さんから「データベースのロックまわりを詳しく知りたい!」というお話を受けて、先日、ロック周りの社内勉強会を開催しました。 SQLでは一般的なプログラミング言語と違って、ロックの制御を明示的に記述しません。ロックは暗黙的に(自動的に)データベースが必要なロックを獲得します。データベースのロックが わかりにくい・むずかしい と言われることが多いのはこういった背景があると思います。 MySQL のロック範囲は実行計画で変わる 更新対象の行がロックされるのは予測が付く方が多いと思います。 しかし、MySQL(InnoDB)では更新対象でなくても行がロックされることがあります。 このようなサンプルデータを使って説明します。 mysql> CREATE TABLE `lockt` ( -> `pk` big

                                      MySQL のロック範囲は実行計画で変わるという話 - mita2 database life
                                    • 予選敗退から学ぶISUCONの正しい歩き方 - そーだいなるらくがき帳

                                      34位でフィニッシュ。 isucon.net 棄権を合わせると予選突破に200イスコインちょっと足りなかった。 ハイスコアは9850だっただけにあと1つなにかできれば予選を突破できてたことになる。 当日の流れは id:sugyan さんが用意してくれてるのでそっちを読んでほしい。 memo.sugyan.com ここからはただただ、自分に対する反省をまとめる。 主な担当であるインフラについての反省 準備したつもりでも準備不足だった。 複数台構成、普段RDSやALBに甘えている弊害が出て、Nginxやアプリケーションの複数台構成のやり方を知っているが普段していないので詰まったって感じ。具体的にはMySQLに接続できなくて時間をかけた。 あとnginxのチューニング、特にルーティングで配信をまとめるみたいなところもかなり時間をかけてしまった。 普段、S3とCFにURLをすれば良いって感じで生き

                                        予選敗退から学ぶISUCONの正しい歩き方 - そーだいなるらくがき帳
                                      • MySQL勉強会〜ロックについて(基礎編)〜を開催しました! - ANDPAD Tech Blog

                                        はじめまして、ソフトウェアエンジニアの福間( fkmy )です。早いもので入社してから10ヶ月が経ちました。 普段は新規サービスのAPIをRailsで書いてます。リモートワークも数ヶ月目に入り自宅の開発環境が快適になってきました。先月はモニターアームを買いましたが出費がかさみますね。 さて、この記事は7/6(月)にANDPADのデータベースの技術顧問をして頂いてる三谷(@mita2)さんに発表してもらった開発部向けのMySQL勉強会(ロック基礎編)のレポートとなります。 今回は在宅勤務期間中のためオンライン開催となり、当日は16名が参加していました。 開催背景 社内からデータベースのロックについて勉強会をしたい!!というメンバーからの声があり開催となりました。 ※ブログで取り上げられてはいないのですが「MySQLのチューニング」についても1ヶ月前に実施しています。 内容 当日の資料はこちら

                                          MySQL勉強会〜ロックについて(基礎編)〜を開催しました! - ANDPAD Tech Blog
                                        • The problem with using a UUID primary key in MySQL — PlanetScale

                                          Universally Unique Identifiers, also known as UUIDs, are designed to allow developers to generate unique IDs in a way that guarantees uniqueness without knowledge of other systems. These are especially useful in a distributed architecture, where you have a number of systems and databases responsible for creating records. You might think that using UUIDs as a primary key in a database is a great id

                                            The problem with using a UUID primary key in MySQL — PlanetScale
                                          • Replication with Amazon Aurora MySQL - Amazon Aurora

                                            The Aurora MySQL replication features are key to the high availability and performance of your cluster. Aurora makes it easy to create or resize clusters with up to 15 Aurora Replicas. All the replicas work from the same underlying data. If some database instances go offline, others remain available to continue processing queries or to take over as the writer if needed. Aurora automatically spread

                                            • 第174回 MySQLのデータ暗号化いろいろ | gihyo.jp

                                              概要 これらの暗号化についての概要を簡単に説明したいと思います。 前提 暗号化関数以外のデータ暗号化方式は、事前にキーリングプラグインをインストールしておく必要があります。詳しくは6.4.4 MySQL キーリングをご確認ください。 MySQL設定ファイル(my.cnf)のパラメータearly-plugin-loadにkeyring_file.soを設定します。 early-plugin-load=keyring_file.so マスター暗号化キーとテーブルスペースキーで構成される2層暗号化キーアーキテクチャを使用します。アプリケーションがデータにアクセスする場合、マスター暗号化キーを使用してテーブルスペースキーを復号化します。そのため、マスター暗号化キーの管理が必要になります。マスター暗号化キーが失われた場合、暗号化されたファイルのデータはリカバリできなくなりますので、お気をつけください

                                                第174回 MySQLのデータ暗号化いろいろ | gihyo.jp
                                              • オラクル、MySQLにOLAP用の独自インメモリデータベースエンジンを搭載、「MySQL Analytics Engine」をOracle Cloud上で提供開始

                                                米オラクルは、Oracle Cloud上での新しいデータベースサービス「Oracle MySQL Database Service Analytics Engine」(以下、MySQL Analytics Engine)を発表しました。 オラクルは今年の9月に、最新のOracle Cloud基盤に最適化したMySQLのマネージドサービスとして「Oracle MySQL Database Service」を発表しています。 今回発表されたMySQL Analytics Engineは、このMySQL Database Serviceに大規模データ分析機能を追加するものです。 通常のデータベースエンジンであるInnoDBに対して最大で400倍高速にOLAPのクエリを実行できます。 具体的にはオラクルが独自に開発したカラム型の分散インメモリデータベースエンジンをMySQL Database Se

                                                  オラクル、MySQLにOLAP用の独自インメモリデータベースエンジンを搭載、「MySQL Analytics Engine」をOracle Cloud上で提供開始
                                                • 第167回 M1搭載MacのDockerでMySQLを動かしてみる | gihyo.jp

                                                  2020年11月に発表されたMacBook Airから搭載されているM1チップというCPUがあります。こちらは従来のMacに搭載されていたCPUがx86/64の命令セットとは異なり、ARMアーキテクチャを採用しているという違いがあります。発売から1年以上たち、インテル製のCPUを搭載したMacがラインナップから無くなったので、次もしMacを購入するとなるとM1チップ搭載のMacを購入することになります。 今回は、その際に問題が起こりがちなDockerでの開発環境の構築について、紹介していきたいと思います。 DockerでMySQLを動かしてみる まずは、dockerコマンドでMySQLを指定して動かしてみようと思います。 % docker run -p 3307:3306 -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:latest Unable

                                                    第167回 M1搭載MacのDockerでMySQLを動かしてみる | gihyo.jp
                                                  • ISUCON12予選通過しそうでした - maybe daily dev notes

                                                    ISUCON12予選に参加しました!結果、スコア自体は予選ボーダー通過していましたが追試で失格でした 😭😭😭 チームいすもなで参加 もなちゃんすまん… 通過した気満々で参加記事書いてましたが、供養のため投稿します。 なお過去にはISUCON9, 11に参加していずれも上位30~50%tileくらいに留まったので、今回はその反省も踏まえつつ準備しました。 今回の方針 Go使う 大きな変化はこれです。ISUCONで使う言語は実質RubyとGoの二択だと思ってます (他の言語はISUCON向けの情報が充実してない印象) が、これまでは業務でGoを使ったことがないのでRubyを選択してました。ただしRubyは以下のつらみが見過ごせませんでした: 諸々のツール (profilerなど) が古く使いづらい unicorn/pumaの設定などチューニング項目も増える 静的解析が弱いゆえにデプロイし

                                                      ISUCON12予選通過しそうでした - maybe daily dev notes
                                                    • ISUCON10 の振り返りと MySQL の generated columns - Techtouch Developers Blog

                                                      バックエンドエンジニアの misu です。最近は塩加減に苦戦しながら、スパイスからカレーを作っています。 この記事について ISUCON 10 の振り返り チーム構成 振り返り generated columns とは 参考 この記事について ISUCON 10 に出場し、予選敗退したのでその振り返りと次回のために MySQL の generated columns について調査したことが書かれています。 ISUCON 10 の振り返り チーム構成 弊社では、僕が ISUCON 出る人いませんか〜と募ったところ、6 人の戦士が手を上げてくれました。僕以外は全員初出場です。 7 人なので、得意な言語でこんなチーム分けになりました。 Go チーム 2 人セットが 2 チーム Node.js チーム 3 人 振り返り 僕は、Go で普段開発しているので、Go で挑んだのですが、社内 3 チームの

                                                        ISUCON10 の振り返りと MySQL の generated columns - Techtouch Developers Blog
                                                      • 利用状況から見るMackerelで人気のメトリックプラグイン トップ10 - Mackerel お知らせ #mackerelio

                                                        MackerelチームCREの吉田(id:syou6162)です。Mackerelの特徴の一つに豊富なプラグインの存在がありますが、たくさんあるがゆえに「どれを使うといいんだろう?」と迷われる方もいらっしゃるかと思います。また、「プラグインを導入後、ミドルウェアのメトリックが可視化できるようになった。しかし、どのメトリックを監視すればよいのだろうか?」と悩んでおられる方もいらっしゃるかと思います。 今日はそういった方に向けて Mackerelで利用数の多いメトリックプラグイン、トップ10 ホストメトリックの監視に使われている代表的なメトリックプラグインのメトリック を紹介しようと思います。 なお、Mackerelのプラグインは以下の3種類が存在していますが、今回はメトリックプラグインの利用状況についてのエントリとなります。 メトリックプラグイン ホストに紐付く統計量をカスタムメトリックとし

                                                          利用状況から見るMackerelで人気のメトリックプラグイン トップ10 - Mackerel お知らせ #mackerelio
                                                        • MySQL 8.1シリーズにおけるInnoDB Clusterとリードレプリカの融合(ただしMySQL Serverは8.0でOK)

                                                          MySQL本体の新機能ではないのだが、MySQL ShellとMySQL Routerのイノベーションリリース(バージョン8.1)によりInnoDB Clusterに対してリードレプリカを追加することができるようになったので、今回はそのことについて解説をしていこうと思う。 InnoDB Clusterとは このブログではInnoDB Clusterとは何かということをそもそもまだ解説していなかったように思う。詳しいことはおいおい別の投稿で触れたいと思うが、InnoDB ClusterというのはMySQL Serverのグループレプリケーションを核にしたクラスタリング機能のことだ。MySQL Shellを用いてかんたんに構築でき、なおかつMySQL Routerを介して接続することにより、インスタンス障害が生じたときに自動的に接続先を振り替えることができる。イメージ的にはこんな感じ。 グルー

                                                            MySQL 8.1シリーズにおけるInnoDB Clusterとリードレプリカの融合(ただしMySQL Serverは8.0でOK)
                                                          • 第192回 MySQLのパラレル操作について | gihyo.jp

                                                            MySQLでは一般的に、ユーザーからのクエリやDDLなどの操作はシングルスレッドで処理されます。現行のMySQLでは、PostgreSQLやOracle Databaseが提供しているようなパラレルクエリはサポートしていません。しかし、MySQL 8.0とそれ以降から、InnoDBへの一部の操作がパラレルで処理されるようになりました。そのため、1つの操作に対して複数のCPUを効率的に利用することで、高速に処理することができるようになります。 今回は、パラレル操作と関連するパラメーターについて紹介したいと思います。なお、利用しているMySQLのバージョンは、8.0.32になります。 パラレル読み取り MySQL 8.0.14とそれ以降から、オプションinnodb_parallel_read_threadsが追加されました。このオプションは、InnoDBのクラスタインデックスのページを同時に読

                                                              第192回 MySQLのパラレル操作について | gihyo.jp
                                                            • 10 Things I Hate About PostgreSQL

                                                              PostgreSQL performance degrades rapidly with more connections. Credit: brandur.org. Over the last few years, the software development community’s love affair with the popular open-source relational database has reached a bit of a fever pitch. This Hacker News thread covering a piece titled “PostgreSQL is the worlds’ best database”, busting at the seams with fawning sycophants lavishing uncondition

                                                                10 Things I Hate About PostgreSQL
                                                              • 運用中のRailsアプリケーションからカラムを削除したい - ITANDI Engineer Blog

                                                                イタンジ株式会社 野澤です。 普段Railsを使って開発をしています。 この記事では、Railsで扱っているカラムを削除する方法について紹介します。 なぜ書くか ・Railsからカラムを削除する機会があったため ・カラムを削除することがそうそうあるものではなく、いざやろうと思った時にどういう手順で何に注意してやれば良いか思い出せない やり方 1. 削除予定のカラムをRailsから参照しないようにする 2. カラムを削除 3. ignore_colmunsの記述を削除する ※ 各手順ごとにリリース 1. 削除対象のカラムをRailsから参照しないようにする 削除予定のカラムの記述をソースコードから全て削除します。 加えて削除対象のカラムをignored_columnsに指定します。 class Hoge < ApplicationRecord self.ignored_columns = %

                                                                  運用中のRailsアプリケーションからカラムを削除したい - ITANDI Engineer Blog
                                                                • 第196回 MySQLのexplicit_defaults_for_timestampオプションによって意図せずデータとテーブル定義変更をしてしまう現象について | gihyo.jp

                                                                  MySQL道普請便り 第196回MySQLのexplicit_defaults_for_timestampオプションによって意図せずデータとテーブル定義変更をしてしまう現象について MySQLのオプションでexplicit_defaults_for_timestampというオプションをご存知でしょうか? これはTIMESTAMP型の特定の非標準動作を有効にするかどうか、およびTIMESTAMP型のカラムでNULL値の処理を有効にするかどうかを決定するオプションになります。 先日、筆者が担当しているMySQLの運用において、このオプションによってデータおよびテーブル定義が意図しない形で書き換わってしまったことがありました。今回は同じような人が現れないように、このオプションについて解説します。 なにが起こったのか mysql> SHOW CREATE TABLE ts_t1\G *******

                                                                    第196回 MySQLのexplicit_defaults_for_timestampオプションによって意図せずデータとテーブル定義変更をしてしまう現象について | gihyo.jp
                                                                  • ストレージとコンフィグでデータベースのグリッチを探す - Software Transactional Memo

                                                                    AIに描いてもらったストレージで作ったレース会場 はじめに この記事はデータベース・システム系 Advent Calendar 2023の一日目の投稿である。今年読んだ論文(今年書かれた論文とは限らない)の中で驚きや納得があって良かったなぁと思った論文をいくつか紹介していきたいと思う。 論文の本文そのものは機械翻訳なりチャットAIなりに叩き込めば誰でも内容の抽出はできるので、こちらのブログ内では何故これが良いと思ったかについて僕の主観に基づいて書いていく。僕の解釈が厳密に正しいことは一切保障しないし、気になって読んでみたら全然内容違うやんけ!と驚くところまでがセットくらいの気軽なつもりで読んで欲しい。 最初に紹介する論文は「When Database Meets New Storage Devices: Understanding and Exposing Performance Mism

                                                                      ストレージとコンフィグでデータベースのグリッチを探す - Software Transactional Memo
                                                                    • MySQLのテーブル定義変更の並列性

                                                                      GMOアドマーケティングのT.Kです。 ALTER TABLE 実行時に排他的ロックが発生する事を見落とし、パーティション削除を実行したら、Waiting for table metadata lockを大量発生させてしまいました。 対象テーブルが別セッションで参照されていない時なら、きわめて短時間で終わる処理でしたが、重いクエリの実行中だったのでロック取得待ちになりました。 その間の新しい参照はWaiting for table metadata lockでブロックされました。 忘れないために、ここに再現手順を残します。 前に触れた例外とは、ALTER TABLE が、テーブルの .frm ファイルの新しいバージョンをインストールし、古いファイルを破棄して、テーブルおよびテーブル定義キャッシュから古くなったテーブル構造をクリアする準備ができた時点で (書き込みだけでなく) 読み取りをブロ

                                                                        MySQLのテーブル定義変更の並列性
                                                                      • Amazon Aurora MySQL バージョン 2 (MySQL 5.7 互換) からバージョン 3 (MySQL 8.0 互換) へのアップグレードのチェックリスト、パート2 | Amazon Web Services

                                                                        Amazon Web Services ブログ Amazon Aurora MySQL バージョン 2 (MySQL 5.7 互換) からバージョン 3 (MySQL 8.0 互換) へのアップグレードのチェックリスト、パート2 本記事は、Amazon Aurora MySQL version 2 (with MySQL 5.7 compatibility) to version 3 (with MySQL 8.0 compatibility) upgrade checklist, Part 2 を翻訳したものです。 最初のパートでは、 Amazon Aurora MySQL互換エディション v2 から v3 へのアップグレードの事前チェックが失敗する原因となる最も一般的な問題を説明しました。この投稿ではアップグレードが長引いて失敗する最も一般的な原因について説明します。 クラスターにプリ

                                                                          Amazon Aurora MySQL バージョン 2 (MySQL 5.7 互換) からバージョン 3 (MySQL 8.0 互換) へのアップグレードのチェックリスト、パート2 | Amazon Web Services
                                                                        • ISUCON11予選に「チーム中目黒乗り過ごし」で参加し本選出場決まりました - Hateburo: kazeburo hatenablog

                                                                          ISUCON11の予選に参加し、なんとか本選出場を決めました!チームは去年と同じ「中目黒乗り過ごし」でメンバーも変わらず、hanabokuro氏、mtokioka氏と参加しました。 isucon.net チーム中目黒乗り過ごしとして、2年連続で9位で本選出場です。去年の予選記事はこちら。 kazeburo.hatenablog.com ちなみに、去年の本選はFailでした。 先日ISUCONのインタビュー記事に載りましたので、こちらもどうぞ type.jp 今回の問題 ISUのコンディションを収集し、可視化するサイトということで、IoTや大量のネットワーク機器の監視メトリクスの扱いが課題のネタとなっていたように思いました。 世界観が面白く、ISUが投擲の道具じゃなく、愛される存在になったのだと感慨深いものがありました。 構成とスコア 当初は1台でやっておりましたが、最終的に3台を次のように

                                                                            ISUCON11予選に「チーム中目黒乗り過ごし」で参加し本選出場決まりました - Hateburo: kazeburo hatenablog
                                                                          • MySQLの不要データをテーブルローテーションでイージーに削除した - LIFULL Creators Blog

                                                                            検索エンジンチームにいながら外部公開APIのメンテナンスもしている加藤宏脩です。 この記事では、毎日大量に書き込まれ膨れ上がったMySQLのテーブルを、 テーブルローテーションさせることで不要なデータを継続的かつ安全に削除する処理の実装をしたのでそれについてお話したいと思います。 利用している技術 Amazon RDS for MySQL Engine version: 5.7.41 Amazon ElastiCache for Redis Engine version: 6.2.6 起きていた問題 LIFULLのとあるサービスは、アプリケーションとMySQL、DBの結果をキャッシュするRedisがあるというよくみる一般的なアーキテクチャで運用しています。 このMySQLのテーブルは毎日100万件以上のレコードが追加されていく状態になっており、 総レコード数は6億件を超え、容量は2TBを超

                                                                              MySQLの不要データをテーブルローテーションでイージーに削除した - LIFULL Creators Blog
                                                                            • CloudWatch LogsのログデータをKinesis Data Firehose経由でS3に出力する | DevelopersIO

                                                                              CloudWatch Logsのデータを、Kinesis Data Firehose経由でS3に出力する手順です。 Lambda Functionなどで作り込みを行わず、CloudWatch LogsのログデータをS3に出力するには、Kinesis Data Firehoseが利用できます。 本エントリでは、Kinesis Data Firehoseを介して、CloudWatch LogsのデータをS3へ出力する設定を紹介しています。CloudWatch LogsからKinesis Data Firehoseへ出力するには、CloudWatch Logsのサブスクリプションフィルタの設定が必要になりますが、こちらの設定はマネジメントコンソールでは行えないので、関連する作業含めAWS CLIを利用して実施しています。さいごに、AWS CLIで構築した同様の構成を定義するCFnテンプレートも添

                                                                                CloudWatch LogsのログデータをKinesis Data Firehose経由でS3に出力する | DevelopersIO
                                                                              • 遅ればせながら、Folding@home のタンパク質構造解析プロジェクトに参加させていただくことにしました。 | GREE Engineering

                                                                                HOMEInfo遅ればせながら、Folding@home のタンパク質構造解析プロジェクトに参加させていただくことにしました。 こんにちわ。せじまです。 今日はMySQLの話ではありません。 はじめに こちらのスライドなどでも触れておりますが、弊社では、一部のサービスでオンプレミス環境の物理サーバを使っています。それらは仮想化せずに、消費電力効率などを改善することで、コストの最適化を図っています。 具体的に言うと ピーク時の最大負荷を想定してベンチマークを実行し、そのときの消費電力を測定する。 ラック内にあるすべてのサーバに最大の負荷がかかった状態でも、何台かは修理交換やOSのアップデート作業などが実施可能になるよう、突入電流を想定して電源のマージンを確保する。 といった観点で、ラックごとの構成を設計しています。消費電力の試算をし、弊社のワークロードや(わたしが考える)InnoDBに最適な

                                                                                  遅ればせながら、Folding@home のタンパク質構造解析プロジェクトに参加させていただくことにしました。 | GREE Engineering
                                                                                • vivitにjoinして1ヶ月でやったこと - vivit engineering blog

                                                                                  こんにちは、今年の6月に入社したspotチームの名嘉眞です。spotチームはキャンプ場検索サービス(hinata spot)を開発しております。私はspotチームのバックエンド担当として日々Goを書いてます。 hinata spot vivit入社前は主にRailsを書いていましたので、Goを業務で書き始めたのは入社してからになります。またGoだけでなく、gRPC、GraphQLも業務で使うのは初めてでした。 この記事はどんな記事? vivitに入社してから1ヶ月の振り返りです。vivitでどんな技術を使っているのか、どんな開発をしているのか知ってもらえると嬉しいです。 joinして1ヶ月で自分がやったことを 入社して2日目ぐらいから、ペアプロしながら処理の流れやサービスの役割を教えてもらいました。 ペアプロは VSCode の Live Share で先輩エンジニアが実際にコードを書くと

                                                                                    vivitにjoinして1ヶ月でやったこと - vivit engineering blog