レポート用の集計テーブル問題 レポート表示用に別途、集計テーブルを用いることがあります。 大量のレコードがあるテーブルに直接クエリで集計すると時間がかかるので、GROUP BY、COUNT、SUMなどを駆使して必要な粒度にまるめたテーブルを作る手法です。場合によっては圧倒的にパフォーマンスがよくなります。 例えばシンプルに記事(article)ごとのページビューを記録したテーブルがあるとします。 name type
レポート用の集計テーブル問題 レポート表示用に別途、集計テーブルを用いることがあります。 大量のレコードがあるテーブルに直接クエリで集計すると時間がかかるので、GROUP BY、COUNT、SUMなどを駆使して必要な粒度にまるめたテーブルを作る手法です。場合によっては圧倒的にパフォーマンスがよくなります。 例えばシンプルに記事(article)ごとのページビューを記録したテーブルがあるとします。 name type
どうも、開発2部サーバー担当の山本です。 皆さんDBの水平分散は行ってますか? 最近ではサービス開始時点から水平分散しているタイトルも割と多いのではないでしょうか。ユーザーやデータが増えるのはサービスが好調な証ではありますが、いざ対応しようと思うと大変ですよね。 今回はMySQLのストレージエンジンであるSpiderを使った水平分散(以下シャーディング)について紹介したいと思います。 Spiderとは Spiderは2009年にver1.0がリリースされた国産のMySQLストレージエンジンで、MySQL以外にもMariaDBとOracleに対応しています。 MySQLにはInnodbを代表にMyISAM、MEMORYなど様々な特徴を持ったストレージエンジンが用意されていますが、Spiderの特徴はストレージエンジンがシャーディングに対応していることです。 ここ最近は皆さんAWSのAuror
はじめに 弊社のデータ分析案件において、RedshiftにてSQLを実行してデータを抽出することが増えてまいりました。SQLはデータの抽出には強力なのですが、JavaやRubyなどのプログラミング言語と比べると独特であることも事実です。 例えば(PL/SQLなどは除いてですが) ループがない 変数に代入して次の処理に行くことができない メソッドやクラスに処理を分割できない などです。 これらの特徴からSQLでデータ抽出を行う為には、JavaやRubyなどとは異なった手法を取る必要があります。そこで「JavaやRubyとかでは・・・というやり方でやるのだけど、SQLではどうやるのだろう」というケースについて、シリーズ形式で何回かに分けて取り上げたいと思います。 尚、SQLの基本的な構文(select、join、group byなど)については説明しません。またデータベースの種類に関わらず使用
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く