Re: [pgsql-hackers-win32] Sync vs. fsync during
От | pgsql@mohawksoft.com |
---|---|
Тема | Re: [pgsql-hackers-win32] Sync vs. fsync during |
Дата | |
Msg-id | 16423.24.91.171.78.1084534529.squirrel@mail.mohawksoft.com обсуждение исходный текст |
Ответ на | Re: [pgsql-hackers-win32] Sync vs. fsync during checkpoint (Jan Wieck <JanWieck@Yahoo.com>) |
Список | pgsql-hackers |
> Greg Stark wrote: > >> Jan Wieck <JanWieck@Yahoo.com> writes: >> >>> The whole sync() vs. fsync() discussion is in my opinion nonsense at >>> this >>> point. Without the ability to limit the amount of files to a reasonable >>> number, >>> by employing tablespaces in the form of larger container files, the >>> risk of >>> forcing excessive head movement is simply too high. >> >> I don't think there was any suggestion of conflating tablespaces with >> implementing a filesystem in postgres. >> >> Tablespaces are just a database entity that database stored objects like >> tables and indexes are associated to. They group database stored objects >> and >> control the storage method and location. >> >> The existing storage mechanism, namely a directory with a file for each >> database object, is perfectly adequate and doesn't have to be replaced >> to >> implement tablespaces. All that's needed is that the location of the >> directory >> be associated with the "tablespace" of the object rather than be a >> global >> constant. >> >> Implementing an Oracle-style filesystem is just one more temptation to >> reimplement OS services in the database. Personally I think it's an >> awful >> idea. But even if postgres did it as an option, it wouldn't necessarily >> have >> anything to do with tablespaces. >> > > Doing this is not just what you call it. In a system with let's say 500 > active backends on a database with let's say 1000 things that are > represented as a file, you'll need half a million virtual file > descriptors. I'm sort of a purist, I think that operating systems should be operating systems and applications should be applications. Whenever you try to do application like things in an OS, it is a mistake. Whenever you try to do OS like things in an application, it - also, is a mistake. Say a database has close to a active thousand files and you do have 100 concurrent user's. Why do you think that this could be handled better in an application? Are you saying that PostgreSQL could do a better job at managing 1/2 million shared file descriptors than the OS? Your example, IMHO, points out why you *shouldn't* try to have a dedicated file system.
В списке pgsql-hackers по дате отправления: