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

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

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

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

SQL

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

Q&A

解決済

1回答

2725閲覧

ユーザー自身がタグ作成できる場合、Toxi法でいいでしょうか

hotaruika

総合スコア57

MySQL

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

SQL

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

0グッド

0クリップ

投稿2020/10/10 01:23

タグ機能を実現するための便利なデータベース設計を3つ紹介という記事を拝見し、タグ付けにおけるデータベースの種類を知ったばかりです。

今回Twitterのようにユーザー自身がタグ作成できるものを開発していて、つまりタグの数が膨大になることに耐えられなければなりません。

この場合に適当なデータべースは上記の記事3つ目にあるToxi法でよろしいでしょうか。

正規化が進んでいるとはいえリレーションテーブルが膨大になることにやや不安を覚えます。

無論これら3は一長一短ですが、ユーザー自身がタグ作成できるという場合に適した方法はどちらになりますでしょうか。
ご意見頂けましたら幸いです。

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

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

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

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

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

m.ts10806

2020/10/10 01:35

「ように」といっても100%Twitterと同じではないですよね。 もっと具体的に要件詰める必要があるのではないでしょうか。 現在提示されている情報だけでは判断できません。 そして、開発の希望やサービスの形態次第ではQAという形では解決難しい内容かもしれません。
hentaiman

2020/10/10 01:45

膨大になる事がリスクになる程の利用者数なんですか? toxiという名前は初めて知ったけど、世の中無駄に名前つけたがるご機嫌な人がるんですね。中間テーブルとか多対多リレーションって言葉使った方が良いですよ。阿呆に釣られて造語使うよりも情報検索し易いですから。
sazi

2020/10/10 01:53

MySQL限定の話ですよね。
hotaruika

2020/10/10 01:55

MySQL限定になります。
hentaiman

2020/10/10 02:10 編集

利用者数の返答無しか そしたら本当に膨大なら膨大でも対応出来るような設計に、そうでもないなら好きなようにって感じで。
kyoya0819

2020/10/10 02:16

タグをどう使いたいのでしょうか?それによって答えが大きく変わります。
sazi

2020/10/10 02:22 編集

> タグの数が膨大になる 他の方も質問されていますが、どれぐらいを想定しているんですか?
hotaruika

2020/10/10 02:22

タグの使い方としては。Twitterのようにコメントにユーザーがー好きにタグ付けでき、それを検索できるという使い方を考えています。そのため数としては多言語も想定し、億単位はいっても耐えられるように作りたいという思いです。
m.ts10806

2020/10/10 02:31

「~のように」という表現をイメージわかしやすくするために使っているのかもしれませんが、 結局そのものとは似て非なるものになるので、あくまで自身が作るものとして「仕様を」「具体的に」書いたほうが良いと思いますよ。 それに、言っては悪いですが、本当にそれだけのユーザー数、データ数を見込めるようなサービスになるんですか? それならこの場で無償で解決できるような問題でも、個人プロジェクトで考える問題でもありません。
guest

回答1

0

ベストアンサー

タグの数が膨大になる
億単位はいっても耐えられるように

一人当たり、100件のタグを作ったとして100万人の利用者という事になります。
タグの事だけ気にして良いの?って感じですよ。

Twitterのように

規模の例えでは無いでしょうが、Twitterは日々スケールアップしての現状です。
コスパを考えた方が良いと思います。
以下はTwitterの開発技術系のサイトです。膨大なコスト掛けている事が伺えます。
Reducing search indexing latency to one second

本題に入りますが、MySQLでなら、テーブル構造ではなく、パーティションの検討でしょうね。

MySQL限定になります。

何故限定するのか分かりません。
フレームワークやテンプレートありきという話なら、そこで既に限界です。
想定している規模に対しての要件を満たすためには、DBMSも選択肢の一つです。
タグ検索するならPostgreSQLで決まり!
タグのみのテーブル化が不要なら、結合コストも抑えられますからね。

得意分野を任せて、異なるDBMS間の連携だって良いわけです。

投稿2020/10/10 02:57

編集2020/10/10 05:35
sazi

総合スコア25327

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

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

hotaruika

2020/10/10 03:02

様々なリンクをありがとうございます。今後の開発に活かせるよう精進致します。
sazi

2020/10/10 03:15

技術者としては、規模が大きくなっても耐えられるようにと考える事は理解できます。 ですが、予算や期間は限られているはずです。 こういった質問は、ベンチマークを行い要求規模を満たしているかどうかの判断を行って、満たさない時に具体的な内容で行う事ですね。
hotaruika

2020/10/10 03:21

仰る通り可塑性を考えすぎて自身のスキルとコストを度外視しておりました。スケールごとに都度判断し適格な者に任せたいと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問