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

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

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

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

MySQL

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

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

4回答

15089閲覧

データベース(MySQL)の容量5MBってどのくらい貧弱な容量なのでしょうか?

widget11

総合スコア221

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

MySQL

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

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

3グッド

1クリップ

投稿2018/10/23 16:35

3週間程前にherokuに初めて自作のrailsアプリケーションをデプロイしました。
データベースはclearDb(MySQL)を用いております。
毎日改修を行い、機能をどんどん盛り込もうとそのためのテーブルを追加しマイグレーションを行いデータを入れ。。。ということを行っていました。
しかし昨夜くらいから本番環境のテーブルに値が入らなくなる現象が起こり、なんのバグだろうずっと調べており、ふとherokuアカウントを登録しているメールを見たらデータベースの上限5mbに達したよという通知がきていました。恐らくDBのエラーのような現象はこれだと踏んだのですが、そもそもデータベースの上限が5mbというのがどれほどのものかが分かりません。
ここからが質問なのですが、
①clearDBのフリーの次に安いプランが1GBだというので5mbが相当貧弱なのは分かるのですが、実際どれほど貧弱なのでしょうか?サーバー代というのは理解していたのですがDBの代金は全く想定していなかったです。
②データベースの使用量というのは例えばレコードを全件削除したら0mbに戻ると考えていいのでしょうか、それともなんかレコードに値が入った時点でいくつかの容量を失うものなのでしょうか。
③DBの使用量を節約するテクニック(てきとーなのですが例えばカラムの型をtextにすべきところをstringにするなど、、、)って何かありますか?
④なぜローカルのDBにはこのような制限がないのでしょうか?

基本的なDBの知識が足りておらず分からないことだらけです。

学生なのでherokuの料金7ドル+apiを使用しているサービスな為その使用料+DBの料金10ドルでも毎月と考えると結構きついです。。。
でもネットは無料でできるみたいな印象があったのですがサービス運営ってお金かかるんだなと学べました。

kamedd, set0gut1👍を押しています

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

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

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

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

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

m.ts10806

2018/10/23 20:08

貧弱と言う表現は改められた方が良いかと。何かしらの理由あっての制限かもしれませんし、容量で強いとか弱いとかは決まりません。質問が4つありますが方向性が全く違います。1質問1要件としてください。「どうなったら解決か」という回答者観点からすると「全てに回答しなければならない」ですよね。質問内に要件が散らばっているとそれだけ的確な回答が得られにくくなります。
guest

回答4

0

ベストアンサー

②データベースの使用量というのは例えばレコードを全件削除したら0mbに戻ると考えていいのでしょうか

通常レコードを削除(delete from 〜)では、容量は開放されません(未使用としてフラグが立つだけ)。コンプレス(うろ覚え)のコマンド(SQL)を投げる必要が有ります。それでも、管理領域は残りますから0にはなりません。

③DBの使用量を節約するテクニック

5MBでは役に立たないでしょうが、テーブルが分散しているなら以下の話が役に立つでしょう
データベースの正規化(正規形)とはなんぞや

④なぜローカルのDBにはこのような制限がないのでしょうか?

ローカル環境においてもユーザ毎のハードディスクの使用容量:クオータ(disk quota)は設定できます(一般のUnix環境、Windowsは良く判らない)が、通常の制限はパテーションの未使用サイズまでだと思います。

投稿2018/10/23 23:48

編集2018/10/24 00:09
cateye

総合スコア6851

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

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

cateye

2018/10/23 23:53

最近のWindowsでもクオータ設定は出来るようです。
widget11

2018/10/24 01:46

丁寧なご回答をありがとうございます。 Delete構文だと容量が解放されないのは驚きました!容量を解放するには調べてみるとcateye様が仰っているcompressや、またdeleteの代わりにtruncate構文を使うと良いとのことでした。 https://wikidiff.com/truncate/compress(これ見るとtruncateとcompressは似た概念で切り捨てるか圧縮するかといった違いのようですね) 双方ともにActiveRecordではサポートされていないようなので、クエリを直接発行すべきであるっぽいですね。ありがとうございます。
guest

0

ちょっとググってみたら、mysqlでの必要容量の計算法はここにありますね。
https://dev.mysql.com/doc/refman/5.6/ja/storage-requirements.html
どんなことをどこまでやりたいのかがはっきりすれば、これで最低何MBのスペースが必要か判断できるでしょう。②への答えも書いてあります。

クラウドって意外と安くないですよね。Orlofskyさんがおっしゃるように安いノートPCを買ってやってみるほうが結局は安いし楽かもしれません。参考までに、Raspberry piという5000円ぐらいで買える超小型PCがあり、これにmysql入れていろいろやっている人もいるようですよ。使いこなすには少し勉強も必要と思いますが、学生さんがチャレンジしてみるには面白い素材でしょう。
http://www.inex.co.jp/rasbpi/rasb30-09.html

投稿2018/10/23 19:52

KojiDoi

総合スコア13671

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

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

guest

0

月10ドルの出費が負担になる学生さんにお伝えするのは酷かもしれませんが、安いノートPC でもHDDは500GBくらいありますが、それでも3万円ちょっとの投資が必要です。セキュリティソフトも必要ですが。データベース単独で入門レベルの勉強をするならこれで十分です。クラウド環境に移行するのはもう少し懐具合が改善されてからでも良いでしょう。
学校によってはクラウド環境を無料か格安で使えるところもあるかも?

企業が経営を続けるためには利益を確保しなければなりません。
widget11さんのような5MBって少なさに気が付かずに、とりあえず無料で使えるクラウド・プランを提供して、有料プランへ誘導するのはよくあることです。騙されたと判断するか、自分の能力が足りなかったと考えるかは人それぞれです。

投稿2018/10/23 19:03

Orlofsky

総合スコア16415

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

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

0

中古のノートPC(できれば OS の入っていないもの)と USB メモリを用意して、自力で Linux インストールして動かしてみるというのも手ですね。初期投資は3万くらいかかりますが、あとは電気代だけで自由に使えるサーバーが一台できあがります。
ノートPC はバッテリーがへたれると安くなるのですが、サーバー用途だと思えば別に気になりませんし、古い PC の方が下手に最新のものであるよりは動かしやすいですし。

あとは…… AWS で Linux の t2.micro(1CPU 1GB RAM)に 20GB ストレージで、月$14 くらいですか。これでも DB につかえる容量は 10GB は確保できます。
t2.nano だとメモリ 512MB なんでちと厳しいかな。

投稿2018/10/23 23:58

tacsheaven

総合スコア13703

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

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

widget11

2018/10/24 01:49

皆さん中古でノートを購入してLinuxインストールしてと仰っているのですが、正直よく意味が分からず。。。要するとクラウドストレージの代わりに自分のPCを本番環境のストレージ代わりにするということなのでしょうか? 基本的に僕が技術学習してきたようなサイトやサービスではストレージ、DBはクラウドありきで説明されていることが多いので。。。
tacsheaven

2018/10/24 02:30

技術学習のためには実際に使える環境を用意する必要があります。DB しかり、Web サーバしかり。 それらを用意するのにクラウドの方が手軽で楽(環境が固定されるので)、というだけの話です。 これが自分の PC へのインストールだと、そもそもハードウェアによってはインストールがうまくいかなかったりするので、説明が面倒なのです。 ですが Linux の勉強も兼ねて、一からセットアップをやるというのもありですよ。 ※AWS EC2 の場合、OS インストールは終わっていますが、その他のソフトウェア(DBサーバ、Webサーバなど)は、自分でインストールする必要があります。が、それもまた勉強です。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問