Storing large numbers of varying size objects on disk

醉酒当歌 提交于 2019-12-06 07:13:39

Look at SQLite, it has bindings for many programming languages and environments available and is, like the Berkeley DB, a database on disk without the need for a database engine installation.

If you just add the right indexes, lookups will be very fast, and since it is a set-based database at heart, you can still do bulk queries and similar.

I would give PFS a try: http://blog.sensenet.hu/post/2008/05/Portal-File-System-(PFS)-an-open-source-content-repository-for-Net.aspx

Too bad you're on c/.Net, as Jackrabbit would have been a perfect choice.

You don't really indicate how you will be searching this data. I've done some similar work with some text mining applications where the main data is stored in MySQL but I maintain a textual search index in Ferret (the project is in Ruby) to find the appropriate row in the messages table based on keyword search. I think this hybrid approach could work for you as well. SQLServer and Lucene.Net may work well for you in the C# environment. I'm sure if you look around you can find similar solutions in the C++ space.

I don't recommend using SQLServer full text search -- Lucene and it's derivations seem to be a much better choice.

I think that you would have much better luck with just about any DB solution over a file-based solution. Just about any modern database should be able to handle your data requirements, at least space-wise. Building the indexes on your large field is a different matter and is why I would recommend a text mining approach if you need to search over it.

Sounds like just what Berkeley DB was designed for. I haven't used it, however.

Maybe you should give some thought to a WebDav-Server like Apache+mod-dav. This will store the conten and metadata on disk. For searching you may place an existing search engine on top of this WebDav server, e.g. Lucene.

This way you keep you own development at a minimum and start of with a powerful bunch of features.

Have you looked at db4o or Karvonite?

Have a look at Glimpse.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!