タグ

ブックマーク / soudai.hatenablog.com (12)

  • 障害対応時にまずはissueを作ると良い - そーだいなるらくがき帳

    先日のAmazon SQSの障害には色々と肝を冷やした人も多いのではないでしょうか。 classmethod.jp 今回のようなケースとは別に障害は大小あれど、みなさん日々戦っていることだと思います。 障害対応はエンジニアの花形であるものの、サービスに対する知識やソフトウェアの知識など経験と技術の両方が必要です。 そのため、どうしてもトラブルシューティングはエースエンジニアなどの一部の人に依存してしまう…などの問題が発生しがちです。 そこで今日は私の経験から障害対応のいろはを書いて行きたいと思います。 今回のスコープの外 実際に障害時の具体的な対応、例えば障害切り分けやRDBMSのボトルネックの探し方などの話はしません。 まずissueを作ると良い 題です。 トラブルを認知したらまずはissueを作りましょう。 issueを作るときはtemplateが事前に設定されていると便利です。 g

    障害対応時にまずはissueを作ると良い - そーだいなるらくがき帳
  • 2020年の抱負とお知らせ - そーだいなるらくがき帳

    2020年も始まりました。 2019年、色んなチャレンジを通じて成長を感じる反面、 35歳定年説を考えたりする程度には 心技体の限界を感じたりもしました。 しかし周囲の叱咤激励や自分自身を振り返ってみる *1 と、結果的に小さくまとまってしまい、爆発的な成長に必要な大きなチャレンジが出来てないという結論になりました。 これは弊社の恵まれた環境や東京と言う立地、コミュニティの方々の多くの支援を受けている現状の縁によるものが大きく、感謝しても感謝しきれないほどありがたいことなのだけど、そこに甘えるにはまだ早いなと考えています。 だからこそ2020年は自分自身の積み重ねたモノを一度リセットするくらいの覚悟で大きなチャレンジをして行きます。 そこで今日はその大きなチャレンジを抱負として明記し、宣言の力によって前に進む覚悟を決めたいと思います。 今北産業で頼む そうだ、大学に行こう オミカレを退職

    2020年の抱負とお知らせ - そーだいなるらくがき帳
  • 障害から学ぶクラウドの正しい歩き方について考える - そーだいなるらくがき帳

    AWSで大きな障害が発生したこの機会に、自分がクラウドと正しく付き合っていくために必要なことを考える。 piyolog.hatenadiary.jp ちなみに稼働率 99.99% くらいを目指していくために必要な事を考える。 必要な稼働率を見極める 今回は 99.99% くらいを目指すと言ったが、実際に自分たちにとってどのくらいの稼働率を目指すか?ということはとてもとても大切だ。 幸い、今回自分は影響がなかったが、当に完璧か?と言われるとそうではない。 まず弊社の場合、マルチリージョンではないので東京リージョンが落ちたら落ちる。 これを許容できない場合に99.99%を目指せるか?というと正直厳しい。 しかしサイトの規模はそんなに大きくないのでデータサイズも現実的に転送出来る範囲で、コンポーネントも少なく、TerraformやAnsibleによって再構築しやすい状態は整っている。 そのため

    障害から学ぶクラウドの正しい歩き方について考える - そーだいなるらくがき帳
  • MySQLの0000-00-00 00:00:00は使ってはならない - そーだいなるらくがき帳

    結論 何がいいたいかといいますと0000-00-00 00:00:00があるとORMも死ぬし、DBマイグレーションツールも死ぬし、そもそもMySQLからポスグレにデータを持っていくこともFDWをすることも出来なくて死ぬのじゃ。— そーだい@初代ALF (@soudai1025) 2018年4月25日 色々困るので使わない。 理由 以下に理由を述べる SQL標準ではない 正論で殴った場合。 0000-00-00 00:00:00の仕様が難しい 0000-00-00 00:00:00 はMySQLの独自な仕様で NOT NULL制約のカラムではNULLと等価であり、NULLではない という仕様がある。 "NOT NULL として宣言された DATE および DATETIME カラムでは、次のようなステートメントを使用することで、特殊な日付 '0000-00-00' を検索できます"https:

    MySQLの0000-00-00 00:00:00は使ってはならない - そーだいなるらくがき帳
  • PHPerのためのWebサービスのモニタリングの話 - そーだいなるらくがき帳

    PHPerKaigi 2018でタイトルの登壇をしてきました。 phperkaigi.jp 登壇内容は下記の通りです。 speakerdeck.com 伝えたいことはスライドに大体あるし、勘所については過去のブログでもまとめています。 soudai.hatenablog.com 昨今のWebサービスは外部のサービスと連携し合うのは当たり前ですし、自分たちのサービスが違うサービスによって影響を受けたり、影響を与えたりすることも当たり前になっています。更にサービスは常に機能を追加・変更・削除することで進化しているのですからモニタリングの対象も常に変化しているはずです。ですのでWebサービスとしてどのようにあるべきかというところがモニタリングの勘所となります。もう少し説明するとサービスはServerに紐付いていないがシステム全体に影響するメトリックもありますよね?それも勿論モニタリングしましょう

    PHPerのためのWebサービスのモニタリングの話 - そーだいなるらくがき帳
  • DBリファクタリングの勘所と所感 - そーだいなるらくがき帳

    表題についてそーだいなる見解を書き残します。 今年の夏に id:koemu さんにbuilderconの懇親会で下記のような話をいただいていました。 懇親会で、DB側ばかりでなくプログラム側でも適切なドメインモデルの設計ができていれば、リファクタリング時の影響範囲がさらに小さくできるのでは?という話をしたところ、この辺りはアンサーブログを書いてくれるかもしれないってことなので期待しています!!! www.koemu.com 忘れてないんですよ!しっかり覚えています。 結論 仰る通りだと思うし、適切なドメインモデルはRDBに限らずデータストア層のリファクタリングの負担を大きく減らすと思います。 ここから先は僕なりの考え方を書きます。 実は似たような話を PHPの現場 っていうポッドキャストでも触れています。 php-genba.shin1x1.com システムの柔軟性 勿論、コードの綺麗さや

    DBリファクタリングの勘所と所感 - そーだいなるらくがき帳
  • なぜあなたは SHOW ENGINE INNODB STATUS を読まないのか - そーだいなるらくがき帳

    この記事は、MySQL Casual Advent Calendar 2017の20日目の記事です。 煽り気味のタイトルですがみなさん SHOW ENGINE INNODB STATUS 読んでますか? SHOW ENGINE INNODB STATUS \G 見づらいのなんとかならんのか。— そーだい@初代ALF (@soudai1025) 2016年12月20日 わかる。でもMySQLの振る舞いを知る中でSHOW ENGINE INNODB STATUSを読まざる得ない場面はそこそこあります。 どんな時に必要になるのでしょうか? そこでSHOW ENGINE INNODB STATUSにまつわる話を書きます。 SHOW ENGINE INNODB STATUS をまず読みやすくする まず末尾に \G を付けましょう。 これで3倍読みやすくなります。 次に pager less -S を

    なぜあなたは SHOW ENGINE INNODB STATUS を読まないのか - そーだいなるらくがき帳
  • MySQLの監視 ~ mackerel-plugin-mysqlを読み解く - そーだいなるらくがき帳

    この記事は Mackerel プラグインアドベントカレンダー(全部CRE) の4日目です。 qiita.com soudai.hatenablog.com それでは4日目は mackerel-plugin-mysql です。 ここではMySQLの細かい説明は割愛します。 mackerel-plugin-mysqlRDBMSとして広く使われているMySQL専用のプラグインです。 github.com インストールと設定手順 プラグインはプラグイン集として提供しているパッケージの mackerel-agent-plugins に含まれています。 インストール先は /usr/bin/mackerel-plugin-mysql です。 mackerel-plugin-mysqlは様々な情報を可視化してくれますが、pluginが動作するクライアント側からMySQLに対してアクセス出来る必要があり

    MySQLの監視 ~ mackerel-plugin-mysqlを読み解く - そーだいなるらくがき帳
  • 今こそ知りたい、2大OSSデータベースのMySQLとPostgreSQLの違いについて話をしてきた - そーだいなるらくがき帳

    去年書いたSoftwareDesignを題材にお話してください!って言われたので話してきました。 下の特集記事は1年経った今も現役で読める内容なので興味がある人はぜひ読んでみてください。 またRDBアンチパターンという連載をしていますのでこちらもあわせてご確認くださいっ! gihyo.jp そして当日の資料はこちらです。 SoftwareDesignにしっかりとMySQLとPostgreSQLの違いについては触れているのでそこでは触れていない、ハマりどころや初めて両方のDBを知ったと言う人向けのカジュアルは部分を攻めました。 またDBだけの勉強会ですので普段説明するようなところは省略し、できるだけ経験談やコアの話に注力したつもりです。 このへんは資料に含まれて居ないので当日居た人たちだけの特典ですね!! ということで実は今月は登壇3週連続だったのですが一段落しました。 来週はAWS Sum

    今こそ知りたい、2大OSSデータベースのMySQLとPostgreSQLの違いについて話をしてきた - そーだいなるらくがき帳
  • Javaエンジニアに知ってほしいRDBアンチパターン その3 について話して来た #jjug_ccc - そーだいなるらくがき帳

    Javaの国内最大カンファレンス、JJUG CCC 2017 springで登壇してきました。 僕の中で先週のオープンセミナー岡山の熱がまだ収まらぬ中の登壇だったのですが、多くの方に聴いていただけて嬉しかったです! その時の資料がこちら。 RDBアンチパターンについてはPHPカンファレンスやYAPC:Kansaiでも話をしましたが、今回は別バージョンです。 soudai1025.blogspot.jp soudai.hatenablog.com あのときはWeb系の人向けに話をしましたが、今回はエンタープライズな業務系の人向けです。 業務系は僕の印象では制約だったり、RDBの機能を有効活用してる印象があるのですが、逆に過剰になっていることが多い印象があります。 また論理IDなどデータ量が少なかったり、アプリの改修が少ないから死ななかっただけの設計も多く見られる印象です。 そういう点を今回お

    Javaエンジニアに知ってほしいRDBアンチパターン その3 について話して来た #jjug_ccc - そーだいなるらくがき帳
  • データベースリファクタリングについて話をしてきた #OSO2017 - そーだいなるらくがき帳

    岡山にはオープンセミナー岡山と言う最高のイベントがあります。 okayama.open-seminar.org 昨日は id:t-wada さんや id:naoya さんの資料がホットエントリー入りしてました。 この登壇はそれと同じイベントになります。 その他の方も超豪華講師陣の中で、私が出来る精一杯の経験も踏まえたお話をさせていただきました。 speakerdeck.com この中で出て来る、データベースリファクタリングは当に素晴らしいです。 OracleベースなのですがMySQLだろうがPostgreSQLだろうが必ずためになるです。 ですが、このは既に廃刊になっており再販の予定もありません… 僕は後世に絶対必要なの一つだと思っているので再販のためにも皆さんの要望の声を上げていただけるとうれしいです。 そしたらもしかしたらが世に復活するかもしれません。 またSQLアンチパタ

    データベースリファクタリングについて話をしてきた #OSO2017 - そーだいなるらくがき帳
  • PostgreSQLで排他制約がめっちゃ便利!! - そーだいなるらくがき帳

    中国地方DB勉強会っていう控えめに言っても最高の勉強会があるんだけどそこで排他制約について教えてもらいました。 ikkitang1211.hatenablog.jp 排他制約って雑に説明すると重なりを拒否する制約です。 僕は使った事なかったのですが勉強会の中で事例紹介を受けて、めっちゃ便利だったのでここでご紹介します。 どんなときに使うの? 実際にはどんなときに重なりを制御したいかというとよく使うのは次の2つ。 図面の重なり 時間の重なり 1つ目は幾何学的な図面を表現するときです。 実際にPostgreSQLは円や四角をSQLで表現できます。例えば地図上で特定の座標から半径100メートルの円を書き、その中に特定の円(場所)があればErrorにするような制約が書けます。 そもそもSQLで位置計算もめっちゃ便利なので是非使ってみてください。 soudai1025.blogspot.jp そして

    PostgreSQLで排他制約がめっちゃ便利!! - そーだいなるらくがき帳
  • 1