タグ

mysqlに関するindicationのブックマーク (103)

  • BEGIN 中に BEGIN をすると COMMIT される

    この記事は MySQL Advent Calendar 2023 2日目の記事です。 (ちょっとフライング。。) 今回は僕がマジか、と思ってしまった MySQL の挙動について共有させていただきます。 BEGIN 中に BEGIN をすると COMMIT される 結論から言うとこれだけです ^^;; アプリエンジニアの方からお問い合わせをいただいた時にはこのことを意識したことすらなかったのでトランザクションの終了は COMMIT or ROLLBACK にてされるのだという先入観で動いていました。 ざっくりと言うとこんな感じ BEGIN; INSERT INTO testtable VALUES (1); BEGIN; このタイミングで別のターミナルを立ち上げて中身を確認するとなんと testtable には 1 という値が入っています。 個人的にはまじかーー、な挙動だったのでもしかしたら

    BEGIN 中に BEGIN をすると COMMIT される
  • 「開発者向けの MySQL 入門」という勉強会をしました - しなしな記録

    今、自分が所属している会社では、いわゆるフルサイクルなアプリケーションエンジニアがほとんどで、SRE のような、システムを運用改善することを専門にするメンバーは居ません。一方でそれなりにプロダクトの数は多く、各種ミドルウェアの運用で困っているのを見かけることがあります。 色々な人が似た問題に悩むのはもったいないので、「MySQL を運用したことがある人からすると、こういう考え方をする」という風な目線で勉強会を行いました。せっかくなので社内の情報を抜いたうえで公開します(同じようなことを色々な場所で言っていて、その都度作り直しているから……というのもあります)。 speakerdeck.com ちなみに DB のどこで悩むかはだいぶ業界ドメインに左右されると思っています(それはそう)。ゲーム業界なんかは、激しくスパイクするワークロードな上にミスったときの機会損失が激しいので、シャーディングを

    「開発者向けの MySQL 入門」という勉強会をしました - しなしな記録
    indication
    indication 2024/04/05
    log_slow_extra 気になる
  • PostgreSQLとMySQLのメジャーバージョンアップのためのチートシート作った - そーだいなるらくがき帳

    中国地方DB勉強会 in 岡山の登壇資料です。 そのうちここで登壇動画が公開されることでしょう。 肝心なチートシートは以下のとおり。 PostgreSQL gist.github.com MySQL gist.github.com チートシートだけじゃわからない!困ってる! Have Fun Techがバージョンアップのサポートしますのでお気軽にご相談ください。 have-fun.tech まとめ やっぱ中国地方DB勉強会は最高だぜ!

    PostgreSQLとMySQLのメジャーバージョンアップのためのチートシート作った - そーだいなるらくがき帳
  • MySQLのcollationの動作を体系的に理解する - shallowな暮らし

    はじめに collationとは二つの文字の間の順序を定義するものです。こう言われるととても単純に聞こえるのですが、MySQLのcollationの詳細な動作は実は結構複雑です。 この記事はcollationの挙動に関する体系的な解説と様々な具体例を元にcollationに対する理解を深め、collationの問題のトラブルシューティングの筋道を立てる事を目的としています。なお、この記事は大まかなcollationの動作の説明を目的としており、全てを網羅しているわけではありません。詳細な動作はMySQLの公式ドキュメントの方が丁寧ですので実際のトラブルシューティングではドキュメントもご活用ください。 なお、この記事での検証はMySQL8.0.31を利用しています。 collationの基礎 collationは冒頭で説明したように二つの文字の順序関係や同値関係を決めるものです。collat

    MySQLのcollationの動作を体系的に理解する - shallowな暮らし
  • MySQL/Postgres におけるトランザクション分離レベル

    MySQL/Postgres におけるトランザクション分離レベルと発生するアノマリーを整理する https://zenn.dev/mpyw/articles/rdb-transaction-isolations 上記のスライドの具体的な結論に至るまでの導入として,知識があまりない状態でも段階的に…

    MySQL/Postgres におけるトランザクション分離レベル
  • MySQL/Postgres におけるトランザクション分離レベルと発生するアノマリーを整理する

    読者対象 ANSI 定義の古典的なトランザクション分離レベルとアノマリーは概ね理解している MySQL/Postgres では理論的な部分がどうなっているのかを知りたい 理論面の前提知識 2022-08-19 追記: 社内勉強会向けのスライドを作成しました。先にスライドを見てから,引用文献およびこの記事を読むと理解が深まると思います。 まず ANSI 定義の古典的な定義を聞いたことが無い方は,以下のリンクを参照されたい。 ANSI 定義に対応する解説はこれらのサイト以外にもたくさんあるため,自分にとって読みやすいと感じる情報をあたってほしい。(既に熟知されている方は十分) 次点で読んでいただきたいのが, @kumagi さんの以下の記事。古典的には 4 つの分離レベルと 3 つのアノマリーだけで説明されていたものの,不十分であることが学術的に指摘され,解像度を上げようとする流れが後になって

    MySQL/Postgres におけるトランザクション分離レベルと発生するアノマリーを整理する
  • PayPayの1秒あたり1000決済への道のり

    パフォーマンス・チューニングに関するブログの第1回目です PayPayは、日でもっともよく知られているQR決済サービスとなりました。2018年10月5日のローンチ後、2018年12月より実施した100億円あげちゃうキャンペーンは、その後のプロダクトの急成長に合わせたシステムのスケール拡張という長い道のりのスタート地点でもありました。 ここ数ヶ月の新規ユーザーの増え方[1]を見るにつけても、PayPayが驚異的な成長を続けていることは間違いありません。スタートアップ企業はまるで竹のように成長するとはこのことではないでしょうか。(竹は24時間で最大約90cmも伸びるそうです) PayPayの成長速度は? ユーザー数の伸び 2018年10月に初めてユーザーが増え、キャンペーンや日々メディアで報道されることによるユーザー数の増加もあり、1年後には1500万人を突破しました。2020年5月現在、サ

    PayPayの1秒あたり1000決済への道のり
    indication
    indication 2020/06/01
    Amazonが止まった日、PayPayも止まったのは、こう言うことか。Auroraすごい。トランザクション数がワケわからない桁数になってる
  • 「MySQL 8.0 の薄い本」を作って配っている話 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? タイトルの通り、「MySQL 8.0 の薄い」(薄くない)を以下のリポジトリで配布しています。 https://github.com/hmatsu47/mysql80_no_usui_hon 出掛けた先のイベント・勉強会などでも物理を配布しています。 2019/08/08 追記:MySQL 8.0.17 対応版をリリースしました。 2019/10/27 追記:MySQL 8.0.18 対応版をリリースしました。 2019/12/20 追記:MySQL 8.0.18 対応版第 2 刷をリリースしました。 2020/01/04 追記:M

    「MySQL 8.0 の薄い本」を作って配っている話 - Qiita
  • PostgreSQLとMySQL、使うならどっち? データベース専門家が8つの視点で徹底比較!|ハイクラス転職・求人情報サイト AMBI(アンビ)

    PostgreSQLMySQL、使うならどっち? データベース専門家が8つの視点で徹底比較! オープンソースのデータベースとしてよく比較されるPostgreSQLMySQL。どんな長所・短所があるのでしょう? それぞれの専門家による対談で明らかにします。 エンジニアとして働いていると必ず直面する悩み。それは、「どのリレーショナル・データベース(以下、RDB)を選ぶのが最善なのか?」です。 RDBごとに長所と短所は異なっています。そのため自社サービスにマッチしないRDBを選んでしまうと、それがボトルネックとなり開発・運用にトラブルが生じるケースは少なくありません。 なかでもよく比較検討されるのが、PostgreSQLMySQL。ともにオープンソースRDBのデファクトスタンダードであり、高い性能と数多くの機能を持っています。 では、両者は具体的にどのような長所・短所があるのでしょうか。そ

    PostgreSQLとMySQL、使うならどっち? データベース専門家が8つの視点で徹底比較!|ハイクラス転職・求人情報サイト AMBI(アンビ)
    indication
    indication 2017/09/06
    DDLのトランザクションについては触れないのね...開発者視点からのレビュー。運用管理だとどっちになるんだろ。レプリケーション関連でバトルになりそう(バージョンによる)
  • MySQLの文字コード事情 2017版

    シリコンバレーのスタートアップを数多く取材する中で気付いた「シリコンバレーにおけるディシプリン(規律)の存在」や「General Electric(GE)やIBM、SAPといった老舗企業が必死になってシリコンバレーのスタートアップを真似している理由」、そして「日企業がイノベーションを実現するための処方箋」について解説します 詳しく知りたい場合は「GE 巨人の復活」をご覧下さい。 http://www.nikkeibp.co.jp/atclpubmkt/book/17/P55110/ 今後の記事は「シリコンバレーNext」をご覧下さい。 http://itpro.nikkeibp.co.jp/siliconvalley/

    MySQLの文字コード事情 2017版
    indication
    indication 2017/02/03
    文字コードは注意しないと嵌まる
  • MySQLさんからColumn not foundって言われているけど、ログを見る限りそのカラムはSQLのどこにも出現しない

    どぅーあき @do_aki MySQL さんから Column not found って言われているけど、ログを見る限りそのカラムは SQL のどこにも出現しない……。なんだこれ 2016-11-08 16:09:58

    MySQLさんからColumn not foundって言われているけど、ログを見る限りそのカラムはSQLのどこにも出現しない
    indication
    indication 2016/11/08
    なにこれ、有料サポートよりも早い解決って…
  • PHPerに知ってほしいRDBな事

    PHPカンファレンス2016@北海道の資料です http://phpcon.sapporo-php.net/2016/

    PHPerに知ってほしいRDBな事
    indication
    indication 2016/04/17
    window関数便利って、mysqlを(以下略)
  • MySQLではできないことができるデータベース(広義)達

    自分は一応暫くMySQLの開発者だったので、MySQLでできることできないことはすぐわかる訳です。現実的な問題と対峙すること1年間、MySQLは使えることにしか使わないわけで、そうすると構築してしまうと、アラートメールが全く来ないので、水や空気のように存在を忘れてしまいます。でも、使えないことには全く使う気がしないわけで…。というわけでMySQLは結局逆にあまり触れていません。限られた範囲では完成を見ているというわけでしょうか。 データを処理して何か貯めて利用できるものをデータベースとするならば、MySQLを適用する気も起きないような領域があって、近年はそのような領域に挑む別の道具が出てきています。 今回は趣向を変えて、いろいろ現状MySQLでは扱えない問題の解決法を模索したことについて少し触れます。MySQLを離れた話題ですが、いつか遠い未来にMySQLの世界に持って帰る事柄かも知れませ

    indication
    indication 2016/03/14
    てっきり、poatgresqlのことだろうと思ったが、そもそも違ってた
  • MySQL使いが知るべきPostgreSQLとの違いと変わらない一つのこと

    — そーだい@初代ALF (@soudai1025) 2015, 8月 24 とブーメラン投げて見事に刺さってるので今から記事書く。 両サイドにはかなり厳しい話もするが俺の音を聴いておけ(関白宣言) まぁ歴史の長いRDBなのでお互いの比較記事は沢山ある。 なのでマルチスレッド(MySQL)とマルチプロセス(PostgreSQL)だとかVACUUMだって話はしない。 むしろ実際に使ってみた際の違いをにフォーカスする。 1. SQLの違い 基的にMySQLでやっていたことはPostgreSQL出来る。 しかし関数の挙動の違いは幾つかある。 例えば時間から曜日に該当する数字に変換した場合に MySQL → date_format(time,"%w") 0から始まり、日曜日に該当する PostgreSQL → to_char(time,'D') 1から始まり、日曜日に該当する など挙動に互換性

    MySQL使いが知るべきPostgreSQLとの違いと変わらない一つのこと
    indication
    indication 2015/08/24
    auto-vacummが出てから格段に広がったイメージ(要出展)。日本語ドキュメントが過去から充実しているから、pgは良いと思う。マテビューで他のDB参照できたような。phpPgAdminの扱いが…
  • utf8_unicode_ci に対する日本の開発者の見解 - かみぽわーる

    RailsMySQLのcollationをサーバー側のデフォルトのutf8_general_ciからutf8_unicode_ciにわざわざ変えてるのどうせ大した理由じゃないだろと思って掘ってみたらやっぱり大した理由じゃなかった… https://t.co/6NeetGhTF0— Ryuta Kamizono (@kamipo) April 18, 2014 Railsでcollationとしてutf8_unicode_ci(RailsのDEFAULT_COLLATION)が採用されるのはcharsetが未指定もしくはutf8(RailsのDEFAULT_CHARSET)のときだけで、utf8mb4にすることとかは全く考慮されてない。— Ryuta Kamizono (@kamipo) April 19, 2014 @frsyuki MySQLのcharset utf8のときのデフォルト

    utf8_unicode_ci に対する日本の開発者の見解 - かみぽわーる
    indication
    indication 2015/03/09
    覚えておかないと人生を無駄にしそう
  • CasualにMySQLリプレイス - よっくんの日記

    この記事はMySQL Casual Advent Calendar 2014の8日目の記事です。 MySQL系のブログや投稿は初めてなので、軽く自己紹介。 Oracleで育ってMySQLやPostgreSQLもいじっている節操の無いDBAです。 現在はMySQLばっかりです。 10月にMySQLサーバーをリプレイス&5.5から5.6へのバージョンアップしたのでつらつらと書いてみます。 MySQL5.6が出てだいぶ立ち、参考になるようなブログや資料はたくさんあったので苦労はしませんでした。 ありがたやーありがたやー。 ・Casualにmy.cnf Casualだし、有名な方々の資料がググればいっぱいあるのでパラメータの意味までは書きません。 注意してたのはこのへんくらい。 sql_mode='' explicit_defaults_for_timestamp=true innodb_onli

  • ま鉄系 » 月100万リクエストを支えるサーバの裏側を公開します

    福田です。今日は、月100万リクエストを超えるアクセスを支えるこのVPSのシステム構成とかを公開しようと思います。その気になれば3コア、2GBしかないメモリでも余裕でさばけるっていうわけです。 OSは何使ってるの?OSは、日で業務に使用しているところは少ないUbuntuのLTS(バージョンは書きません)を利用しています。 Ubuntuを使う理由としては、HHVMとかを入れやすいところにあります。その他のソフトウェアもCentOSとかRHELより豊富だったりします。あとは、慣れっていうのもあります。サーバで使用しているソフトウェアは?100万リクエストにさくさく応えるために、Nginxを利用しています。表面上はフルスロットルってなっていますが、これはNginxのソースコードをいろいろ書き換えたりして運用しているためにあえて変えてある仕様となっています。Nginxでも、何重にもキャッシュをか

  • すこやかRails

    2014-11-01 渋谷Ruby会議01 http://regional.rubykaigi.org/shibuya01/Read less

    すこやかRails
    indication
    indication 2014/11/04
    自動化のすすめ
  • 『MySQL初心者に贈るインデックスチューニングのポイントまとめ2014』

    サイバーエージェント公式ブログをご覧の皆さんこんばんは、インフラ&コアテク部の須藤(@strsk)です。普段はAmebaのソーシャルゲーム全般のインフラを見つつ、日語ラップの啓蒙をしながら弊社社員を素材にコラ画像をつくったりしています。好きなAAは麻呂です。 はい、というわけで今回はMySQLインデックスチューニングの基的な流れについてまとめてみました。 ソーシャルゲームは更新も参照もめちゃくちゃ多いです。数秒のレプリケーション遅延も致命的なので適切なテーブル、クエリとインデックス設計が重要です。(何でもそうですけど)インデックスが多くなると更新コストなどが懸念されますが、インデックスが正しく使われていないクエリを放置している方が悪です。そんなこんなで、割と例も偏ったりしてるかもしれませんがあしからず。 前提としてはInnoDBを想定しています。MyISAMはほとんど使っていません。

    『MySQL初心者に贈るインデックスチューニングのポイントまとめ2014』
  • MySQLのロックについて - SH2の日記

    JPOUG> SET EVENTS 20140907 | Japan Oracle User Group (JPOUG)に参加して発表をしてきました。IIJさまのセミナルームは窓からの眺めがすばらしいですね。JPOUGの運営メンバのみなさま、会場を提供してくださったIIJのみなさま、当日お越しいただいたみなさま、どうもありがとうございました。 私のセッションでは「MySQLのロックについて」と題してネクストキーロックなどの説明をしました。プレゼンテーション資料と、調査のために作成したツールを公開します。 プレゼンテーション資料 (PDF) Lock Inspector 1.0 プレゼンテーション資料からリンクしているウェブサイトの一覧です。 MySQL Lists: mysql: Re: InnoDB's inner workings + checkpoints 過去記事の訂正 @kami

    MySQLのロックについて - SH2の日記