タグ

IDに関するdeg84のブックマーク (3)

  • nginxのアクセスログにユーザーIDを記録する方法 - ハウテレビジョンブログ

    こんにちは。来週末のPyConが待ち遠しくてたまらない祖山です。 以前、Fluentdを使ってElasticsearchやBigQueryにnginxのアクセスログを流す方法をご紹介しました。 fluentdでnginxのログをElasticsearchとBigQueryに保存するお話 - ハウテレビジョン開発者ブログ しかしながら、格的にユーザーの行動解析を行うにはnginxのデフォルトのログでは不十分です(IPアドレスのみから「このアクセスとこのアクセスは同一のユーザーである」かどうか判断するのは無理がありますね…)。 そのため、nginxのアクセスログに誰からのアクセスかを一意に識別できる情報を入れる必要があります。 真っ先に思い浮かぶのは(ログインして使うサイトであれば)ユーザーのIDでしょう。 もちろん、デフォルトのnginxではそんなことはやってくれないので、アプリケーション

    nginxのアクセスログにユーザーIDを記録する方法 - ハウテレビジョンブログ
  • プライマリキーを使った1:1関連でカラム数の多いテーブルを分割する - Hidden in Plain Sight

    おそらく多くのソーシャル系アプリにあてはまるRailsのプチ・デザインパターン的な話。 ぼくが今やっているEast Meet Eastには、ユーザごとに数多くのプロフィール属性があります。名前、性別、生年月日、郵便番号、職業などなど、カラム数にしてざっと25個。これを、全部ひとつのusersテーブルに詰め込むのは、コードの見通しという観点からも性能の観点からも、あまりよろしくありません。 なぜならば、ユーザ関連の情報を扱う局面としては主に メールアドレスとパスワードなどを使ってログインする(アカウント情報) プロフィール情報で条件を指定してユーザを検索・推薦する(プロフィール情報) という2つの独立性の高いユースケースにわかれるため、ログイン処理をやってるときにはプロフィール情報はいらないし、プロフィールを検索してるときにはメールアドレスやパスワードをロードするのは無駄です。また、開発やデ

    プライマリキーを使った1:1関連でカラム数の多いテーブルを分割する - Hidden in Plain Sight
  • IDの設計についてのさらに突っ込んだ議論

    今日も前回に引き続きデータベース設計の話をする。今回の話で一旦データベース設計については筆を置くつもり(ブログ書いてないで原稿書けよ>俺)であるが、その前に話をすっきりさせて置きたいと思う。最後を飾るテーマはIDの設計である。 数字しかないのに意味を含んだID前回のエントリを見ていただいた方から、次のような構造を持った学籍番号があるというフィードバックを頂いた。 全部数値で"入学年度下2桁"+"学科コード"+"学科内のあいうえお順の順位" このようなルールで割り当てた学籍番号を、単なる数値として扱うのであれば大きな問題はない。これは数値しか含まれていないので、SQLのデータ型としては単に数値型を使えば良いだろう。だが、学籍番号から入学年度を判断する、あるいは学科を判断するといった用途で使われるのであればやはり適切ではないといえる。リレーショナルモデルの観点だけからではなく、IDとして適切で

    IDの設計についてのさらに突っ込んだ議論
    deg84
    deg84 2013/12/10
    結局どうすればいいのかよく分からない… 連番が無難な気がしてならないんだけどそれじゃダメなんだろうか…
  • 1