IntelliJ Java IDE
The moose likes I/O and Streams and the fly likes Java Read/Write on huge file system Big Moose Saloon
  Search | Java FAQ | Recent Topics
Register / Login
JavaRanch » Java Forums » Java » I/O and Streams
Reply Bookmark "Java Read/Write on huge file system" Watch "Java Read/Write on huge file system" New topic
Author

Java Read/Write on huge file system

Karthik Karnan
Greenhorn

Joined: Dec 21, 2011
Posts: 1
I am working on a J2EE application where the user can upload/read/delete files. There is going to be a separate file server (SAN drive) for this.

Here is the worst case.

File Server size = 100TB
Maximum allowed size per file = 5MB
This leads to the maximum number of files = 20971520


The files will be stored in a specific folder structure but I don't know how much it will impact the performance of file search/read/write/delete in my java program for this large number of files. I thought of splitting the 100TB into multiple drives but still I have no idea what are the problems I am going to face at the worst case.

I appreciate any kind of suggestions. Thanks a lot in advance.
Tim Holloway
Saloon Keeper

Joined: Jun 25, 2001
Posts: 12513

Welcome to the Ranch, Karthik!

Since the files themselves aren't all that big, Java itself probably isn't going to be the limiting factor. More important is going to be the directory structure and filesystem that you use.

Not all filesystems even support multi-Terabytes of data. Some do, but should be considered carefully. I once worked with one that was projected to require multiple days to repair itself in the event of a major crash.

Different filesystems also vary in how they treat directories. Some limit the total number of files in a directory. Some don't technically limit them, but have problems with limitations in the support utilities. Some can handle many files, but the time required to open a file is dependent on the speed of a linear search of a directory. Others may use hashed directories, which generally makes them faster at opening files... provided that you don't end up with too many hash collisions and long overflow chains.

Your Mileage May Vary, in other words. I recommend setting up a pilot study.


One of the most odious afflictions that Business has inflicted on the modern English language is "pro-active". Most of the time it's simply redundantly used in place of the simple old word "active". And a good deal of the rest of the time it means "You're not overworked enough yet, so go out and find more!"
 
 
subject: Java Read/Write on huge file system
 
Threads others viewed
big O notation
Log4j created file not able to delete while testing my application??
Log4j created file not able to delete while testing my application??
Where to save a file separately for different users in same web server?
making java program user friendly
developer file tools

cast iron skillet 49er

more from paul wheaton's glorious empire of web junk: cast iron skillet diatomaceous earth rocket mass heater sepp holzer raised garden beds raising chickens lawn care CFL flea control missoula heat permaculture