フックメソッドの追加 当然ですが、データ更新時にフックをかけるためには、データの更新パスを可能な限り絞り込んでおく*(ソースコード中に同じような処理が散らばらないようにする)必要があります。GREEでは、テーブルごとにデータベースインタフェースが定義されていて、更新処理が行われるのはINSERT/UPDATE/DELETEを行う3種類のSQL文だけなので、「あるテーブルが更新されるパス」は簡単に絞り込めます*。 ですので、これらのSQL文を呼んでいる個所に、次のようなコードを追加することで安全にフックをかけることができます。 とはいえ、データベースアクセスレイヤーにフック処理を追加するのは設計上美しくないですし、実際問題このようなフック機構を実装しようとすれば、 フックメソッドに必要な情報を渡すことができない コンテキストによっては無用なフックをかけてしまう といった問題が出てくることがあ
![大規模SNSのボトルネックとソリューション](https://cdn-ak-scissors.b.st-hatena.com/image/square/7e51372d18138e90ed2c8d95d693065718b5e361/height=288;version=1;width=512/https%3A%2F%2Fimage.itmedia.co.jp%2Fimages%2Flogo%2F1200x630_500x500_enterprise.gif)