Skip to content

RDBMSでカレンダーデータを扱う方法

RDBMSでカレンダーデータを扱う方法 published on RDBMSでカレンダーデータを扱う方法 へのコメントはまだありません

Googleカレンダーで予定を登録したりするけど、そういうようなものをDBで扱いたい。

いくつかの方法があった

よく分からない方法(詳細は省略)

ググったらSOのこんなページが出てきたんだけど、ちょっと無駄に複雑な気がした。

毎週x曜日系の繰り返しイベントも、毎週分レコードを作成する方法

以下のように2つテーブル用意するというアプローチもいくつか見つかった。これとかこれとか。

  • イベント管理テーブル
  • イベント実施予定テーブル:イベント1回につき1レコードを格納するテーブル

例えば、1度きりのイベントであれば2つのテーブルに1レコードずつ書き込む。

また、2013/11/1以降の毎月1日に実施する繰り返しイベントの場合、管理テーブルには1レコード書き込み、2番めのテーブルには開催日毎(2013/11/1, 2013/12/1, 2014/1/1・・・・)に1レコードを書き込む。

これはシンプルな方法で、いい方法が見つからなければこれにしようかと思った。

ただ、イベントの数が最終的には100万レコードを超える予定だったので、これだとイベント実施予定テーブルが1億行を超える可能性があったので、ちょっと躊躇してた。

Continue reading RDBMSでカレンダーデータを扱う方法

DynamoDB + S3 + EMRでコホート分析(cohort analysis)をする(2)

DynamoDB + S3 + EMRでコホート分析(cohort analysis)をする(2) published on DynamoDB + S3 + EMRでコホート分析(cohort analysis)をする(2) への2件のコメント

ちょっと前回から間が空いてしまったけど、DynamoDB上のデータやその他のデータをS3に集めて、EMR上のHiveを使ってコホート分析をするという話の第2回。今回はHiveの話を中心に書いていく。

※Hiveを使うのは今回が実質初めてで、EMRについてもあまり経験は豊富ではないので、何かおかしい点などがあったらご指摘頂けると幸いです。

Continue reading DynamoDB + S3 + EMRでコホート分析(cohort analysis)をする(2)