例からなんですが、インターネットの掲示板のデータベースとかでMySQL等を使って保存するやり方があると思います。
しかし、書き込み内容などが増えれば当然保存する量が増えて重くなったりすると思うのですが、mixiや2chなどの大規模なサイトになってくると書き込み内容の量が相当なものになりデータベースの行数も相当なものになると思うのですが、これらのサイトはどういう風にして膨大な書き込み内容などを管理しているのでしょうか?またMySQLはどのくらいの行数までが軽快な動作を保てるのでしょうか?
データベースはSQL文一つでデータの検索やソートなどができるし今後も使い続けたいものなので教えてもらえると幸いです。
No.1ベストアンサー
- 回答日時:
理論的にはディスク容量が許す限り記録可能だと思います。
しかしトラフィックには限界があるわけなので下記のリンクにあるように分散処理するのが一般的でしょうね。
どのくらいで快適に動作するかは環境によって違いますので一概には言えません。
参考URL:http://techtarget.itmedia.co.jp/tt/news/0709/12/ …
回答ありがとうございます。
mixiのデータベースは1つのテーブルで管理してるのでは無くて複数のサーバーと複数のテーブルをつなぎ合わせて管理しているんですね。私自身テーブルの結合などしたことがなくそのくらいの負荷分散をしなければ運営できないようなWEBサービスを持っていませんが、ただMySQLで何かしらのものを作るとすぐに100,1000とデータの量が多くなり、どのくらいまでなら軽快に利用できる範囲なんだろうと今後ユーザー数100,200と増えた場合どうしようなどと悩んでました。参考記事を見るとmixiはユーザー数が1万くらいでようやく負荷対策をはじめたらしいので、と言うことは極小規模なサイトであればちょっとやそっとの負荷を気にすることは無い?ということですね。おおよそ負荷対策をしなければならないサイトの規模などの目安がわかりましたので安心しました。すこし神経質になってました。ありがとうございました。それでは失礼します。
No.2
- 回答日時:
「行数の上限」といった制限は、主要なRDBMSの一般的な機能ではありません。
RDBMS側の論理設計上の制限より、OSやディスク容量などの制限に、先に引っ掛かります。そのため、実際に格納可能な行数は、ディスク容量や表の行長などで変動します。
またある程度の規模のシステムでは複数サーバで負荷分散しますから、サーバ数、HDD数などの掛け算で、最終的にどの程度の行を格納できるかが変わってきます。
MySQLのスペース管理については詳しくないですが、主要なRDBMSでは、格納時の空き領域を探す効率的な仕組みを持っています。具体的に言うと、ビットマップなどで空ページを管理しています。
検索については、インデクスが有効利用できる条件(=、BETWEEN、IN、LIKEの前方一致など)であれば、B-TREE構造で母体データ件数が増えても、I/O増は対数の関係なので極端に性能劣化はしません。また、ORDER BYやGROUP BY、DISTINCTでは、検索条件との組み合わせで有効利用できるインデクスを定義していおけばソート抑止できます。
データベースって言うのはデータ件数が増えてもインデックスを利用している限り使っていてさほど気にするほどのものではないんですね。
ただ以前まで掲示板などを作ってるときデータは全てテキストで管理していたのでMySQLに乗り換えたときその利用しやすさ(検索やソートなども余裕テキスト管理では考えられない)から1つのデータベースに沢山のテーブルを作って色々なものに利用したので果たしてこんな使い方をしてもデータベース1つで大丈夫なんだろうか?などと色々悩んでましたが、今回の質問で目安ですが1つのデータベースを利用するに当たり小規模であればあまり負荷のことは気にせず利用できることがわかりましたので、負荷対策などは負荷と実感できるくらいのものを作ったときに考えていきたいと思います。
ご丁寧な回答ありがとうございました。それでは失礼します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript Typescript が必要な理由 1 2023/01/07 11:45
- MySQL 【投稿情報用データベース posts】は必要ないと思います。 1 2022/06/02 21:25
- その他(データベース) 業務用のデータベースサーバーの選び方について 4 2022/11/22 10:22
- MySQL データベースの複製の仕方(mysql) 2 2023/05/30 18:24
- JavaScript Q&Aの掲示板を作成していてヤフー知恵袋やgoo質問のように質問ごとにURLを生成したい 5 2023/08/04 01:22
- フリーソフト 色々な形式の個人情報を後で参照しやすいようWindow10で管理したいのですが、どんな方法があるの? 1 2023/04/29 16:46
- MySQL MySQLでcreateが使えない MySQLを使ってデータベースを作ろうと思い、CREATE を使 3 2022/06/19 15:32
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- PHP 「基礎からのMySQL 第3版 Kindle版」を数年前購入して全部やりました。 1 2022/09/15 05:32
- Visual Basic(VBA) vbaエクセルマクロについて あるデータを作成し、デスクトップに.xlsx形式で保存するマクロを作成 2 2023/03/02 18:54
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
並べ替えについて
-
レコードの登録順がおかしい
-
ファイルの漢数字の順番につい...
-
コンボボックスのソートについて
-
1の行を固定した上でVBAを用い...
-
エクセル、並び替え正しくソー...
-
月末日のみソートしたい
-
文字型の順番がうまく並ばない。
-
テーブルレーコードをソートし...
-
SQLで曜日のソートを月火水木金...
-
アクセスに関して。クエリの並...
-
マクロ 昇順のマクロを追加したい
-
Selectした時のレコードの取得順
-
マクロでソートをかけるときに...
-
MySQLで行番号を得たい
-
ソートのアルゴリズム等はいつ...
-
エクセルデーターの並び替え
-
エクセルVBAでデータ並べ替え
-
Oracleのソート
-
accessでDISTINCT 句と矛盾
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
レコードの登録順がおかしい
-
エクセル、並び替え正しくソー...
-
並べ替えについて
-
1の行を固定した上でVBAを用い...
-
ファイルの漢数字の順番につい...
-
エクセルのソートについて
-
テーブルレーコードをソートし...
-
上から何番目か。
-
SQLで曜日のソートを月火水木金...
-
リストボックス内を昇順並べる方法
-
Selectした時のレコードの取得順
-
アクセスに関して。クエリの並...
-
コンボボックスのソートについて
-
accessでDISTINCT 句と矛盾
-
エクセルでダブルクリックして...
-
数字と漢字が混じった日付デー...
-
Excelの並び替え(文字数と画数...
-
都道府県順、北からソートした...
-
月末日のみソートしたい
-
エクセルの縦列のソートできま...
おすすめ情報