今SNS系のサービスを開発しております。DBはMySQLを使用。
コメントや投稿に対して「いいね」する機能が要件にありまして、
仮に一日100万件ほどの「いいね」が記録されるとして、1年で3〜4億ほどのレコードが持続的に溜まっていきます。
今まではせいぜい数百万件のレコード数のDBしか扱ったっことがないため、億以上の大規模DBに関しての知見がゼロです。誠にお恥ずかしいですが、そもそもDB自体の仕組みへの理解も浅く、なんとなくSQLを書いたり、indexを貼ったりくらいしか知りません。
ネットでいろいろ調べてみたら、FacebookやTwitterはところどころでNOSQLのDBを利用しているとのことですが、「いいね」機能云々ではなく、レコード数が増えてきたら、NOSQLへの移行は避けられないでしょうか。
- MySQLはスケールアウトできない理由は?
- NOSQLならスケールアウトできる理由は?
この辺も、どんなに検索しても、具体的な話が出てこず、頭を抱えております。
大まかなイメージはなんとなく掴みましたが、具体的な作業レベルでのイメージは全く沸かないです。
手がかりとなるようなキーワード、サービス名、あるいは、おすすめの本などがあればぜひ教えてください m(_ _)m
よろしくお願いします!