並び順

ブックマーク数

期間指定

  • から
  • まで

361 - 400 件 / 1542件

新着順 人気順

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

  • 【EOL間近】Amazon RDS for MySQL 5.7の標準サポート終了とバージョンアップ前の影響確認について - ForgeVision Engineer Blog

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

      【EOL間近】Amazon RDS for MySQL 5.7の標準サポート終了とバージョンアップ前の影響確認について - ForgeVision Engineer Blog
    • MySQL 8.0 パーティショニングを理解する - ROXX開発者ブログ

      この記事は個人ブログと同じ内容です www.ritolab.com パーティショニングは MySQL 5.1 から利用できますが、パーティショニングとは何者なのか。MySQL 8.0 でパーティショニングを理解していきます。 パーティショニング パーティショニングでは、指定したルールに従いテーブルの各行をパーティション分割したファイルシステムに配分します。 これによって同じテーブルのレコードでもそれぞれ配分された箇所が内部的にはあたかも別のテーブルのように個別の場所に格納されます。 テーブルは 1 つで操作もこれまでと変わりませんが、ファイルシステムにおける内部的なデータの持ち方としてはパーティション分割されたそれぞれの場所に保存されていきます。 こうすることでパーティショニングすべき状況と合致する場合はデータの読み出しをはじめとした操作を効率的に行うことができ、クエリ実行時のパフォーマン

        MySQL 8.0 パーティショニングを理解する - ROXX開発者ブログ
      • MySQL5.6のオンラインDDLでメタデータロックがかかった話 - R-Hack(楽天グループ株式会社)

        こんにちは、ラクマの宮崎です。 MySQLのオンラインDDLを実行する際にメタデータロックがかかってしまい困ったので、オンラインDDLとメタデータロックについて調べて手元で試したことをまとめました。 MySQLのバージョンは 5.6、ストレージエンジンは InnoDB です。 この記事の多くは、MySQL 公式ドキュメントの以下のページを参考に書いています。 公式ドキュメント①:14.11.1 オンライン DDL の概要 公式ドキュメント②:14.11.2 オンライン DDL でのパフォーマンスと並列性に関する考慮事項 DDLとは オンラインDDLとは オンラインDDLに対応しているDDL Ruby on RailsのMigrationでオプションをつける方法 オンラインDDLの注意点とWaiting for table metadata lock が発生するケース Waiting for

          MySQL5.6のオンラインDDLでメタデータロックがかかった話 - R-Hack(楽天グループ株式会社)
        • dbs-002.dvi

          Foundations and Trends R � in Databases Vol. 1, No. 2 (2007) 141–259 c � 2007 J. M. Hellerstein, M. Stonebraker and J. Hamilton DOI: 10.1561/1900000002 Architecture of a Database System Joseph M. Hellerstein1 , Michael Stonebraker2 and James Hamilton3 1 University of California, Berkeley, USA, hellerstein@cs.berkeley.edu 2 Massachusetts Institute of Technology, USA 3 Microsoft Research, USA Abstra

          • MySQLのレプリケーション構築手順 - オープンソースこねこね

            久しぶりにそういうことをやったので、備忘録です。 前提と方針 手順 マスターの設定 スレーブの設定 マスターサーバのデータをスレーブにコピーする マスターを起動する スレーブを起動する スレーブのレプリケーションを開始する 前提と方針 マスター、スレーブ構成のレプリケーションを設定するための手順です。MySQLのバージョンは5.7を対象とします。 OSはCentOS7です。 レプリケーションに関わる基本的な概念(バイナリログ、サーバーID)は既知のものとして解説はしません。 レプリケーション設定以前のスタンドアロン環境での運用における設定は済んでいるものとします。 MySQL5.7では従来の方式に加えて、GTIDベースによるレプリケーションが利用可能になっています。マスター接続時にバイナリログのポジションを指定する必要がないなど、運用上のメリットが多いと判断したので、この方式で構築します。

              MySQLのレプリケーション構築手順 - オープンソースこねこね
            • 最近の 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
                                • LINEマンガのデータベースをシャーディングしました (データベースエンジニア編)

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

                                    LINEマンガのデータベースをシャーディングしました (データベースエンジニア編)
                                  • 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
                                            • MySQL Weekly

                                              MySQL Weeklyでは1週間ごとにMySQLのrelease-note, bug, official blog, organizationによるblog, 個人のblogをまとめ紹介しています。 更新は月曜 10時(AM)です。先週一週間のMySQL関連の更新を再確認するのにご活用ください。 また、このブログ記事はGitHub上で管理されていますMySQL-weekly repository。Issue, pull-request歓迎です。(完全に同期できているわけではありません) お知らせ 本日の記事をもってMySQL Weeklyは最後の記事になります。 理由はメンテナンスコストが高いように感じるので、今後は読んだ記事で理解したことや実験したことだけを中心にアウトプットしたいためです。 そういった今後の内容はtom__bo's blogの方にまとめる予定なので、こちらを見ていただ

                                                MySQL Weekly
                                              • 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