[前][次][番号順一覧][スレッド一覧]

mysql:13674

From: "Tetsuro IKEDA" <"Tetsuro IKEDA" <ikdttr@xxxxxxxxxx>>
Date: Mon, 15 Jan 2007 15:54:15 +0900
Subject: [mysql 13674] Re: InnoDBの最小テーブルサイズ(Re: Re: InnoDBの最大テーブル数)

こんにちは。池田@住商情報です。

innobase/srv/srv0boot.c:1300行目付近に、

        if (sum_of_new_sizes < 640) {
                  fprintf(stderr,
                  "InnoDB: Error: tablespace size must be at least 10 MB\n");

                  return(DB_ERROR);
        }

ってハードコーディングされてますよ。640 ... 16KB*640=10MBです。

やはり、多数のテーブルを作成するという方法は見直したほうがいいのでは
ないでしょうか?

本当にやるなら、innodbのコードをいじるだけでなく、カーネルハックとかも
必要になるのではと思います。

07/01/15 に 玉越大輝<hiroki.tamakoshi@xxxxxxxxxx> さんは書きました:
> こんにちは、株式会社ビービットの玉越です。
>
> InnoDBのデフォルトのテーブルサイズを少なくする方法はありますでしょうか?
>
> 先日、沢山のテーブルを作成することができるかどうか質問させていただきまし
> たが、それは巨大なテーブルを複数のテーブルに分割するためでした。
>
> 実際に分割して実験してみたのですが、今度はそれぞれのテーブルのファイルサ
> イズが非常に小さくなったため、デフォルトの10MBではディスクスペースがもっ
> たいなくなったためです。
>
> マニュアルには最小で10MBとあるのですが、これを変えたい場合にはソースを変
> 更するしかないのでしょうか?
> http://dev.mysql.com/doc/refman/4.1/ja/innodb-restrictions.html
>
>
> ご存知の方、ご教示いただけますと幸いです。
>
>
> 07/01/12 に Hiroki Tamakoshi<hiroki.tamakoshi@xxxxxxxxxx> さんは書きました:
> > こんにちは、株式会社ビービットの玉越です。
> >
> > 早速のお返事、ありがとうございます。
> > ソースの中身まで見ていただけたのですね、ありがとうございます。
> >
> > もちろん、テーブルを4,000万個も作りたくはありません。
> > 現在実装しているシステムではテーブルを分割せずにデータを蓄積しているので
> > すが、1テーブルが極めて巨大になり、性能が低下しつつあるようです。
> >
> > そのため、性能向上のために分割を検討しており、その数を計算したら4000万と
> > いう数字になってしまいました。
> >
> > 分割するにせよ、もっと効率のよい方法があるかもしれないと考え、現在情報を
> > 収集しているところです。
> >
> > 今回は調べていただき、本当にありがとうございました。
> >
> >
> > On Fri, 12 Jan 2007 14:09:45 +0900
> > Tetsuro IKEDA <te.ikeda@xxxxxxxxxx> wrote:
> >
> > > こんにちは。池田@住商情報システムです。
> > >
> > > innodbのデータディクショナリのソースを読むと、テーブルIDは8バイトで
> > > 管理しているようです。
> > > (参照:innobase/include/dict0boot.hのDICT_HDR_xxxシリーズ)
> > >
> > > ということで、他の条件を全て無視できるならば、
> > > 2^32 = 約40億テーブル、というのがひとつの上限かもしれません。
> > > 現実的には他の条件の方が先にひっかかるでしょう。
> > > そもそも、PAGE数の上限が40億ページなので。
> > >
> > > しかし4000万個のテーブルって、性能面とかいろいろ心配な気がしますが、、、
> > > 上手くいったらコツとか教えてください(^^)
> > >
> > > > 株式会社ビービットの玉越です。
> > > >
> > > > InnoDBで、持てるテーブルの最大数をご存知の方がいらっしゃいましたらご教示
> > > > いただけますでしょうか?探した限りでは情報が見つかりませんでした。
> > > >
> > > > 現在、my.confにinnodb_file_per_tableを記述し、1テーブル=1ファイルにして
> > > > います。
> > > >
> > > > OSによるファイル数の制限をなしにした場合、1DB内にいくつまでテーブルを作
> > > > ることができるでしょうか?
> > > >
> > > > 今のところ、4,000万個程度のテーブルを作成しようと考えています。
> > > >
> > > > ちなみに、実際に実験された方の結果が下記のブログに載っていました。
> > > > 262,731個まで作成したところで途中で止まってしまったとのことです。
> > > > http://bobfield.blogspot.com/2006/03/million-tables.html
> > > >
> > > > この方はWindows Server 2003で、一つのファイルに複数テーブルを作っている
> > > > ため、私とは環境が異なります。
> > > >
> > > > 私の環境は以下の通りです。
> > > >
> > > > ・OS: Fedora Core
> > > > ・ファイルシステム: xfs
> > > > ・ulimitはunlimited
> > > > ・/proc/sys/fs/file-maxは現在386343です。
> > > >   多数のテーブルを作りますが、同時に開くテーブル数は少ないのでこれはその
> > > >   ままでもよいと思います。
> > > >
> > > > よろしくお願い致します。
> > > >
> > > >
> > > > --
> > > > 株式会社ビービット 玉越 大輝
> > > > ユーザビリティ コンサルタント
> > > > beBit,Inc. Tamakoshi Hiroki hiroki.tamakoshi@xxxxxxxxxx
> > > > --------------------------------------------------------
> > > > 〒105-0001 東京都港区虎ノ門1-18-1 虎ノ門10森ビル7F
> > > > TEL: 03-3509-7602 / FAX: 03-3509-7605
> > > > URL: http://www.bebit.co.jp/
> > > > --------------------------------------------------------
> > > > ◆◆◆お知らせ◆◆◆
> > > > ・ビービット新刊書籍 『ユーザ中心ウェブサイト戦略』発売
> > > >   http://www.bebit.co.jp/news/2006/book.html
> > > >   http://www.amazon.co.jp/gp/product/4797333529/
> > > >
> > >
> > > -----------------------------------------
> > > Tetsuro IKEDA, te.ikeda at jpta.scs.co.jp
> > > Kachidoki, Tokyo, Jpan
> > > http://www.scs.co.jp/mysql/
> > > -----------------------------------------
> > >
> > >
> >
> > --
> > 株式会社ビービット 玉越 大輝
> > ユーザビリティ コンサルタント
> > beBit,Inc. Tamakoshi Hiroki hiroki.tamakoshi@xxxxxxxxxx
> > --------------------------------------------------------
> > 〒105-0001 東京都港区虎ノ門1-18-1 虎ノ門10森ビル7F
> > TEL: 03-3509-7602 / FAX: 03-3509-7605
> > URL: http://www.bebit.co.jp/
> > --------------------------------------------------------
> > ◆◆◆お知らせ◆◆◆
> > ・ビービット新刊書籍 『ユーザ中心ウェブサイト戦略』発売
> >   http://www.bebit.co.jp/news/2006/book.html
> >   http://www.amazon.co.jp/gp/product/4797333529/
> >
> >
> >
>
>
> --
> 株式会社ビービット 玉越 大輝
> ユーザビリティ コンサルタント
> beBit,Inc. Tamakoshi Hiroki hiroki.tamakoshi@xxxxxxxxxx
> --------------------------------------------------------
> 〒105-0001 東京都港区虎ノ門1-18-1 虎ノ門10森ビル7F
> TEL: 03-3509-7602 / FAX: 03-3509-7605
> URL: http://www.bebit.co.jp/
> --------------------------------------------------------
>
>

[前][次][番号順一覧][スレッド一覧]

     13673 2007-01-15 14:56 ["玉越大輝" <hiroki.t] InnoDBの最小テーブルサイズ(Re:  Re:  InnoDBの最大テーブル数)
->   13674 2007-01-15 15:54 ┗["Tetsuro IKEDA" <ikd]                                       
     13675 2007-01-15 16:05  ┗["玉越大輝" <hiroki.t]