Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 23 Jul 1996 12:05:31 -0700
From:      "G. Jin" <gj@swanlake.com>
To:        questions@freebsd.org
Subject:   one large file or many small files
Message-ID:  <31F5227B.652@swanlake.com>

next in thread | raw e-mail | index | archive | help
To all:

I have a web application that if become successful it could support up 
to 100K users.
I will use a SQL database to maintain the users. However, each user will 
be able
to add/delete/modify their own data area dynamically, and the length of 
data per user
vary greatly from 10K to 20M, averaging some 200K per user. My original 
design was
one big file as central store for these dynamical data. The design is 
basically done
with my own elaborate storage management and garbage collection. I 
believe this way
is much faster and storage efficient than a pure SQL database 
implementation.

Now my concern is one big file may cause many lock out problems when 
accessed by
many users simultaneously. Also one humongous file will certainly cause 
backup problems.

I am thinking about giving each user a separate file, which will result 
to 100K 
files of 10K to 20M size instead of one big 20G-sized file. 

Can anybody tell me which way is better?

I have the following considerations so far:

1. Can Linux/FreeBSD support 100K files?
2. Will 100K files cause a lot of disk fragmentation?
3. If the user id = "12345", 
   a. In case of one big file, I have a SQL database table, given user 
ID,
      it returns the address of the data in the big file, and with one 
seek I
      can access to its data in the big file.
   b. In case many individual files, I will assign his data file to 
"f12345.dat".
      with 100K files in place, will accessing to a certain file 
"f12345.dat"
      cause too slow a directory search to find its address?

Any feedback would be greatly appreciated!


Ganlin Jin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?31F5227B.652>