並び順

ブックマーク数

期間指定

  • から
  • まで

281 - 320 件 / 1329件

新着順 人気順

MYSQLの検索結果281 - 320 件 / 1329件

  • Postman, Newman で始める E2E テスト - Techtouch Developers Blog

    バックエンドエンジニアの misu です。最近はブンブンチョッパーでチャーハンやドライカレーばっかり作ってます。 この記事について 内容 Postman と Newman について モチベーション 実行例 テストの設定 Github Actions にのせる E2Eテストを陳腐化させないために その他 参考 この記事について 弊社では REST API 定義置き場やクライアントとして機能する Postman を使っています。Postman は、登録してある定義に基づいて API リクエストを投げる Newman というライブラリが提供されており、E2E テストのセットアップが簡単にできます。今回は、これらのライブラリを使って E2E 環境を Github Actions 上に作ってみたので簡単なサンプルと一緒に使用感を見ていただけたらと思います。 内容 Postman と Newman に

      Postman, Newman で始める E2E テスト - Techtouch Developers Blog
    • Aurora MySQL におけるロック競合(ブロッキング)の原因を事後調査できる仕組みを作った話

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

      • Dockerを体系的に学び直してみた(導入編) - Qiita

        1.はじめに 前回「Dockerを体系的に学び直してみた(概要編)」という記事でDockerとは何なのか、どんなメリットがあるのかを書きました。 今回は前回に続き実践編と題して、インストールから簡単な使い方についてを書いていきます。 参考にした書籍は、Docker/Kubernetes 実践コンテナ開発入門です。 私の実行環境は以下です。 ・macOS Mojave 10.14.6 ・Docker version 19.03.4, build 9013bf5 2.Dockerインストール 私の実行環境がmacOSなので、macOSに特化して記載します。WIndows OS でのDockerインストール方法はこちらをご参照ください。 以下サイトにアクセスし、ダウンロードします。(ダウンロードにはDocker IDを取得し、ログインする必要があります。) https://hub.docker.

          Dockerを体系的に学び直してみた(導入編) - Qiita
        • MySQL実行計画の簡易検査ツールの開発とCIへの組み込み - ZOZO TECH BLOG

          こんにちは、ECプラットフォーム部の権守です。普段はID基盤やAPI Gatewayの開発を行い、ZOZOTOWNのリプレイスに携わっています。 本記事では、ID基盤で開発・導入したMySQL実行計画の簡易検査を行うツールを紹介します。 ツール開発の経緯 RDBにおけるテーブル設計は利用するクエリに応じて適切なインデックスを設定するなど専門的な知識を必要とし、設計できる人が限られてきます。しかし、アプリケーション上で利用されるクエリは機能の追加・改修に伴って日々変化していくため、それら全てに目を通し、漏れなく適切な設計することは困難です。そこで、専門的な知識がなくても設計に問題がないかの簡易的な検査を行えるツールを開発し、CIに組み込むことで自動的に問題を検出できるようにしました。 ツール開発のアプローチ ID基盤ではDBMSとしてAmazon Aurora MySQLを使用しています。そ

            MySQL実行計画の簡易検査ツールの開発とCIへの組み込み - ZOZO TECH BLOG
          • 不揮発性メモリでのデータベース処理最適化 〜 ヤフーにおけるデータベース技術の研究開発

            ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは! ヤフーでデータベースエンジニアをしている松浦です。 インターネットサービスを作る上で、そのデータの保持・管理を担うデータベースは重要なソフトウエアコンポーネントですが、今回のTech Blogでは、ヤフーにおけるデータベース技術の研究開発についてのお話をします。 ヤフー社内では、さまざまなデータベースを運用していますが、そのデータベースを最新のハードウエアに対応させる研究開発を行っています。 具体的には、不揮発性メモリを有効に活用するMySQLのストレージエンジン「Leo」の開発に取り組んでいます。 本日は、Leoについて簡単にご紹介をします。 不揮発性メモリとは? まず、前段として、Leoのお話をする前に、不揮発性

              不揮発性メモリでのデータベース処理最適化 〜 ヤフーにおけるデータベース技術の研究開発
            • AWS、MariaDBの最上位スポンサーになったと発表。なぜMariaDBの大口スポンサーに?

              Amazon Web Services(AWS)は、オープンソースとして開発されているリレーショナルデータベース「MariaDB」の最上位スポンサーとなるダイアモンドスポンサーになったことを明らかにしました。 AWS is now the first diamond sponsor of the MariaDB Foundation @mariadb_org AWS engineers are significant contributors to the #opensource databases that our managed services are built on and that our customers depend on. Read more: https://t.co/VWzxIQzdPK #AWSCloud pic.twitter.com/97va28nHKl —

                AWS、MariaDBの最上位スポンサーになったと発表。なぜMariaDBの大口スポンサーに?
              • 新サービス Aurora Serverless v2 の検証とその評価 [DeNA インフラ SRE] | BLOG - DeNA Engineering

                2022.06.16 技術記事 新サービス Aurora Serverless v2 の検証とその評価 [DeNA インフラ SRE] by Keijun Kumagai #infrastructure #aurora #aws #database #technical-verification #game-infrastructure #infra-quality こんにちは!IT基盤部の k-jun です。IT基盤部にて大規模ゲームのインフラを見ているインフラエンジニアです。この記事では、2022/04/21 に GA となった AWS の新サービス Aurora Serverless v2 に対して行った技術検証とその調査結果をご紹介させて頂きます。 Aurora Serverless v2 とは Aurora Serverless v2 は Amazon Aurora のオンデマン

                  新サービス Aurora Serverless v2 の検証とその評価 [DeNA インフラ SRE] | BLOG - DeNA Engineering
                • Goのインターフェース抽象度を美しく保つ為の思考 - 好奇心に殺される。

                  Go Goのインターフェース抽象度を美しく保つ為の思考 Goで抽象化を適切に、そして美しく保つ為の自分の考えやTipsを紹介します。 Overview とある場面でGoのinterfaceが持つ振る舞いの抽象度について議論があり、今回はそれをアウトプットしておきます。Go初心者でinterfaceを使った設計に苦手意識を持つ人向けです。 目次 今回の目次です!下記について自分の考えをお話しします! 振る舞いの抽象化の度合いを意識する 抽象度をどこまであげるか 引数や返り値から発生する「抽象化の漏れ」 抽象度をあげる為の統合 Getter/Setterと抽象度 それではいってみましょう! 振る舞いの抽象化の度合いを意識する 振る舞いをinterfaceとして定義していくのがGoの抽象化ですが、そもそも 抽象化は度合いのある概念です 。この度合いを意識しないと適切なinterfaceの設計は困

                    Goのインターフェース抽象度を美しく保つ為の思考 - 好奇心に殺される。
                  • MySQL8.0で低速になったSELECT COUNTを高速化する - CyberAgent SRG #ca_srg

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

                      MySQL8.0で低速になったSELECT COUNTを高速化する - CyberAgent SRG #ca_srg
                    • Auroraの高速フェイルオーバーと無停止での切り替え | BLOG - DeNA Engineering

                      こんにちは、IT基盤部の川原﨑です。 私の所属する第四グループでは、超大規模ゲームタイトルおよびゲームプラットフォームのインフラを運用しております。 そこでのAuroraの高速フェイルオーバーの仕組みと、実際に無停止で切り替えを行った手順について紹介させていただきます。 はじめに 第四グループでは、コストコントロールの一環でInstance数の増減・Instance Typeの変更を頻繁に実施しています。 例えば、 イベントなどでリクエスト増加が見込まれるときにInstance数を増やす、またはInstance Typeを1つ上のものに変更する リクエストが減少傾向にあれば、Instance数を減らす、またはInstance Typeを1つ下のものに変更する などです。 これはWebサーバだけにとどまらず、DBサーバについても同様です。 EC2上でMySQLを運用している環境では、フェイル

                        Auroraの高速フェイルオーバーと無停止での切り替え | BLOG - DeNA Engineering
                      • AWS、独自開発したARMプロセッサ「Graviton 2」ベースのAmazon RDS MySQL/PostgreSQLをプレビュー開始。ARMはXeonを上回れるのか?

                        AWS、独自開発したARMプロセッサ「Graviton 2」ベースのAmazon RDS MySQL/PostgreSQLをプレビュー開始。ARMはXeonを上回れるのか? Amazon Web Services(AWS)は、MySQLやPostgreSQLなどのリレーショナルデータベースをマネージドサービスで提供するAmazon RDSにおいて、Graviton2プロセッサのインスタンスをベースにしたサービスをプレビューとして開始したと発表しました。 New #AWSLaunches! Amazon Personalize enhances Recommendation Filters with filtering on item metadata Announcing Preview for Amazon RDS M6g & R6g instance types, powered by

                          AWS、独自開発したARMプロセッサ「Graviton 2」ベースのAmazon RDS MySQL/PostgreSQLをプレビュー開始。ARMはXeonを上回れるのか?
                        • 404 | Developers.IO

                          404 Not Found. お探しのページは見つかりませんでしたが、 他のたくさんの技術記事やイベント情報が見つかりました。 以下のリンクを開き、気になる技術を探しましょう!

                          • Mirrativのバックエンド開発におけるMySQLとの向き合い方 - Mirrativ Tech Blog

                            こんにちは、バックエンドエンジニアのmakinoです。先日、LINE LIVEさんとの共催イベントにて「Mirrativを支えるバックエンド開発 ~MySQLとの向き合い方~」というテーマでLTをしました。 connpass.com speakerdeck.com 今回はLTの内容から一部抜粋して、Mirrativのバックエンド開発において遭遇したMySQLに関する問題と、その対策について紹介します。 問題 その1 データ量/QPSの増加に伴って、非効率なクエリが顕在化した サービス初期の段階ではデータ量が少なかったり、ユーザーのアクティビティが少ないために問題がなかったクエリも、サービスの成長に伴ってデータ量・QPSが増加したことによって、MySQLに負荷をかけてしまうことがありました。 具体例を以下にいくつか示します。 数千件レコードのfilesort 適切なindexが利用できればM

                              Mirrativのバックエンド開発におけるMySQLとの向き合い方 - Mirrativ Tech Blog
                            • tblsとGitHub Actionsを使ってDBマイグレーションを含むPRには自動更新したER図を追加する - BASEプロダクトチームブログ

                              BASEアドベントカレンダー2021 10日目の記事です。 BASEアドベントカレンダー2021 10日目 BASE BANKでエンジニアをしている @budougumi0617 です。 マイグレーションファイルが含まれたPull Request(PR)が作られたとき、自動更新したER図をPRに追加するGitHub Actionsを作りました。 本記事では紹介するGitHub Actionsを利用すると次のようなメリットが得られます。 マイグレーションファイルをPRに出すだけでPRに更新されたER図が追加される 開発者は面倒なER図の更新作業から開放される レビューアはマイグレーションファイルを含んだPRをER図を見ながらレビューできるようになる プロジェクト関係者は常にメインブランチのマイグレーションファイルの状態と一致したER図を確認できる サンプルPR 自動生成したER図 TL;DR

                                tblsとGitHub Actionsを使ってDBマイグレーションを含むPRには自動更新したER図を追加する - BASEプロダクトチームブログ
                              • RDS Proxyを用いたオンラインスイッチオーバーによるMySQLのアップグレードについて - freee Developers Hub

                                おはこんばんちは、DBREの橋本です。 今回は、Amazon RDS Proxy(以降RDS Proxyとよぶ)を用いたRDS for MySQLインスタンスおよびAurora MySQLクラスタのオンラインスイッチオーバーの手法について、ある程度社内での運用が確立してきましたので解説いたします。 従来のアップデート手法 AWS上でRDS for MySQLインスタンスやAurora MySQLクラスタ(以降これらをデータベースとしてまとめてよぶ)を運用している場合、それらのエンジンバージョンの更新を行ったり、OSバージョンの更新に伴う再起動を実施する必要があります。これらの更新を行う場合、以下のような方法が考えられます。 対象のデータベースに直接更新を適用する スナップショットを作成し、更新済みのデータベースとして復元する 更新済みの空のデータベースを新規作成し、そちらにデータを移行し、

                                  RDS Proxyを用いたオンラインスイッチオーバーによるMySQLのアップグレードについて - freee Developers Hub
                                • 【早めに準備を!】2020年にAmazon Relational Database Service (RDS)/Amazon AuroraでSSL/TLS証明書をアップデートする必要が生じます | DevelopersIO

                                  【早めに準備を!】2020年にAmazon Relational Database Service (RDS)/Amazon AuroraでSSL/TLS証明書をアップデートする必要が生じます Amazon Relational Database Service (RDS)やAmazon Aurora�をお使いの皆さまへお知らせです。2020年3月5日までにCA証明書の更新が必須となります。CA証明書の更新までのスケジュールやコンソール上で証明書の変更手順についてまとめたので、早めに準備を始めましょう! 先日のDevelopers.IO 2019 TOKYOのランチ時に出てきたお弁当の中身が、実質1/2白米という半ライス状態だった事に驚きを隠せませんでした。え?半ライスってそういう事じゃなく? ▲ でも美味しかった 「うーん……白米とおいなりさんで米がダブってしまった」と脳内で呟いていた、

                                    【早めに準備を!】2020年にAmazon Relational Database Service (RDS)/Amazon AuroraでSSL/TLS証明書をアップデートする必要が生じます | DevelopersIO
                                  • AWS、追加料金なくAmazon RDS for PostgreSQLの性能を最大2倍に引き上げる「Amazon RDS Optimized Reads」のAmazon RDS for PostgreSQL対応を発表

                                    AWSは、追加料金なしでAmazon RDS for PostgreSQLの性能を最大2倍に引き上げる「Amazon RDS Optimized Reads」のAmazon RDS for PostgreSQL対応を発表しました。 Amazon RDS Optimized Readsによる高速化の仕組み Amazon RDSは、データベースを格納するストレージとしてネットワーク上のElastic Block Storage(EBS)を利用しています。 今回リリースされたAmazon RDS Optimized Readsは、PostgreSQLがデータベース処理の際に生成する一時テーブルを、EBSの代わりにローカルのNVMeベースのSSDブロックレベルストレージに配置することで、ネットワーク上のEBSへのトラフィックを削減し、一時テーブルの処理を高速化、これによりクエリの高速処理を実現して

                                      AWS、追加料金なくAmazon RDS for PostgreSQLの性能を最大2倍に引き上げる「Amazon RDS Optimized Reads」のAmazon RDS for PostgreSQL対応を発表
                                    • MySQL 5.7でクライアントプログラムがCPUを食いつぶす件 - (ひ)メモ

                                      同根のバグレポートが散見されますが、ここ数ヶ月、状況をみるに修正される見込みがなさそうなので記録しておきます。 事象 MySQL 5.7 の libmysqlclient (libmysqlclient.so.20) を使用しているプロセスが、無限ループに突入して CPU (user%) を食いつぶし続ける。 PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 28150 hirose31 20 0 32488 6080 5492 R 93.8 0.3 0:16.70 mysql 発現条件 MySQLが提供しているパッケージのMySQL 5.7.25, 5.7.26, 5.7.27 で確認。 Ubuntu 18.10, mysql-community-client 5.7.25-1ubuntu18.10 Ubuntu 18.04, m

                                        MySQL 5.7でクライアントプログラムがCPUを食いつぶす件 - (ひ)メモ
                                      • Repro のサーバーサイド開発環境を M1 Mac に対応させるまでの道のり(再始動編) - Repro Tech Blog

                                        こんにちは、@r_takaishi です。近所にスパイスカレーのお店ができてハッピーです。今回は、Reproのサーバーサイド開発環境におけるM1 Mac対応を改めて行ったので、やったことを紹介します。 なお、これまでの経緯は以下の通りです。 前回 Repro のサーバーサイド開発環境を M1 Mac に対応させるまでの道のり(撤退編) - Repro Tech Blog 前々回 Repro のサーバーサイド開発環境を M1 Mac に対応させるまでの道のり - Repro Tech Blog いつのまにかConfluent PlatformがM1 Mac上のDockerで動くようになっていた Repro のサーバーサイド開発環境を M1 Mac に対応させるまでの道のり(撤退編) - Repro Tech Blog ではConfluent Platformのコンテナイメージがx86_64の

                                          Repro のサーバーサイド開発環境を M1 Mac に対応させるまでの道のり(再始動編) - Repro Tech Blog
                                        • MySQLの運用を助けるかも知れないオープンソースのソフトウェア

                                          2019/11/23 オープンソースカンファレンス2019 Tokyo

                                            MySQLの運用を助けるかも知れないオープンソースのソフトウェア
                                          • [記事下書き] MySQL/Postgres におけるトランザクション分離レベルの実際

                                            実際はどう? 共通で言えること MySQL/Postgres とも,ファジーリードとファントムリードはセットで起こったり起こらなかったりするようになっているため, SQL 標準のように更新なのか新規・削除なのかを意識する機会は少ないです。 一貫性読み取りで参照するデータは,更新時に参照するデータ本体とは隔離された スナップショット になります。 文の種類 アクション 参照先 ロック

                                              [記事下書き] MySQL/Postgres におけるトランザクション分離レベルの実際
                                            • RDBでのツリー表現入門2024 | ドクセル

                                              「楽しく楽にcoolにsmartに」を理想とするprogrammer/philosopher/liberalist/realist。 好きな言語はClojure, Haskell, Python, English, français, русский。 読書、プログラミング、語学、法学、数学が大好き! イルカと海も大好き🐬

                                                RDBでのツリー表現入門2024 | ドクセル
                                              • PostgreSQLのソースコードの構造

                                                どこで手に入るの? 何がはいってるの? srcディレクトリを見てみる src/backendディレクトリにあるサーバ側のコードを見てみる ソースコードを読む際に知っておくと便利な関数 SQLを受け取り、処理する所 COPYやALTER TABLE等のDDLやSQLコマンドを実行する所 ソースコードを読む時に知っておくと便利な事(2020/12/15 追記) palloc()とpfree()関数 ereport()とelog()関数 先日のPostgreSQLアンカンファレンスでPostgreSQLのソースコードのディレクトリ構成や読み方について簡単に紹介しました。 ソースコードのディレクトリ構成は今後変わる予定があるので、ブログにまとめて今後も適宜アップデートしていこうと思います。 以下の説明はPostgreSQL 13をベースとしています。 どこで手に入るの? 公式のgitリポジトリ g

                                                • MySQLの運用をコードで定義し大幅に自動化する「MySQL Operator for Kubernetes」がオープンソースで公開[PR]

                                                  MySQLの運用をコードで定義し大幅に自動化する「MySQL Operator for Kubernetes」がオープンソースで公開[PR] Kubernetesのようなコンテナ環境では、MySQLデータベースのようなステートフルで高い安定性が求められるソフトウェアを運用することは難しいと、以前は考えられていました。 しかし現在ではステートフルセットのような機能もKubernetesは搭載し、実装も安定してきていることから、ステートフルなアプリケーションをKubernetesで実行できる状況が十分に揃ってきました。 それだけではありません。Kubernetesには運用自動化を支える「Operator」と呼ばれる拡張機能が登場しました。これを用いると、Kubernetes上でさまざまなアプリケーションでの運用作業の多くが人手を介することなく自動的に行えるようになります。 そしてこのOpera

                                                    MySQLの運用をコードで定義し大幅に自動化する「MySQL Operator for Kubernetes」がオープンソースで公開[PR]
                                                  • Amazon RDS Proxy for Scalable Serverless Applications – Now Generally Available | Amazon Web Services

                                                    AWS News Blog Amazon RDS Proxy for Scalable Serverless Applications – Now Generally Available At AWS re:Invent 2019, we launched the preview of Amazon RDS Proxy, a fully managed, highly available database proxy for Amazon Relational Database Service (RDS) that makes applications more scalable, more resilient to database failures, and more secure. Following the preview of MySQL engine, we extended

                                                      Amazon RDS Proxy for Scalable Serverless Applications – Now Generally Available | Amazon Web Services
                                                    • 不揮発性メモリに最適化したMySQLの高可用性構成

                                                      ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog みなさん、こんにちは! ヤフーでデータベースエンジニアをしている松浦です。 以前、不揮発性メモリに最適化したMySQLのストレージエンジン開発についてのブログ記事を執筆いたしました。 今回のブログ記事は、その続報です。不揮発性メモリ上のデータベースにおける、高可用性構成やその監視・運用に関わる研究開発成果をご紹介します。 前回記事の振り返り さて、本題に入る前に、まずは、前回のブログ記事の簡単な振り返りをさせてください。 前回のブログ記事では、DRAMのようにバイト単位でアクセスが可能だが、DRAMとは異なり、サーバの電源遮断後もデータが残り続け、また、NVMe SSDよりも高速な記憶デバイスである「不揮発性メモリ」の紹介をしまし

                                                        不揮発性メモリに最適化したMySQLの高可用性構成
                                                      • M1 Mac の Docker Desktop のアプデを mysql で確かめる

                                                        mysql:5.7 は ARM64 のコンテナイメージが提供されていないため、--platform linux/amd64 の指定が必須だった 指定しない場合 $ docker run --rm -it mysql:5.7 docker: no matching manifest for linux/arm64/v8 in the manifest list entries. See 'docker run --help'. $ docker run --rm -it --platform linux/amd64 mysql:5.7 2023-01-15 10:42:26+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 5.6.51-1debian9 started. 2023-01-15 10:42:26+00:

                                                          M1 Mac の Docker Desktop のアプデを mysql で確かめる
                                                        • MySQL 8.0のクライアントでMySQL 5.7のサーバーに接続するとcharsetが設定されないかもしれない - かみぽわーる

                                                          mysql_options(mysql, MYSQL_SET_CHARSET_NAME, cs_name) だけして mysql_real_connect(mysql, ...) した後SHOW VARIABLESしてみたら接続のcharsetが設定済みの挙動をするんやけどmysql_real_connectからの一連のコード読んでもどこでそれが起きるのかわからん誰かたすけて🥲https://t.co/ZScoD3tIQ8— Ryuta Kamizono (@kamipo) February 20, 2021 MySQLのハンドシェイクパケットにcollation_idを1バイトだけ入れられるところがあって、charset name のデフォルトの collation_id を送っています。 クライアントとサーバーのバージョンが違うとデフォルトのcollation_idが違うことがあって

                                                            MySQL 8.0のクライアントでMySQL 5.7のサーバーに接続するとcharsetが設定されないかもしれない - かみぽわーる
                                                          • 「ダブルチェックを頑張る」でごまかさない、スクウェア・エニックスのサーバ設定漏れ防止策

                                                            「ダブルチェックを頑張る」でごまかさない、スクウェア・エニックスのサーバ設定漏れ防止策:たくさんのサーバを一気に構築できる“自律構築の仕組み”とは(1/3 ページ) スクウェア・エニックスは膨大な数のゲームを提供している。当然、それらを支えるインフラも大量で、運用管理にかかる手間も大きい。「Cloud Operator Days Tokyo 2023」のセミナーを基に、大量サーバの最適な管理法を紹介する。 変化の激しい現在のビジネス環境において、アプリケーションやサービスもその変化に素早く対応する必要がある。もちろん、それを支えるインフラについても同様だ。クラウドサービスやIaC(Infrastructure as Code)などを活用し、効率的にインフラを管理している企業も多いだろう。 ただ、ある意味でインフラは生き物だ。作った当初は問題なくても、管理する対象が増えたり、長期間運用してい

                                                              「ダブルチェックを頑張る」でごまかさない、スクウェア・エニックスのサーバ設定漏れ防止策
                                                            • Aurora MySQLのメモリ不足の原因を特定する

                                                              シンプルフォーム株式会社で SRE をしている守屋です。 本記事では Aurora MySQL の OOM(メモリ不足)エラーについて、原因となるクエリを特定するために役立つ Tips を弊社での実例を交えてご紹介します。 発端 突如 Slack に鳴り響く不吉な通知。 「パターン青!障害です!!」 どうやら本番環境の Aurora クラスターがフェイルオーバーしてアプリケーションが DB コネクションエラーを引き起こした模様です。幸いインスタンスは冗長化していて Aurora のフェイルオーバーは高速であるため、ユーザー目線では瞬断が発生した程度の比較的影響が小さめな障害に留まりました。しかし SRE としては捨ておけない状況です!早速原因の調査を始めました。 フェイルオーバーの原因 結論から言うとメモリ使用量がスパイクして OOM エラーが発生したことが原因でした。根拠としては Aur

                                                                Aurora MySQLのメモリ不足の原因を特定する
                                                              • Faster MySQL with HTTP/3 — PlanetScale

                                                                Over here at PlanetScale, we offer you a MySQL database. As a part of this offering, it is critical that we offer you a MySQL protocol-compatible interface to access. This enables using mysql-client as well as any MySQL-compatible driver for your favorite language. But what if we weren’t constrained by this? Could we provide an alternative interface and API? The backgroundAs a part of some of our

                                                                  Faster MySQL with HTTP/3 — PlanetScale
                                                                • 無償版PaaSだけでGithubでログインするNext.jsアプリを作る - Qiita

                                                                  最近next.jsでいろいろアプリを作っているのですが、そのときにnextauthというライブラリで認証機能をさくっと作れることを知りまして、作ってみようと思いました。 自分のGithubのレポジトリはこちらです。 やりたいこと Next.jsでウェブアプリを作る Githubで認証できるようにする データベースにログイン情報を保存できるようにする すべて無料サービスで行う 使う技術構成 Next.js Typescript nextauth mysql Docker Prisma 使うサービス Github App Vercel Heroku ClearDB ファイル構成 tree -I node_modules . ├── README.md ├── app │   ├── LICENSE │   ├── README.md │   ├── components │   │   ├──

                                                                    無償版PaaSだけでGithubでログインするNext.jsアプリを作る - Qiita
                                                                  • MySQL 8.0 は遅くなってきてる?何故?(1)

                                                                    いろいろありますが、今後のことを考える前にまずは、バージョン8.0.xの現状を一旦整理・理解してから決めようと思います。 念を押しておきますが、このブログの「内容は個人の考えであって、所属組織とは方針が異なる」と考えてください。 MySQL内部の人は、クラウドとか最新のサーバーとかしか利用していないのかも知れず、MySQL 8.0 が日に日に遅くなっていることに気づいていない人しかいないのでしょう。しかし、数年前のローカルPCで動かすと年々動作が鈍くなっているのを感じます。マイナーバージョンアップで単スレッド性能が下がり続けるなんて商用システムではリスキーです。 証明が難しく、ずっと放置せざるを得なかったのですが、非常に重要な事柄ですので今一度、オープンになっているソースを基に分析をしてみます。 まず、測るモノサシを決めましょう。以前のエントリ「MySQLバージョンアップによるInnoDB

                                                                      MySQL 8.0 は遅くなってきてる?何故?(1)
                                                                    • クエリログを使ったAurora MySQLの負荷テスト - クックパッド開発者ブログ

                                                                      最近はZX-25Rが気になっている菅原です。4気筒250ccといえば、以前バリオス2に乗っていたんですが、あれもよく回るよいバイクでした。足つきの良さが懐かしいです。 この記事では、クエリログを使ったAurora MySQLの負荷テストの話を書きます。 MySQLの負荷テスト サービスに使われているデータベースは、Webサーバと比べて自動的なスケールアップ・スケールアウトが簡単ではないためキャパシティプランニングは非常に重要です。サービスへのアクセス増による負荷増大の結果、急激に性能が低下するためなるべく事前にキャパシティを把握しておきたいところです。 クックパッドではサービスのデータベースとして主にAurora MySQLを利用しているのですが、キャパシティを把握するための負荷テストには以前から苦労してきました。 1. シナリオを書くのが大変 サービスで使われているデータベースの負荷テス

                                                                        クエリログを使ったAurora MySQLの負荷テスト - クックパッド開発者ブログ
                                                                      • 【30歳/完全未経験/独学】webアプリを作製しました【Golang, Next.js, MySQL, Docker, GitHub Actions CI, AWS Fargate on ECS】 - Qiita

                                                                        完成物 ER図 画面遷移図 figma, 原寸画像 AWS構成図 ※備考※ GitHub Actions CIは構築済みです。 GitHub Actions CD, apiのprivate subnet化にも取り組んでいます。 EC2インタンスは通常時停止です。 技術選定理由 プログラミング、IT業界ともに未経験で着手し独学で作りました。 Go 比較対象:JAVA、Ruby、Python、PHP コンパイラ言語であり実行速度が高速である 静的型付けであり、コンパイル前にバグを発見しやすい 静的型付けかつ記述自由度が低いことから、以下2点を利点と考えた 開発を中長期まで続けた際にも、加筆・改修しやすい 他人のコードを読んだ際に学びやすい Javaも多少書いてみたが、簡素にかけるGoの方がしっくりきた SHOWROOM、IRIAM、Twitch、AbemaTVといった動画配信サービスにも採用さ

                                                                          【30歳/完全未経験/独学】webアプリを作製しました【Golang, Next.js, MySQL, Docker, GitHub Actions CI, AWS Fargate on ECS】 - Qiita
                                                                        • 第230回 MySQLの遅延レプリケーションについて | gihyo.jp

                                                                          MySQLではレプリケーションがよく利用されます。また、アプリケーションは負荷分散のために、ソースだけでなくレプリカを参照系として利用することも多いです。しかし、レプリケーションは遅延するリスクがあります。そのため、アプリケーションは高負荷やロングトランザクションによる想定外の遅延が起こることを考慮して、設計や実装を検討しなければなりません。 MySQLでは遅延レプリケーションをサポートしています。遅延レプリケーションとは、ソースよりもレプリカへの適用を指定した時間だけ意図的に遅らせることができる仕組みです。ステートメント単位ではなく、トランザクション単位で遅延を発生させます。ソースへのトランザクション実行から指定した時間後に、レプリカに対してそのトランザクションを適用することになります。トランザクション内の各ステートメントは待機時間なく実行されます。 今回はこの遅延レプリケーションの設定

                                                                            第230回 MySQLの遅延レプリケーションについて | gihyo.jp
                                                                          • メンテナンスウィンドウを使わない - @katzchang.context

                                                                            6年ほど無停止のサービスを運用してきた私の経験からすると、メンテナンスウィンドウ、つまり計画的メンテナンスに対するアラート発砲を抑制する機能は、使わないほうがうまくいく。仕事の中でも度々メンテナンスウィンドウの話題が出てきたので、個人の見解としてまとめてみたい。 計画的メンテナンスの手順 対外的に無停止だとしても、内部的には停止を伴うメンテナンスをすることがある。たとえば、MySQLを止めることはたまにある。まずは、どのようにメンテナンスを進めていくのかを整理しよう。 内部的な停止を伴うメンテナンスの際は作業に必要な時間とともに、アラートが起こる範囲を予測し、予告しておく。予告の範囲を決めるのは単純で、アラートが届くだろうチャンネルにお知らせしておけばいい。以前のチームではメールとSlackチャンネルを使っていたので、そこに書いていた。準備はこれでいい。 メンテナンス作業が始まる(たとえば

                                                                              メンテナンスウィンドウを使わない - @katzchang.context
                                                                            • MySQLバージョンアップによるInnoDB性能劣化可能性事件簿

                                                                              一般論ですが、どんな基盤ソフトでもCPUスケールを上げようとすれば、何らかの排他制御を細かく行うことになるのでCPUのパイプライン処理にブレーキをかけるアトミックな処理が増えて、バージョンが上がるとある程度はシングルスレッドの処理は重くなっていきます。前エントリのような言語の高度化により遅くなる事情もあります。(中には、Redisのように並列を捨てて排他処理を完全排除する潔い逆振りプロダクトもありますが。) とはいえ、「これは(条件付きとはいえ)急に遅くなりすぎだろ!」と私も思うバージョン(回避策はある&一開発者の一存ではどうにもできない)があるので遡って何点か挙げて注意喚起したいと思います。 これらはある程度限られた条件で発生するので世間では怪奇現象扱いされている可能性もあります。 何故こんなことになるのかというと、基盤となるmysqld側の変更に上手くついていけなくなってるか、性能上メ

                                                                              • MySQLの知らないと怖い話-注意点を記載

                                                                                今回はMySQLの怖い話(注意点)について書いていきます。知っていれば大丈夫! 具体的には以下の点について書いていきます。 デフォルト設定では大文字と小文字を区別しませんNULLと空文字は別ものですIN句の中に大量の値の入れるとパフォーマンスが劣化するREPLACE句の挙動CONCATで文字列連結時に、ひとつでもNULLな項目があると、結果はNULLになるUNIQUE インデックス制約では、文字列の後のスペースが無視される知っていれば大丈夫なので、1つずつ確実に理解していきましょ★ デフォルト設定では大文字と小文字を区別しません検索時に「hoge」をキーとして検索した場合、テーブルデータに「hoge」「HOGE」「Hoge」があったとすると、全てヒットします 大文字・小文字を区別せずに検索しますUNIQUE インデックスがあるテーブルにデータ登録する場合、テーブルデータに「hoge」がある

                                                                                  MySQLの知らないと怖い話-注意点を記載
                                                                                • コーディング不要でGraphQLサーバが作れるPrismaを触ってみて可能性を感じた - SMARTCAMP Engineer Blog

                                                                                  スマートキャンプのエンジニア瀧川です。 弊社では昨年からエンジニア合宿を企画していまして、今年は10月15日から17日までの2泊3日で実施しました! 合宿のテーマや全体感は別記事でまとめるかなと思いますが、3日の限られた時間で1チーム(4人)1つのプロダクトを作り、成果として発表する必要がありました。 この条件だとあまり技術的なチャレンジもできないな...と感じてはいたのですが、どうしてもチーム内でGraphQL触りたい欲求が高まってしまったので、なんとか負荷があまりかからない形で導入できないか調べて見つかったのがPrismaというツールでした! 本記事ではPrismaを試した際のメモ、Tips、所感を書いていきます! (公式でPrisma2がアナウンスされてますが、ほぼ別物なので今回はPrisma1について書いています) (多分最終的な成果物の進捗は、慣れ親しんだツールを使った場合とほぼ

                                                                                    コーディング不要でGraphQLサーバが作れるPrismaを触ってみて可能性を感じた - SMARTCAMP Engineer Blog

                                                                                  新着記事