タグ

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

  • バージョン違いのPostgreSQLをロジカルレプリケーション - そーだいなるらくがき帳

    PostgreSQL 10 から PostgreSQL 11へのロジカルレプリケーションを試した。 結論 簡単に出来る。 PostgreSQLのロジカルレプリケーションは元々バージョン違いを考慮してるのでPostgreSQL 10でのロジカルレプリケーションの設定と何も変わらない。 パブリッシャ(マスタ側)が10でサブスクレイバ(スレーブ側)が11を指定するだけ。 テーブル単位で出来るのでストリーミングレプリケーションとはそこも違う。 何が嬉しいか ロジカルレプリケーション自体のメリット・デメリットはここでは論議しない。 バージョン違いのPostgreSQLでレプリケーション出来るということはMySQLのようにレプリケーションでデータを複製しておき、フェイルオーバーさせることで停止時間を極小化してバージョンアップ出来るということ。 やり方 一番簡単なシンプルなやり方を記載する。 なお、前提

    バージョン違いのPostgreSQLをロジカルレプリケーション - そーだいなるらくがき帳
  • CTOを始めて半年経ったので振り返る - そーだいなるらくがき帳

    4月からオミカレに戻ってきて半年たった。 ちょうど今月が期末だしこの半年を振り返る。 soudai.hatenablog.com party-calendar.net 4月 CTOになった(1年と3ヶ月ぶり 2度目) オミカレを離れている間の事をキャッチアップするのに心血を注ぐ感じだった。 1年ぶりに読んだプロダクトコードは機能もコードも1年で随分育つというか驚きのレベルだった。 「男子三日会わざれば刮目して見よ」というがプロダクトコードも同じである。 変更点と新たに生まれた課題点の整理をするためにかなり時間を使った。 それと並行して運用フローの見直しであったり、体制変更に伴うツールの選定、移行などをやった一ヶ月だった。 その結果、課題はかなり整理できてこの半年~1年で何をやるかを整理できた。 前職でJOIN直後はやりたい放題するチャンスと学んだので4月の後半からはドラスティックな運用フロ

    CTOを始めて半年経ったので振り返る - そーだいなるらくがき帳
    komlow
    komlow 2018/10/10
  • RDBMSのモニタリングについて - そーだいなるらくがき帳

    dbstudychugoku.github.io 中身の薄い資料で登壇してきた。 speakerdeck.com 具体的な内容が知りたい人は末尾に関連リンクをまとめたのでそっちを見て欲しい。 資料には書いてないけど伝えたかったことをまとめる。 RDBMSの監視の勘所 RDBMSがどれくらいのトランザクションを捌けるかというのが大切な要素の一つ。 単純な処理が多くてキャパオーバーになったとき、多くの場合はインスタンスのサイズを上げるなどのスケールアップで対応できる。 これは費用対効果の高いケースが多く、有効な手段だ。 しかし ロックが原因の場合 はスケールアップしても問題が解決しないことが多い。 例えばバッチ処理で長時間テーブルロックを取り、それが起因でパフォーマンスが問題になっているときは単純なスケールアップで問題は解決しない。 よく見られる処理例は次のようなケース。 トランザクションを開

    RDBMSのモニタリングについて - そーだいなるらくがき帳
  • ユーザ情報を保存する時のテーブル設計 - そーだいなるらくがき帳

    はじめに ※この発言は個人の見解であり、所属する組織の公式見解ではありません 用法用量を守り、個人の責任で業務に投入してください 参考資料 2024/02/14追記 実際のテーブル設計の詳細はこちらを参考にどうぞ。 agilejourney.uzabase.com 要件 User情報を保存するときにどのようなテーブル設計を行うか 今北産業で頼む テーブルに状態を持たせず状態毎のテーブルを作る 状態が変わればレコードを消して別のtableに作る tableの普遍的な情報は別に持たせる 僕の考えた最強のDB設計 PostgreSQLをベースの雑なER図を作った。 これを元に話を進める。 table構成 users 親tableであり、すべてのユーザはここに属する。 基はINSERTのみでUPDATE、DELETEを考慮しない。 user_detail userに付随する詳細の情報がここに登録

    ユーザ情報を保存する時のテーブル設計 - そーだいなるらくがき帳
  • CDN(CloudFront)がGooglebotを認識してくれない場合はCDNにrobots.txtを置くと解決する - そーだいなるらくがき帳

    モバイルフレンドリーテストさんがオミカレのCSSを認識してくれない理由がわからなくて天を仰いでる。— そーだい@初代ALF (@soudai1025) 2018年4月6日 Google Search Consoleでモバイル表示についてerrorを吐いてる場合、モバイルフレンドリーテストで実際のGoogle botがどのようにサイトを認識しているか見ることが出来る。 でそーだいさんは今、オミカレってサイトのCTOをしてるのだけど直近でERRORが出てて、調べるとCSSを読み込めてないことがわかった。 自分で下記のサイトにアクセスすると普通に見えるし、開発者ツールで見ても特に問題がなくて四苦八苦。 で上部のツイートになってる。 party-calendar.net それでもう少し調べるとCDNのコンテンツ全てをGoogle botが認識できてなかった。 ということで表題のとおり、結論としてr

    CDN(CloudFront)がGooglebotを認識してくれない場合はCDNにrobots.txtを置くと解決する - そーだいなるらくがき帳
    komlow
    komlow 2018/04/12
  • ソフトウェアエンジニアが当たり前にやるべき事 - そーだいなるらくがき帳

    manabusakai さんの下記の記事を読んだ感想。 blog.manabusakai.com Twitterにも書いたけど僕は信頼されるエンジニアをずっと目指してきたし、そのために僕に必要なことがここには詰まっていた。 ほんとみんなに読んでほしい。 このエントリーの中の信頼を得ているエンジニアの姿を引用する。 有言実行である 仕事の納期をきっちり守る どんな仕事でもムラがない 困ったときに快く相談に乗ってくれる 皆がやりたがらないタスクを拾ってくれる チームの雰囲気を良い方向に導いてくれる etc... まさに。 ではソフトウェアエンジニアとしてこの他に当たり前にやるべき事って何があるだろう? ソフトウェアエンジニアとしてやるべき事 僕らは技術で問題を解決することで価値を高めたり、対価を頂いている。 例えば使っているOSSにバグがあったらどうだろう? これは自戒をかなり含むが不満をSN

    ソフトウェアエンジニアが当たり前にやるべき事 - そーだいなるらくがき帳
  • DBリファクタリングの勘所と所感 - そーだいなるらくがき帳

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

    DBリファクタリングの勘所と所感 - そーだいなるらくがき帳
    komlow
    komlow 2017/12/27
  • InnoDBの監視 ~ mackerel-plugin-mysqlを読み解く その2 - そーだいなるらくがき帳

    この記事は Mackerel プラグインアドベントカレンダー(全部CRE) の20日目です。 qiita.com soudai.hatenablog.com それでは20日目は mackerel-plugin-mysql 第二弾、InnoDBの監視です。 mackerel-plugin-mysqlRDBMSとして広く使われているMySQL専用のプラグインです。 第一弾はこちら。 soudai.hatenablog.com インストール方法や使い方、MySQLのデータ取得で使っているSQLは前回説明したので割愛します。 前回はMySQL全般に言える監視の内容でした。 今回はその中でもInnoDBに特化した内容でお送りします。 見れるメトリック それでは各グラフ定義ごとに説明します。 また表に出てくるdiffとはプラグイン上で差分値計算をするかどうかです。 ◯ となっている項目はプラグインで

    InnoDBの監視 ~ mackerel-plugin-mysqlを読み解く その2 - そーだいなるらくがき帳
  • なぜあなたは 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 を読まないのか - そーだいなるらくがき帳
    komlow
    komlow 2017/12/20
  • PostgreSQLの内部構造と監視の話 - そーだいなるらくがき帳

    Geeks Who DrinkとPostgreSQL Conference Japan 2017での資料です。 nulab.connpass.com PostgreSQL Conference Japan 2017 (2017-11-03) | 日PostgreSQLユーザ会 詳しく知りたい人は下記のがおすすめです。 ただし注意点は9.3相当なのでプロセスの仕組みがちょっと違います。 待望の新刊出ました!10系ベースなのでぜひ読んでみてください。 ※2018/10/07 追記 読み応えのある内容になったかなと思います。レベル感で言えばOSS DB Goldの試験出る範囲です。特に内部構造は覚えて置いて損は無いでしょう。 speakerdeck.com 内部構造の中で取り扱っていないところにAUTOVACUUM、TOASTとレプリケーションがあります。AUTOVACUUMはPostgre

    PostgreSQLの内部構造と監視の話 - そーだいなるらくがき帳
  • RDBアンチパターン リファクタリングについて話をしてベストスピーカー賞を取ってきた #builderscon - そーだいなるらくがき帳

    Builderscon 2017で登壇してきました。 builderscon.io 登壇資料はこちらです。 今回も僕が超絶リスペクトしてる id:t-wada さんと そこそこリスペクトしてる 空前絶後のォォ!!!!超絶怒涛にリスペクトしている上司の id:onishi さんの名言を引用させてもらいました。これはテストコードやモニタリングで品質が見える化されますが「見える化されるだけでは問題は解決しない」という質をお伝えしています。我々はエンジニアなので技術で問題を解決していくわけですし、問題を解決するためには手を動かすしかありません。ですのでまさに今の現場を改善していくのはあなた自身です。 あとは今年、話をしてきたデータベースリファクタリングの総集編って感じです。ホントは実例のRDBアンチパターンを元にリファクタリングしていきたかったんだけど60分では短すぎて「続編に期待」みたいなレベ

    RDBアンチパターン リファクタリングについて話をしてベストスピーカー賞を取ってきた #builderscon - そーだいなるらくがき帳
    komlow
    komlow 2017/08/05
  • 今こそ知りたい、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 - そーだいなるらくがき帳
  • 1