タグ

MySQLに関するnasustのブックマーク (15)

  • ID生成方法についてあれこれ

    ID生成について聞かれることが多いので、独自の観点でまとめてみます。タイトルは適当です…。 DBMySQL(InnoDB)を想定しています。あしからず。 ID生成を知りたいなら ID生成に関しては以下の記事がよくまとまっているので参考にしてみてください。値形式など詳しく書かれています。 ID生成大全 Facebook, Twitter, Instagram等がどうやってIDを生成しているのか まとめ ID生成方法 以下のID生成方法は、お手軽に採用しやすいもの順で列挙します。 DB採番/連番型 AUTO_INCREMENT DBのAUTO_INCREMENTで採番する方法。 Pros 数値型で扱える 普通は64ビットの整数型を採用することが多い 単調増加する連番ですので、ソート可能でかつインデックスの空間効率がよい 単調増加するので、キャパシティを予測しやすい 64ビットあればあまり気に

    ID生成方法についてあれこれ
  • https://developer.hatenastaff.com/entry/2019/01/15/120431

    https://developer.hatenastaff.com/entry/2019/01/15/120431
  • サーバーが完膚なきまでに死んでもMySQLのデータを失わないための表技

    サーバーが完膚なきまでに死んでもMySQLのデータを失わないための表技 1. サーバーが完膚なきまでに死んでも MySQLのデータを失わないための表 技 それでも失ったら申し訳ない 2018/03/10 yoku0825 PHPerKaigi 2018 2. この話をしようと思った理由 みなさんは お題箱 というサービスをご存知ですか? 俺はよく知りません() Peing -質問箱- と別のものだということだけ知っています 1/87 3. この話をしようと思った理由 1月6日 19時頃にサーバ会社様(ConoHa様)にて発生 した障害が原因で、お題箱のデータベースサーバのシス テムが破損してしまい、日までサービスが稼働できな い状況になっておりました。 サーバ会社の担当者様のご尽力もあり、1月9日 17時現 在、ひとまず復旧することができましたことをご報告い たします。 1/6 19時頃

    サーバーが完膚なきまでに死んでもMySQLのデータを失わないための表技
    nasust
    nasust 2018/03/11
    バックアップは大事だよね。ウェブサービス建てる時は、必ずバックアップしている。
  • 寿司=ビール問題 : MySQL 8.0でのUTF8サポート入門 (MySQL Server Blogより) | Yakst

    これまでのMySQLでよく問題になった、絵文字や日語の文字の照合やソート順序の問題に関して、来たるMySQL 8.0では大幅な改善が加えられる予定になっている。この問題の概要と今後の改善方針について、MySQL開発チームからの解説。 免責事項 この記事はManyi Lu氏によるMySQL Server Blogの投稿「Sushi = Beer ?! An introduction of UTF8 support in MySQL 8.0」(2017/1/13)をユーザが翻訳したものであり、Oracle公式の文書ではありません。 MySQL 8.0での私たちの計画として、utf8のサポートを大幅に改善します。utf8サポート自体はMySQL 4.1の頃にさかのぼりますが、いくつかの制限が存在しています。記事タイトルにもある「寿司 = ビール」問題は、バグ#76553のことを指しています。少

    寿司=ビール問題 : MySQL 8.0でのUTF8サポート入門 (MySQL Server Blogより) | Yakst
  • MySQLのトランザクション制御がキモい話 - なからなLife

    MySQL Casual Advent Calendar 2016 - Qiitaの5日目の記事です。 AdventCalendar自体初参加でドキドキ。 トランザクションの開始は、BEGINしたときじゃない! MySQLでは、BEGIN(START TRANSACTION。長いので、以下、特筆すべき場合以外は「BEGIN」で)を宣言しても、内部的にはまだトランザクションを開始してません。 SQLを投げたタイミングで、トランザクション開始になります。 このとき、更新のない、FOR UPDATEもないSELECT文でも、トランザクションが開始されます。 なにそれきもい。 「AutoCommit=ON/OFF」による違い AutoCommit=ONのとき トランザクションはSQLを発行するたびにBEGIN/COMMITで完了し、ロールバックできません。 複数SQLを束ねて1つのトランザクション

    MySQLのトランザクション制御がキモい話 - なからなLife
    nasust
    nasust 2016/12/05
  • 『アメーバピグにおけるDB構成&対応記』

    2ヶ月前にインフルエンザとウィルス性胃腸炎でひどくダメージを受けた増田(@masudaK)です。アメーバピグは2009年2月に始まったサービスで、FLASH・Javaで作られています。そして、データストアにMySQLを用いてます。記事では、わたくしが2年ほど見続けているアメーバピグのDB環境について構成や、日々どのようにして問題と向き合っているかを紹介したいと思います。インフラ寄りの内容が多いため、アプリ寄りの話は弊社生沼の資料を御覧ください。 1. 構成と規模 1.1. 構成 まず構成ですが、読み書きはすべてマスターへ行うようにしています。そのため、スレーブには参照を向けず、ホットスタンバイとして使っています。バージョンに関しては2012年中旬までは5.0を使ってましたが、DC移転にあわせて5.5にあげました。ロック機能を用いたシャード構成をしてまして、2014年3月現在6シャードにな

    『アメーバピグにおけるDB構成&対応記』
  • 軽量なTime-based ID生成器”shakeflake(仮称)”について | SmartNews開発者ブログ

    大平です。今回はさだまさしネタは特に無しです。 先日、サービスのクローラーで使用しているID生成器について置き換えを行いました。非常に地味な話になりますが、記事ではその辺の内幕の話をしたいと思います。  ID生成にまつわる苦悩 弊社ゴクロの提供しているSmartNewsは表向きはニュースアプリですが、裏側の仕組みは検索エンジンに近似しています。ユーザーの方々の興味関心や、アクセス傾向をクエリーとし、その内容に応じた話題のニュースを検索結果として返却する、という風に捉えていただくと、なんとなく私が言わんとしている事を想像していただけるかと思います。 SmartNewsはTwitterのつぶやき情報を用いたトレンド分析をベースとしており、話題になっているニュースを選定するためには、大量のTwitter上のtweet、ならびにその中に含まれているURLに対してクロールを行う必要があります。日々

  • MariaDB in brief - MariaDB.org

    MariaDB Server is a general purpose open source relational database management system. It’s one of the most popular database servers in the world, with notable users including Wikipedia, WordPress.com and Google. MariaDB Server is released under the GPLv2 open source licence and is guaranteed to remain open source. It can be used for high-availability transaction data, analytics, as an embedded se

    MariaDB in brief - MariaDB.org
  • 2012-06-19

    はてな x DeNA合同企画 Mobage 運用技術勉強会 2012.06.19 台風ですが、決行!!終わったら、Sakura Cafeで懇親会。 登壇者:DeNA小野様 インフラ部門 ネットワークとMobage基盤 プラットフォームは、日、US、韓国中国向けがある サーバの拠点は、名古屋、東京、サンフランシスコ、上海 特徴 1. 高いソフトウェア開発力 - Handler socket plugin - MySQL-MHA 2. 非富豪的感覚 - サーバ台数は、グリーの半分くらいと思われる Mobage Webサーバ機の資源管理について 登壇者:DeNA樋口様 2-1. Mobageの佐波郡構成について 1. 基、LAMP 2. WebサーバとDBサーバが大部分 3. Apache と FastCGI が同居 4. FastCGIはマルチプロセス型サーバ 5. ゲームごとに分離され

    2012-06-19
  • Nginx + WordPress RDS篇 - サーバーワークスエンジニアブログ

    こんにちは。CSチームの坂です。 今回も、前回の「Nginx + WordPress S3篇」に引き続き、「Nginx + WordPress ロードバランサー篇」の構成での運用上の問題点を、AWSのサービスを使って解消していきたいと思います。 画像のアップロード先の問題は解決しましたが、MySQLのデータベースサーバーがまだSPOF(単一障害点)となっています。EC2でインスタンスをもう1台起動してレプリケーション環境を構築することも可能ですが、今回はAWSのサービス「Amazon RDS」を使ってこの問題を簡単に解決したいと思います。 目次 Amazon RDSとは?Multi-AZとは?RDSインスタンスの作成データベースのバックアップ、リストアWordPressの設定変更まとめ 1. Amazon RDSとは? 今回、データベースとして利用するAWSのサービスは「Amazon R

    Nginx + WordPress RDS篇 - サーバーワークスエンジニアブログ
  • Fusion-IO ioDriveの障害例と調査方法 | 外道父の匠

    インフラエンジニアに永遠につきまとう、月曜出社直後の障害報告と調査依頼。 今回はioDrive搭載サーバのMySQLが急に落ちましたということで、調査してみました。 これまで、ioDriveは不滅です。的なことばかり書いていましたが、まぁいつかは何か起きますよね・・・ってことで、ホクホクしながらioDriveのネガキャン、ではなく、こんな障害例がありましたよ、こんな感じで調べましたよという紹介をします。 月曜朝のスタート地点 依頼主からもらった情報。 あるioDrive搭載サーバのMySQLが急に落ちました 障害時間は 2012/09/29 03:30 です ioDriveのマウント先 /fio が利用できない状態です もうこのサーバは使っていないので好きに調査してください 今回は無償で受けてあげました。 それでは調査開始! ドライバなどのバージョン確認 2.2.3 を利用していることを確

    Fusion-IO ioDriveの障害例と調査方法 | 外道父の匠
  • 【メモ】MySQLでのswap発生とNUMAアーキテクチャ - FAT47の底辺インフラ議事録

    DBサーバでとある日を境にswapが発生していることに気がつきました。 サーバはメモリ32GB搭載していて、そのうちの24GBをinnodb_buffer_pool_sizeに割り当てています。 他のthread毎のメモリ設定値を見てもおかしそうな点はなかったのでググってみました。 MySQL と NUMA アーキテクチャと Swap Insanity MySQL InnoDBストレージエンジンのチューニング(後編) なるほど…。 それぞれのCPUがローカルでメモリを管理しているので、 2CPU積んでいるサーバだと、AというCPUで実行されているスレッドが、BというCPUが確保しているメモリ領域にアクセスするには、AのCPUを経由しないといけないわけですね。 このメモリアクセスが不均一になる方式をNUMAアーキテクチャというみたいです。 NUMAアーキテクチャのメモリ管理が、ノードという単

    【メモ】MySQLでのswap発生とNUMAアーキテクチャ - FAT47の底辺インフラ議事録
    nasust
    nasust 2012/11/21
  • TheSchwartz のような RDBMS をつかったジョブキューをリアルタイムに処理するアイディア - tokuhirom's blog

    TheSchwartz のような RDBMS をつかった job queue は、新規に daemon をたてたりする必要がないので楽でいいのですが、一方で job の追加の timing が storage から push でおくられてこないので、若干の delay が生じてしまうのが難点でした。 この問題を解決するために、mysql の binlog API を用いて、処理してみるハックを考えてみました。 binlog API を利用すると更新クエリを streaming で処理できるので、こういったハックも簡単にできちゃいます。おもしろい。 use 5.016000; use MySQL::BinLog; use TheSchwartz; my $sch = TheSchwartz->new(...) or die; $sch->can_do($_) for ...; $sch->w

    nasust
    nasust 2012/07/09
  • PHP開発者のMySQLの間違いトップ10:phpspot開発日誌

    WindowsアプリのツリービューっぽいUIをWEB上で簡単実装できるjQueryプラ... 次の記事 ≫:シンプルさがいい感じの154種類のアイコンセット Top 10 MySQL Mistakes Made by PHP Developers PHP開発者のMySQLの間違いトップ10。 手慣れている人にとっては知ってることも多いかもしれませんが、初心者が役立ったり、知らない部分のカバーとしてメモとして書いてみます MyISAMを使っている デフォルトはストレージエンジンにMyISAMだけどInnoDBを使おう リカバリ可能でオンラインバックアップ機能、外部キー利用可能なInnoDBおすすめ 詳細:Open database life: MyISAMとInnoDBのどちらを使うべきか PHPMySQL関数を使っている mysql_* 関数を使わず、PDO等でストレージ変更に対応しよう

  • MySQLパフォーマンスチューニングのためのクエリの基礎知識 - プログラマーkkの勉強/成長ブログ@ライブレボリューション(モバイル広告代理店)

    前回書いたMySQLパフォーマンスチューニングのためのインデックスの基礎知識に引き続き、MySQLのパフォーマンスチューニングについて学んだことをまとめ。 MySQLを使っていると、クエリが遅い理由をつきとめる必要が出てくる。 どうやって遅いクエリをつきとめ、改善すればよいかについて学んだのでまとめた。 下記のような基礎知識があればパフォーマンスチューニングをうまくやれる、と思う。 クエリ処理の基礎 MySQLがクエリを処理する手順 まずはMySQLがクエリを処理する手順を知っておく必要がある。 処理は以下のような流れで進む。 クエリキャッシュの中からクエリの結果を探す。見つかればそれを返す。 クエリを解析して構成要素に分解する。 クエリの構文が正しいことを確認 クエリについて基情報を収集する。 クエリを基的な要素に分解した後、何を実行すべきかを判断する。 クエリオプティマイザが動き始

    MySQLパフォーマンスチューニングのためのクエリの基礎知識 - プログラマーkkの勉強/成長ブログ@ライブレボリューション(モバイル広告代理店)
  • 1