並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 80件

新着順 人気順

DDLの検索結果1 - 40 件 / 80件

  • オンライン DDL を期待して ALTER 文を実行したら障害になりかけた話 - カミナシ エンジニアブログ

    こんにちは。ソフトウェアエンジニアの坂井 (@manabusakai) です。 カミナシではマルチプロダクト化に向けて、認証・認可の切り出しを進めています。その対応を進める中で、既存テーブルへのカラム追加が必要になりました。 先日、そのリリースのために本番データベースにマイグレーションの ALTER 文を実行したところ、クエリが詰まって危うく障害になるところでした(幸いすぐにキャンセルして事なきを得ました)。 原因を調べたところ、オンライン DDL は複数の条件が関係することがわかりました。オンライン DDL に対する知識不足と事前検証の甘さゆえのミスでしたが、結果的には良い学びが得られました。 カミナシのバリューのひとつである「全開オープン」の気持ちで、事の顛末やそこから得た学びを公開します。 なお、今回の話は MySQL 5.7 互換の Amazon Aurora MySQL 2 で確

      オンライン DDL を期待して ALTER 文を実行したら障害になりかけた話 - カミナシ エンジニアブログ
    • MySQL 5.6 のオンラインDDLについて調べた - takatoshiono's blog

      今更だけど MySQL 5.6 ではオンラインDDLの機能が追加されている。今日はこのオンラインDDLについて勉強したことを書いてみる。 MySQL のマニュアル MySQL :: MySQL 5.6 Reference Manual :: 14.11 InnoDB and Online DDL にいろいろ書いてある。いまから書くことはこのマニュアルから得た知識が元になっている。 DDL てなによ? データではなく、テーブル自身を操作するためのSQL文のこと。CREATE, ALTER, DROP, TRUNCATEなど。オンラインDDLではCREATE INDEX, DROP INDEX, ALTER TABLEに適用される。 http://dev.mysql.com/doc/refman/5.6/en/glossary.html#glos_ddl 5.1 までの ALTER TABLE

        MySQL 5.6 のオンラインDDLについて調べた - takatoshiono's blog
      • ChatGPTを使ってDDLからER図をすばやく作成する - Taste of Tech Topics

        最近、酢を飲むと健康に良いという話を聞き、頑張って毎日飲んでいるkonnoです。 何となくですが、朝の目覚めは良くなっている気がしますよ! 今回はデータベース設計に欠かせないER図を、ChatGPTを使ってDDL(Data Definition Language:SQLのデータ定義言語)から簡単に作成できるのか試してみたいと思います。 サンプルとなるDDLを用意 DDLのサンプルとして、以下のMySQL公式サイトで公開されている従業員データベースを利用します。 dev.mysql.com 従業員データベースに必要なファイル類一式は、上記サイトで紹介されている以下のGithubリポジトリから、 "test_db-master.zip"としてダウンロードできます。 github.com ダウンロードしたtest_db-master.zipには、従業員データベースを設定するために必要なDDLとし

          ChatGPTを使ってDDLからER図をすばやく作成する - Taste of Tech Topics
        • MySQL 5.6で本当にオンラインでDDLが実行できるか検証してみた - oinume journal

          MySQL 5.6での機能強化点(その1) - パフォーマンスと使い勝手を大きく向上 | Think ITに書いてあるようにMySQL 5.6からオンラインでDDLを実行してもレコードのINSERT, UPDATEはできるようになったとあるので、これが本当なのか検証してみた。MySQLにおいてレコード数の多いテーブルに対するALTER TABLE文の発行は以前から問題視されていて、pt-online-schema-changeみたいなものを駆使するのが常套手段だった。 検証環境 ConoHa VPS 2GB Ubuntu 14.04 MySQL 5.6.17-0ubuntu0.14.04.1-log my.cnf データはWikipediaのダンプデータのenwiki-20140502-redirect.sql.gz というテーブルを使用。テーブル定義はこんな感じ。 CREATE TABL

            MySQL 5.6で本当にオンラインでDDLが実行できるか検証してみた - oinume journal
          • MySQL勉強会〜ロックについて(DDL編)〜を開催しました! - ANDPAD Tech Blog

            こんにちは。最近リモートワーク用にマイクを買ったソフトウェアエンジニアの福間(fkmy)です。 先月、ANDPADのデータベースの技術顧問をして頂いてる三谷(mita2)さんによるロックの基礎編)〜について勉強会を開催しました。今月はロックのDDL編について8/4(月)に勉強会を実施しました。重要な箇所をピックアップします! また今回も在宅勤務期間中のためオンライン開催となり当日は16名が参加していました。 内容 当日の資料はこちらになります。 DDLについて DDLとはData Definition Languageの略称でデータ構造を定義するための言語のことです。SQLではCREATE文、DROP文、ALTER文、TRUNCATE文が該当します。 DDLの仕組みと改善の歩みについて MySQLのALTER TABLEの初期実装 新しいテーブル定義のテーブルにデータコピーする 実行中は書

              MySQL勉強会〜ロックについて(DDL編)〜を開催しました! - ANDPAD Tech Blog
            • 【追記有り】Amazon Aurora MySQL Version3でのOnline DDLの落とし穴とその回避方法 - CyberAgent SRG #ca_srg

              メディア統括本部 サービスリライアビリティグループ(SRG)の鬼海 雄太(@fat47)です。 #SRG(Service Reliability Group)は、主に弊社メディアサービスのインフラ周りを横断的にサポートしており、既存サービスの改善や新規立ち上げ、OSS貢献などを行っているグループです。 本記事は、Ama

                【追記有り】Amazon Aurora MySQL Version3でのOnline DDLの落とし穴とその回避方法 - CyberAgent SRG #ca_srg
              • Aurora 3.04.2 での DDL の予期しない挙動と Rails での対策 - freee Developers Hub

                こんにちは、DBRE (Database Reliability Engineer) の shinta です。 今回は、Aurora 3.04.2 に存在する DDL の予期しない挙動について紹介したいと思います。 発見のきっかけ きっかけは、Aurora 3.04.1 に存在した以下の事象の検証でした。(CyberAgent 様の記事で事象の存在を知り、検証するに至りました。ありがとうございます!) ca-srg.dev これがどんな事象かというと、「ALGORITHM=INPLACE で特定の online DDL を実行している間、そのテーブルに reader からアクセスできなくなる」というものでした。 writer で DDL を実行している間、reader からそのテーブルにクエリを投げると以下のエラーが出ます。 Table 'db_name.tbl_name' doesn't

                  Aurora 3.04.2 での DDL の予期しない挙動と Rails での対策 - freee Developers Hub
                • 「安全にDDLが実施できる」をコンセプトに「SafeDDL」を開発 すべてのデータベースの運用・管理を行う、LINEのデータベース室

                  LINEで働くエンジニアが、各職種別に日々の業務内容や開発体制、働く環境、今後の展望などについて話す「LINE 新卒採用 技術職 コース別説明会」。ここでデータベース室の北川氏が登壇。データベース室の主な業務、現在の課題と取り組みについて話します。 データベース室の構成 北川健太郎氏(以下、北川):データベース室の発表をします。MySQL1チームでマネージャーをしています。北川といいます。よろしくお願いします。 データベース室ですが、先ほど説明があったとおり、IT Service Centerの下にVerda室、システム室、ネットワーク室と同様にデータベース室があります。 データベース室の中はそれぞれ担当するソリューションごとにチームが分かれていて、MySQL1チーム、MySQL2チーム、MongoDBチーム、HBaseチームというかたちで分かれています。 MySQL1チームとMySQL2

                    「安全にDDLが実施できる」をコンセプトに「SafeDDL」を開発 すべてのデータベースの運用・管理を行う、LINEのデータベース室
                  • 特殊な構成のMySQLに対するDDL適用の一例 | メルカリエンジニアリング

                    ※この記事は、"Blog Series of Introduction of Developer Productivity Engineering at Mercari"の一環で書かれています。 Author: CoreSREチーム @ichirin2501 今回は特殊なレプリカDBの制約をどう突破してオンラインでDDL適用を実現しているのかを紹介します。 はじめに 現在メルカリでは様々なシステムが動いていますが、メルカリのサービスの中核部分はモノリスなPHPで書かれたシステムで、そこのデータベースはMySQL(v5.7)で運用されています。依然としてマイクロサービス移行を加速させるためのコードフリーズ(*1)が継続されているため、PHPシステム上での機能開発は基本的にはありませんが、依存されているマイクロサービス側の機能開発の都合などで、どうしても変更が必要な場合があります。そういったと

                      特殊な構成のMySQLに対するDDL適用の一例 | メルカリエンジニアリング
                    • AWS CodeBuildでRidgepoleをdry-runで動かしてMigration予定のDDLをGithubのPullRequestコメントに追記する - ANDPAD Tech Blog

                      ANDPAD バックエンド担当の原田(@tomtwinkle)です。 普段はGolangでモリモリコードを書いていますがDevOps関連の記事ばかり書いてます。 お察しの通りなんですが、今回もDevOps関連の記事だったりします。 やり方だけ知りたい人は Motivation の部分は読み飛ばして貰っても問題ないです。 Motivation AWS CodeBuild側の準備 GithubのPrivate Access Tokenを発行する AWS Systems ManagerのParameter StoreにDBとGithubへのアクセス情報を記述 CodeBuildを作成 Github Repository側の用意 Buildspecの記載 動作結果 謝辞 さいごに Motivation 私が担当しているANDPADボードではRDS(MySQL)を利用しています。 そして、DBのsc

                        AWS CodeBuildでRidgepoleをdry-runで動かしてMigration予定のDDLをGithubのPullRequestコメントに追記する - ANDPAD Tech Blog
                      • Impact of DDL Operations on Aurora MySQL Readers

                        All of Percona’s open-source software products, in one place, to download as much or as little as you need.

                          Impact of DDL Operations on Aurora MySQL Readers
                        • Aurora の Fast DDL を 1500 万レコードで検証してみた | はったりエンジニアの備忘録

                          Amazon Aurora 1.12 がリリースされました。注目すべきは Fast DDL です。 Announcement: New Aurora Release 1.12 Now Available Amazon Aurora Under the Hood: Fast DDL Fast DDL とは大規模なデータベースでも DDL が高速に行えるという機能です。この機能を待ちわびていたので、さっそく検証してみました。 検証に使ったインスタンスは db.r3.large で、対象のテーブルは 1500 万以上のレコードがあります。このテーブルには本番環境に近いデータが入っています。 mysql> select count(*) from xxxxxx; +----------+ | count(*) | +----------+ | 15441969 | +----------+ 1 r

                            Aurora の Fast DDL を 1500 万レコードで検証してみた | はったりエンジニアの備忘録
                          • Goでのmigrationについて ~ ddl-maker × schemalex ~ - KAYAC engineers' blog

                            この記事はカヤックアドベントカレンダー19日目の記事です。 はじめに こんにちは @Konboi です。 皆さん忘年してますか? 私は今のところ順調に忘年できており、今年何をしてたのか大分忘れました。 ちなみに先日行われたカヤック技術部の忘年会の様子です。 肉がきたぞー! pic.twitter.com/w4VIdmMNmO— Masatoshi Kawazoe (@acidlemon) 2016年12月16日 忘年してます pic.twitter.com/T7EW0Z5ZVm— jigya♧kkuma (@jigyakkuma_) 2016年12月16日 ということで表題の通り、今日の記事ではカヤックでのこれからのGoプロジェクトでのmigrationについて紹介しようと思います。 本記事であつかう migrationはDB更新を差し 新規テーブルの作成 テーブル/カラム名の変更 テーブ

                              Goでのmigrationについて ~ ddl-maker × schemalex ~ - KAYAC engineers' blog
                            • 第30回 InnoDBオンラインDDLについて | gihyo.jp

                              LOCKとALGORITHM句を省略した操作は、先ほどのDDL操作のオンラインステータスのサマリーに基づき、以下の順序で評価され、使用可能なオプションで実行されます。 LOCKの場合 NONE → SHARED → EXCLUSIVEの順に評価されます。 ALGORITHM句の場合 INPLACE → COPYの順に評価されます。 ここで気をつけておきたいことは、たとえばカラムのデータ型を変更するなどのインプレース方式と並列DMLが許可されていない操作に対してオンラインDDLが有効だろうと思い込み、それらの句を省略して本番環境に対して実行したためにサービスを停止させてしまうなど、痛い目にあうことがあります。 対策として、期待している動作のALGORITHM=INPLACEとLOCK=NONEを記述するとエラーとなり実行されません。オンラインDDLが有効かどうか不安な場合は、明示的にLOCK

                                第30回 InnoDBオンラインDDLについて | gihyo.jp
                              • git-schemlexとddl-makerを使ったDB migrationの紹介 / git-schemalex and ddl-maker migration #golangtokyo - Speaker Deck

                                git-schemlexとddl-makerを使ったDB migrationの紹介 / git-schemalex and ddl-maker migration #golangtokyo

                                  git-schemlexとddl-makerを使ったDB migrationの紹介 / git-schemalex and ddl-maker migration #golangtokyo - Speaker Deck
                                • DDLレベルの外部キー制約は不要 - 設計者の発言

                                  テーブルを作る際に、DDLレベルで外部キー制約をつけることがあるが、私はこれには反対である。組み込める制約の幅が狭すぎるうえに、業務ルールに関する記述があちこちに散らばってしまうからだ。順を追って説明しよう。 外部キー制約を組み込むことで、テーブルは更新・追加・削除操作において制約を受ける。たとえば、受注テーブルが顧客idを持っているとして、これに顧客マスターに対する外部キー制約を与えるとしよう。このとき、受注登録の際に顧客idの値がその時点の顧客マスター上に定義されていなければエラーになる。また、特定の顧客データを顧客テーブルから削除しようとしたときに、既存の受注データと関連づけされているような顧客であれば、やはりエラーになる。 この程度の例であれば、外部キー制約をDDLレベルで組み込むことに何ら問題はない。 ところが、現実は想像以上に複雑である。たとえば、多少不自然な例ではあるが、受注

                                    DDLレベルの外部キー制約は不要 - 設計者の発言
                                  • ORACLE/オラクルSQLリファレンス(DBMS_METADATA.GET_DDL)

                                    指定されたオブジェクトのDDL文を取得します。 オブジェクトタイプ : TABLE、VIEWなどの取得するオブジェクトの種類 オブジェクト名 : テーブル名、ビュー名などのオブジェクト名 スキーマ : オブジェクトの所有者。デフォルトは、ログイン中のユ-ザー ※引数の指定は、全て大文字で指定します SQL> set long 2000 SQL> set heading off SQL> SQL> select 2   dbms_metadata.get_ddl('TABLE','EMP') 3   from dual; CREATE TABLE "TEST"."EMP" (   "EMP_ID" CHAR(5), "DEPT_ID" CHAR(5), "EMP_NAME" VARCHAR2(10), "EMP_DATE" DATE, "SALARY" NUMBER(5,0), PRIMAR

                                    • MySQL オンラインDDL(ロックなしによるサービス無停止でDDLを流す方法) パターン集 - Qiita

                                      職場でオンラインDDLのパターンをより勉強したほうがよいと感じたのでインプットしたことをQiitaにアウトプットしてみた。 以下のリポジトリで実践も合わせて行った。 記事の中で出てくるコードなどはこちらで参照することが可能。 https://github.com/d0riven/learning_online_ddl_pattern 今回はMySQLというDBMSに限定してパターンを紹介しているが、他のDBMSでも使えるパターンはいくつかあるはずなのでPostgreSQLやOracleを利用している人が読んでもためになるとは思う。 想定読者 MySQLを普段から触っている人 可用性の高さを求められるサービスを運用・開発している人 古くからあるシステムのリファクタリングのためにデータベースの足回りから手をつけていきたい人 オンラインDDLのやり方を知らない人・知っていても色々なパターンがある

                                        MySQL オンラインDDL(ロックなしによるサービス無停止でDDLを流す方法) パターン集 - Qiita
                                      • Amazon Aurora: Fast DDLの詳細 | Amazon Web Services

                                        Amazon Web Services ブログ Amazon Aurora: Fast DDLの詳細 Anurag GuptaはAmazon Auroraを含む彼がデザインに参加した、いくつかのAWSデータベースサービスに携わっています。 Under the Hoodシリーズでは、Auroraを支える技術や設計について説明します。 Amazon Auroraはオープンソースデータベースのシンプルさとコスト効率とハイエンドなコマーシャルデータベースの可用性と性能を兼ね備えたMySQL互換のデータベースです。この投稿では、Amazon Auroraが一般的な、完了までMySQLでは数時間かかるようなDDL文をほぼ即座に実行出来る仕組みを見ていこうと思います。 Fast DDLとは?なぜ考慮するのか アプリケーションを変更すると、それに付随するデータベースのスキーマを変更する必要があるケースがあ

                                          Amazon Aurora: Fast DDLの詳細 | Amazon Web Services
                                        • MySQL :: MySQL 5.6 リファレンスマニュアル :: 14.11.1 オンライン DDL の概要

                                          ロック読み取り (SELECT ... FOR UPDATE および SELECT ... LOCK IN SHARE MODE)

                                          • Amazon Auroraのバージョン1.12で高速DDLが実装されました | DevelopersIO

                                            大栗です。 先程Aurora 1.12がアナウンスされました。目玉機能として高速DDLがあるのでご紹介します。 Announcement: New Aurora Release 1.12 Now Available Amazon Aurora Supports Fast DDL Operations AWS Database Blog Amazon Aurora Under the Hood: Fast DDL バージョン1.12は必須のアップグレードではありません。バージョン1.12はクラスタの全ノードに対して同時に適用されるクラスタパッチモデルになっていますので、既存のクラスタをアップグレードする場合はご注意下さい。 高速DDL re:Invent 2016でオンラインDDLの高速化がアナウンスされていましたが、今回のバージョンで実装されました。なお有効化するにはLab Modeを設定

                                              Amazon Auroraのバージョン1.12で高速DDLが実装されました | DevelopersIO
                                            • 第134回 DDLと暗黙的なコミットについて | gihyo.jp

                                              皆さんはMySQLを開発に利用している時に、カラム追加や変更を同時に行いたい場面によく出くわすと思います。特に、Webアプリケーションフレームワークなどで用意されているデータベーススキーマのマイグレーションツール等を利用している時に、マイグレーション途中で失敗して中途半端に適用されてしまう、なんてことがあるかもしれません。 マイグレーションが中途半端に適用されてしまった場合、マイグレーションツールでは簡単に元に戻せず、スキーマの復旧のためにmysqlでログインして手作業で復旧するはめになってしまって困った経験がある方もいるかも知れません。そういうアトミック性が欲しい時は、トランザクションを利用して…と、考えると思いますが、これは実は上手くいきません。 今回はその理由である「暗黙的なコミット」について解説していきたいと思います。 検証環境 今回は、第125回 phpMyAdminでDocke

                                                第134回 DDLと暗黙的なコミットについて | gihyo.jp
                                              • LanguageManual DDL - Apache Hive - Apache Software Foundation

                                                OverviewHiveQL DDL statements are documented here, including: CREATE DATABASE/SCHEMA, TABLE, VIEW, FUNCTION, INDEXDROP DATABASE/SCHEMA, TABLE, VIEW, INDEXTRUNCATE TABLEALTER DATABASE/SCHEMA, TABLE, VIEWMSCK REPAIR TABLE (or ALTER TABLE RECOVER PARTITIONS)SHOW DATABASES/SCHEMAS, TABLES, TBLPROPERTIES, VIEWS, PARTITIONS, FUNCTIONS, INDEX[ES], COLUMNS, CREATE TABLEDESCRIBE DATABASE/SCHEMA, table_name

                                                • AWS × slackを用いたDDL自動実行フローを構築しました - コネヒト開発者ブログ

                                                  こんにちは!MLエンジニアの野澤(@takapy0210)です。 10月から軽減税率が始まりましたね。みなさんの身の回りで混乱は起きていませんでしょうか? そんな中、軽減税率に関するこんな記事を見ました。専門家の人たちでも判断に困る事例があるようなので、難しいですね。 さて、本日はAWS × slackを使って、DDLの自動実行フローを構築した話をできればと思っています。 目次 DDLって何? 従来のフロー 新・自動化フロー dry-run実行 DDL実行 自動化して何が嬉しかったか アーキテクチャ構築のポイント Step FunctionsでFatgate Taskを実行するときの注意点 セキュリティグループを正しく指定する必要がある EcsTask実行ポリシーに、「タスクを実行するRoleにアクセスする権限」を追加する必要がある slack apiとAWS API Gatewayの連携

                                                    AWS × slackを用いたDDL自動実行フローを構築しました - コネヒト開発者ブログ
                                                  • ワダリョウイチ/SARUTOBI on Twitter: "カメラを止めるな! めちゃ面白かった。 作り手のみんな、映画が好きなんだなぁと思えた。 あの頃命かけて大好きな仲間と作ってた作品がこんな感じで命を与えられてて、本当にうれしかった。 最高でした。 #カメ止め #カメラを止めるな https://t.co/DDL08m7Tzu"

                                                    カメラを止めるな! めちゃ面白かった。 作り手のみんな、映画が好きなんだなぁと思えた。 あの頃命かけて大好きな仲間と作ってた作品がこんな感じで命を与えられてて、本当にうれしかった。 最高でした。 #カメ止め #カメラを止めるな https://t.co/DDL08m7Tzu

                                                      ワダリョウイチ/SARUTOBI on Twitter: "カメラを止めるな! めちゃ面白かった。 作り手のみんな、映画が好きなんだなぁと思えた。 あの頃命かけて大好きな仲間と作ってた作品がこんな感じで命を与えられてて、本当にうれしかった。 最高でした。 #カメ止め #カメラを止めるな https://t.co/DDL08m7Tzu"
                                                    • MySQL :: MySQL 5.6 Reference Manual :: 14.13.1 Online DDL Operations

                                                      InnoDB INFORMATION_SCHEMA Transaction and Locking Information

                                                      • Amazon Aurora Under the Hood: Fast DDL | Amazon Web Services ブログ

                                                        Amazon Web Services ブログ Amazon Aurora Under the Hood: Fast DDL Anurag Gupta 氏は、氏自身が設計に協力した Amazon Aurora を含めて、いくつかの AWS データベースサービスを運営しています。この「詳細」シリーズでは、Aurora の設計考慮事項や基盤となるテクノロジーについて説明しています。 Amazon Aurora は、MySQL と互換性のあるデータベースであり、ハイエンドな商用データベースのスピードと可用性、オープンソースデータベースのシンプルさとコスト効率性を兼ね備えています。ここでは、MySQL で処理に数時間もかかるような一般的な DDL (データ定義言語) ステートメントが、Amazon Aurora の機能でほぼ即座に処理される仕組みについて説明します。この機能は、現在 Aurora

                                                          Amazon Aurora Under the Hood: Fast DDL | Amazon Web Services ブログ
                                                        • DDLを使って0クリックから始めるパーソナライズ - Qiita

                                                          開いて1秒で分類 そこで利用するのがDDLです。ただし、この手法には制限があり、app storeで検索してインストールされた場合は実現できません。プロモーションとの合わせ技です。 DDLとは? はっきりと言語化するのが難しいのですが、アプリのインストールの有無にかかわらず有効なリンクのことをDDL(Deferred deep linking)と呼んでいます。 この「アプリのインストールの有「無」にかかわらず」という所が今回は重要で、インストール前のユーザーに特定情報を付与して、インストール後初起動時にその情報を取り出す事ができるのです。 Webサイトで「続きはアプリで」などのリンクを用意してDDLを踏ませ、アプリをインストールしてもらい起動後にすぐその続きが見れるようにするとかはよくある利用方法です。これはインストール前に見ていたページを特定する情報をリンクに含めて、Storeに遷移させ

                                                            DDLを使って0クリックから始めるパーソナライズ - Qiita
                                                          • Amazon Aurora Supports Fast DDL Operations

                                                            Amazon Aurora can now execute one of the most common Data Definition Language (DDL) operations – an ALTER command to add a nullable column at the end of a table – nearly instantaneously. This capability, called fast DDL, is available in lab mode. Fast DDL doesn’t require a table copy and does not materially impact other DML statements. Since it doesn’t consume temporary storage for a table copy, i

                                                              Amazon Aurora Supports Fast DDL Operations
                                                            • Data definition language (DDL) statements in GoogleSQL  |  BigQuery  |  Google Cloud

                                                              Send feedback Stay organized with collections Save and categorize content based on your preferences. Data definition language (DDL) statements let you create and modify BigQuery resources using GoogleSQL query syntax. You can use DDL commands to create, alter, and delete resources, such as tables, table clones, table snapshots, views, user-defined functions (UDFs), and row-level access policies. R

                                                                Data definition language (DDL) statements in GoogleSQL  |  BigQuery  |  Google Cloud
                                                              • 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運用を最適化する | 外道父の匠
                                                                • SQLの種類(DDL、DML、DCL)

                                                                  SQLの種類を分ける「DDL、DML、DCL」の紹介です。 🐡 DDL(Data Definition Language)DDL(Data Definition Language)は、CREATEやDROP、ALTERなどデータベースオブジェクトの生成や削除変更を行うコマンドです。 🍄 DML(Data Manipulation Language)DML(Data Manipulation Language)はSELECT/INSERT/UPDATE/DELETEなどテーブルに対するデータの取得・追加・更新・削除を行うコマンドです。 🎂 DCL(Data Control Language)DCL(Data Control Language)はBEGIN、COMMIT、ROLLBACKなどトランザクションの制御を行うためのコマンドです。 🖥 VULTRおすすめ 「VULTR」はVPS

                                                                    SQLの種類(DDL、DML、DCL)
                                                                  • RDSの"リードレプリカのマスター昇格機能"を使ってDDLオペレーションを実行する方法 - kazukiyunoue-tech

                                                                    AWSのRDSに、 ついにリードレプリカをマスターに昇格する機能が追加されました。 【AWS発表】Amazon RDS for MySQL - リードレプリカのマスター昇格機能を追加! さて何故(なにゆえ)にこのような機能があるのかというと、 以下3つのケースが同記事にて紹介されています。 DDLオペレーションの実行 テーブルのシャーディング 障害回復機能を実装する "障害回復機能を実装する"ケースは、マスターで障害が発生した際に、 リードレプリカをマスターに切り替えることで復旧させる方法です。 既存のデータ復旧機能である"Multi-AZ 配備"に比べて良い点は、 非同期なので書き込みにおけるパフォーマンス劣化が防げたり、 ホットスタンバイとして寝かしておくのではなく リードレプリカとして読み込み用として利用しておけたりする事でしょうか。 もちろん、同記事にあるようにこれは"非同期"のた

                                                                      RDSの"リードレプリカのマスター昇格機能"を使ってDDLオペレーションを実行する方法 - kazukiyunoue-tech
                                                                    • MySQL :: MySQL 8.4 Reference Manual :: 17.12 InnoDB and Online DDL

                                                                      Enabling Automatic Configuration for a Dedicated MySQL Server

                                                                      • MySQLのオンラインDDLでレプリケーション遅延を回避する方法 - Qiita

                                                                        この状況でサイズの大きいテーブルに対してDDLを行うと、Replica でのレプリケーション遅延を招いてしまう恐れがあります。 遅延が発生すると Replica を参照しているサービスで Source に書き込まれた最新のレコードが取得できない状況になってしまい、サービスに影響が出ます。 本記事ではオンラインDDLでレプリケーション遅延を回避する方法について記述します。 ※ Source/Replica = Master/Slave です。慣れましょう 方法 MySQLのバージョンに応じて 2種類。そしてツールを使う方法があります。 INSTANT DDL (MySQL 8.0.12 ~) 特定のDDLに限る Rolling Schema Upgrade (RSU) (MySQL 5.6 ~) オンラインDDLに限る ツールを利用する 今回は紹介に留めて割愛します 1. INSTANT D

                                                                          MySQLのオンラインDDLでレプリケーション遅延を回避する方法 - Qiita
                                                                        • MySQL5.6にしたのに、Online DDLできない - Qiita

                                                                          結論 Online DDLできない制約にひっかかってた InnoDB tables created before MySQL 5.6 do not support ALTER TABLE ... ALGORITHM=INPLACE for tables that include temporal columns (DATE, DATETIME or TIMESTAMP) and have not been rebuilt using ALTER TABLE ... ALGORITHM=COPY. In this case, an ALTER TABLE ... ALGORITHM=INPLACE operation returns the following error: ERROR 1846 (0A000): ALGORITHM=INPLACE is not supported. Rea

                                                                            MySQL5.6にしたのに、Online DDLできない - Qiita
                                                                          • db schema(DDL)の資料作成なら、SQL::Translator で自動作成しては? - end0tknr's kipple - web写経開発

                                                                            私の周りでは、多くが 1)excelでDB設計書 (テーブル定義) を書いて、 2)create table 等をschema_ddl.sql のようなもの(DDL)を書いて 3)DBを構築 していますが、 どうせ schema_ddl.sql を書くのであれば、次のように SQL::Translator で 1)に該当する資料を作成してもいい気がします。 【step 1】db schemaをsqlで書きましょう ※COMMENTキーワードで説明も書きましょう CREATE TABLE 内緒_setup_src ( 内緒_id int(11) NOT NULL DEFAULT '0' COMMENT '内緒ID', filename varchar(64) NOT NULL DEFAULT '', setup text, start_time timestamp NOT NULL DEFA

                                                                              db schema(DDL)の資料作成なら、SQL::Translator で自動作成しては? - end0tknr's kipple - web写経開発
                                                                            • MySQL の Online DDL の挙動をローカルで検証して理解する

                                                                              MySQL の Online DDL について検証しつつ備忘録としてまとめておきます。 (本記事の検証は、MySQL 5.7.40 で実施しています。) mysql> select version(); +-----------+ | version() | +-----------+ | 5.7.40 | +-----------+ 1 row in set (0.02 sec) Online DDLとは MySQL 5.7 Reference Manual - 14.13 InnoDB and Online DDL Online DDL の機能によって、インデックスの作成などの DDL を実行している最中に INSERT , UPDATEなどの DML が実行できるようになっています。 MySQL 5.5 以前での ALTER TABLE は下記のような制限があったようです。 ALTE

                                                                                MySQL の Online DDL の挙動をローカルで検証して理解する
                                                                              • 【Python】sqlparseを使ってDDL以外のSQLファイルを抽出する | DevelopersIO

                                                                                データアナリティクス事業本部の貞松です。 最近、データ分析環境絡みで特定のプロジェクトに含まれるSQLファイルをパースして解析したい要件が発生しました。 本記事では、上記の要件に対応する為に使用したsqlparseというライブラリについてご紹介すると共に、sqlparseを使って、任意のディレクトリ配下のSQLファイルからDDL(CREATE TABLE)でないファイルを抽出する方法を解説します。 sqlparseとは sqlparseは非検証SQLパーサー(処理対象のSQL文の正当性は検証しない)のpythonライブラリです。 GitHub - andialbrecht/sqlparse: A non-validating SQL parser module for Python サポートされているPythonバージョンは3.4以降で、インストールはpipで行います。 pip insta

                                                                                  【Python】sqlparseを使ってDDL以外のSQLファイルを抽出する | DevelopersIO
                                                                                • MySQL :: MySQL 8.4 Reference Manual :: 17.12.1 Online DDL Operations

                                                                                  Enabling Automatic InnoDB Configuration for a Dedicated MySQL Server