> Is access to *one* of the 20 million different SQLite files getting > progressively slower? How big is that specific SQLite file? Is that > the one that is "huge"? I use SQLite over an NAS (at times), and never > experience any noticeable slowdown. Is access to his NAS itself slow, > perhaps not just via SQLite but just over the regular filesystem?
Each NAS_000 ~ N storages have approximately 300,000 files, the average size of file is few MB (not over GB). The broker servers (with SQLite library) are on the NAS and The front-end web servers (more than 200 servers) communicate with living broker servers after request location from location addressing system. There are high frequency read/write/delete operations. The number of files/storages/clients keep increasing little by little. /Edward On Wed, Jan 7, 2009 at 9:57 PM, P Kishor <punk.k...@gmail.com> wrote: > On 1/7/09, Thomas Briggs <t...@briggs.cx> wrote: >> I actually thought the original question was perfectly clear. I >> thought the proposed solution (included in the original post) was >> perfectly logical too. So what's all the fuss? > > The confusion, at least for me, arose from the following sentence in the OP -- > > "I'm using SQLite, all data (very huge and 20 million files) " > > and the response to request for clarification of the above. > > - we know he is using SQLite > > - we know "it" is all data (although, I am not sure what else could > SQLite be used for other than "data") > > - we know "it" is very huge > > - we know there are 20 million *files* involved > > No matter how I put together the above four pieces of information, I > can't grok it. > > Is access to *one* of the 20 million different SQLite files getting > progressively slower? How big is that specific SQLite file? Is that > the one that is "huge"? I use SQLite over an NAS (at times), and never > experience any noticeable slowdown. Is access to his NAS itself slow, > perhaps not just via SQLite but just over the regular filesystem? > > So there... no fuss, just a desire to understand better what exactly > is the problem. > >> >> >> On Wed, Jan 7, 2009 at 7:28 AM, P Kishor <punk.k...@gmail.com> wrote: >> > On 1/6/09, Edward J. Yoon <edwardy...@apache.org> wrote: >> >> Thanks, >> >> >> >> In more detail, SQLite used for user-based applications (20 million is >> >> the size of app-users). and MySQL used for user location (file path on >> >> NAS) addressing. >> > >> > Edward, >> > >> > At least I still don't understand why you have 20 million databases. >> > My suspicion is that something is getting lost in the translation >> > above, and neither you nor anyone on the list is benefitting from it. >> > Could you please make a little more effort at explaining what exactly >> > is your problem -- it well might be an "xy problem." >> > >> > If you really do have 20 million SQLite databases on a NAS, and you >> > don't care about changing anything about the situation except for >> > improving the speed of access from that NAS, well, since you will >> > likely be accessing only one db at a time, perhaps you could copy that >> > specific db to a local drive before opening it. >> > >> > In any case, something tells me that you will get better mileage if >> > you construct a good question for the list with enough background >> > detail. >> > >> > >> >> >> >> >> >> On Wed, Jan 7, 2009 at 1:31 PM, P Kishor <punk.k...@gmail.com> wrote: >> >> > On 1/6/09, Edward J. Yoon <edwardy...@apache.org> wrote: >> >> >> > Do you have 20 million sqlite databases? >> >> >> >> >> >> >> >> >> Yes. >> >> > >> >> > Since all these databases are just files, you should stuff them into a >> >> > Postgres database, then write an application that extracts the >> >> > specific row from the pg database with 20 mil rows giving you your >> >> > specific SQLite database on which you can do your final db work. >> >> > >> >> > Seriously, you need to rethink 20 mil databases as they defeat the >> >> > very purpose of having a database. >> >> > >> >> > >> >> >> >> >> >> >> >> >> On Wed, Jan 7, 2009 at 12:36 PM, Jim Dodgen <j...@dodgen.us> wrote: >> >> >> > I think the question was about the structure of your data >> >> >> > >> >> >> > a sqlite database is a file and can contain many tables. tables >> can contain >> >> >> > many rows. >> >> >> > >> >> >> > Do you have 20 million sqlite databases? >> >> >> > >> >> >> > This information can help people formulate an answer. >> >> >> > >> >> >> > On Tue, Jan 6, 2009 at 6:14 PM, Edward J. Yoon >> <edwardy...@apache.org>wrote: >> >> >> > >> >> >> >> Thanks for your reply. >> >> >> >> >> >> >> >> > That's a lot of files. Or did you mean rows? >> >> >> >> > Are you sure? There can be many other reasons. >> >> >> >> >> >> >> >> There is a lot of files. So, I don't know exactly why at this >> time, >> >> >> >> But thought network latency canĀ“t be denied. >> >> >> >> >> >> >> >> /Edward >> >> >> >> >> >> >> >> On Wed, Jan 7, 2009 at 4:07 AM, Kees Nuyt <k.n...@zonnet.nl> >> wrote: >> >> >> >> > On Tue, 6 Jan 2009 11:23:29 +0900, "Edward J. Yoon" >> >> >> >> > <edwardy...@apache.org> wrote in General Discussion of >> >> >> >> > SQLite Database <sqlite-users@sqlite.org>: >> >> >> >> > >> >> >> >> >> Hi, I'm newbie in here. >> >> >> >> >> >> >> >> >> >> I'm using SQLite, all data (very huge and 20 million files) >> >> >> >> > >> >> >> >> > That's a lot of files. Or did you mean rows? >> >> >> >> > >> >> >> >> >> stored on NAS storage. Lately my system has been getting >> >> >> >> >> progressively slower. Network cost seems too large. >> >> >> >> > >> >> >> >> > Are you sure? There can be many other reasons. >> >> >> >> > >> >> >> >> >> To improve its performance, I'm think about local lock file >> >> >> >> >> instead of NAS as describe below. >> >> >> >> >> >> >> >> >> >> char str[1024] = "/tmp"; >> >> >> >> >> strcat(str, lockfile); >> >> >> >> >> sprintf(str, "%s-lock", zFilename); >> >> >> >> >> >> >> >> >> >> But, I'm not sure this is good idea. >> >> >> >> >> I would love to hear your advice!! >> >> >> >> > >> >> >> >> > I think that's not the right way to start. >> >> >> >> > This is what I would do, more or less in >> >> >> >> > this order: >> >> >> >> > >> >> >> >> > 1- Optimize the physical database properties >> >> >> >> > PRAGMA page_size (read the docss first!) >> >> >> >> > PRAGMA [default_]cache_size >> >> >> >> > >> >> >> >> > 2- Optimize SQL: use transactions >> >> >> >> > where appropriate. >> >> >> >> > >> >> >> >> > 3- Optimize your code. Don't close database >> >> >> >> > connections if they can be reused. >> >> >> >> > >> >> >> >> > 4- Optimize the schema: create indexes that >> >> >> >> > help, leave out indexes that don't help. >> >> >> >> > >> >> >> >> > 5- Investigate the communication to/from NAS. >> >> >> >> > Do all NIC's train at the highest possible speed? >> >> >> >> > Some limiting switch or router in between? >> >> >> >> > Do you allow jumbo frames? >> >> >> >> > >> >> >> >> > 6- Consider SAN/fSCSI, direct attached storage. >> >> >> >> > >> >> >> >> > 7- Consider changing SQLite code. >> >> >> >> > >> >> >> >> > >> >> >> >> > Without more details on your use case, people will only get >> >> >> >> > general advice like the above. >> >> >> >> > >> >> >> >> >>Thanks. >> >> >> >> > >> >> >> >> > Hope this helps. >> >> >> >> > -- >> >> >> >> > ( Kees Nuyt >> >> >> >> > ) >> >> >> >> > c[_] >> >> >> >> > _______________________________________________ >> >> >> >> > sqlite-users mailing list >> >> >> >> > sqlite-users@sqlite.org >> >> >> >> > http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users >> >> >> >> > >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> -- >> >> >> >> Best Regards, Edward J. Yoon @ NHN, corp. >> >> >> >> edwardy...@apache.org >> >> >> >> http://blog.udanax.org >> >> >> >> _______________________________________________ >> >> >> >> sqlite-users mailing list >> >> >> >> sqlite-users@sqlite.org >> >> >> >> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users >> >> >> >> >> >> >> > >> >> >> > >> >> >> > >> >> >> > -- >> >> >> > Jim Dodgen >> >> >> > j...@dodgen.us >> >> >> > _______________________________________________ >> >> >> > sqlite-users mailing list >> >> >> > sqlite-users@sqlite.org >> >> >> > http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users >> >> >> > >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> -- >> >> >> >> >> >> Best Regards, Edward J. Yoon @ NHN, corp. >> >> >> edwardy...@apache.org >> >> >> http://blog.udanax.org >> > _______________________________________________ >> > sqlite-users mailing list >> > sqlite-users@sqlite.org >> > http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users >> > >> _______________________________________________ >> sqlite-users mailing list >> sqlite-users@sqlite.org >> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users >> > > > -- > Puneet Kishor http://www.punkish.org/ > Nelson Institute for Environmental Studies http://www.nelson.wisc.edu/ > Open Source Geospatial Foundation (OSGeo) http://www.osgeo.org/ > _______________________________________________ > sqlite-users mailing list > sqlite-users@sqlite.org > http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users > -- Best Regards, Edward J. Yoon @ NHN, corp. edwardy...@apache.org http://blog.udanax.org _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users