質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

SQL Server

SQL Serverはマイクロソフトのリレーショナルデータベース管理システムです。データマイニングや多次元解析など、ビジネスインテリジェンスのための機能が備わっています。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

Q&A

解決済

2回答

939閲覧

MySQLでログテーブルを作りたい

paranoaman1217

総合スコア24

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

SQL Server

SQL Serverはマイクロソフトのリレーショナルデータベース管理システムです。データマイニングや多次元解析など、ビジネスインテリジェンスのための機能が備わっています。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

0グッド

0クリップ

投稿2020/05/18 09:01

お世話になっております。
現在Laravelフレームワークを用いてのWebアプリケーションを運用中です。
CtoBサービスなんですが、ユーザーのある行動に対してログを取りたいと考えています。
それを用いて分析や、有料オプションでグラフ表示ができるなど役立てたいのですが、ログテーブルのような大量のinsertが予定され、すぐに数千、数万行行ってしまうようなテーブルを作成したことがなく、ログテーブルの運用に置けるベストプラクティスを知りたいと考えています。
RDB系はログなどの蓄積型には弱いなどの話も調べたら出てきました。

SQL全般でのセオリーでも構いませんし、具体的にこんな考え方で運用するものだ、のような方法論があるならご教示いただきたいです。
何卒よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2020/05/18 09:10

SQL Server は本件とどのように関係するのでしょうか。 あと、パフォーマンス気になるなら、テストデータを放り込んで試してみれば良い話とは思うのですけど。 どの程度のスペックでの環境を準備しようとしているかにもよります
guest

回答2

0

ユーザーに提供するサービスに関するのなら、設計対象として要件を明らかにしておく必要があります。

一般的にログと言えば、システムの動作に関してや、セキュリティに関する、保守目的の記録であることが多いです。

保守目的であるなら、一定期間保持して外部媒体に逃がして容量を押さえるとか、アプローチが違ってきますので。

投稿2020/05/18 10:03

sazi

総合スコア25206

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

paranoaman1217

2020/05/20 03:08

ご回答いただきありがとうございます。 要件としましては、はっきり固まっているわけではなく、「アクセス数」をエンドユーザーに見せる、という要望があったからです。例えばyoutubeの再生回数のような形であると考えますが、保守用という用途ではなく表示用としての要望でした。
guest

0

ベストアンサー

それを用いて分析や、有料オプションでグラフ表示

どういう分析するかによって、設計は変わりますよね。
具体例があって、どういう懸念があって、その上での解決方法なら回答のしようがあるかと思います。

質問から分かるのは、レコード数が多いことと、Group by による集計があるよなってことぐらいなので、SELECTが速けれりゃ問題ないんじゃない?とも思う。

実際に負荷が生じて、DB全体のボトルネックになる可能性を懸念しているのか、はたまたそのほかの何かを心配しているのかは、質問文からは読み取れません。

負荷に関することなら

  • テーブルをパーティショニングする
  • ログを格納するDB自体を別のホストにする

いろいろ方法はあると思う。

投稿2020/05/18 09:24

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

paranoaman1217

2020/05/18 09:53

大変参考になります。 >実際に負荷が生じて、DB全体のボトルネックになる可能性を懸念している まさにここの部分で懸念している感じです。 >テーブルをパーティショニングする >ログを格納するDB自体を別のホストにする いくつか用語をいただいたのでこれを調べてみて知識を広めていこうとお思います、ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問