IMBack

Hi,

I have to store about 300,000 user data.

I checked database, and It is expensive. So I deicide to store the data in XML file.

Now with Database, you can add rows, update multiple rows at the same time. so if multiple users decided to update its data, with database it can be done, and no data will be lost.

Now, I am not sure about XML file. If I have one xml file with all user's data, and multiple users will try to update at the same time, my guess, it will update who ever updates the last one. Is it correct It is not like database (please comment on this)(A)

If this is correct, and it will not save/update data at the same time, I though about creating each XML file for each user. since the size of the xml is measured by the bytes, my understanding is 300,000 xml files or one big xml file will be the same size. (please comment on this).(B)

if I am right, and it is fine to have either 300,000 files or one. Now the question is, how will they interact with each-other would I need to open each file, parse, get data, open the next one..etc... (will this going to slow down , or is there a better way (C)

Please reply, with any comments, suggestions, on how to make it efficiently.

Thank you for reading,



Re: Visual C# General c#->XML file(s)

sanchez911

Database is expensive for you because of it's price

Storing so much data in XML is not good idea...

(A) - you will have to lock file during each writing in it, so only 1 user can update it in one time.

(B) - not, it depends upon how you will organize data storing in XML, but in most cases 1 big file will be smaller than 300.000 small files.

(C) - interacting with each other is available only with some central element - your program. Yes, you must open each file, etc., depends upon what you want to do.





Re: Visual C# General c#->XML file(s)

AlexBB

If speed is a factor then Visual FoxPro 9 will be the best answer although the ODBC data retrieval is a pain in the neck as far as coding goes. If you want the best overall control with many users tapping in, then Sql Server, perhaps Sql Server Express which is free ,will be the best answer because it will not allow any corruption and is fairly compact in terms of the surface area.

XML databases are for small data volumes only and mostly for communication between different applications since it is universally iunderstood and decoded by all systems.

This is my incompetent opinion, though.






Re: Visual C# General c#->XML file(s)

IMBack

Thank you,

The reason, I didn't look at 'Database' is because of the price $$$. But when you say Sql Server Express which is free, you mean to use the software.. but what about space ..

As I understand, XML is not good for this project.

Does anyone know good hosting-sites and how much SqlSever's space costs and using .Net Framework,

or any other suggestions.





Re: Visual C# General c#->XML file(s)

Ryan Alford

SQL Server Express is a free version of SQL Server. It's mainly for the very small businesses that don't have the $5k to drop on database software. I don't think you get all the functionality as you would with the full blown versions, but you can create databases, tables, columns, and update them all.

I used it for an application I wrote for my parent's business.





Re: Visual C# General c#->XML file(s)

IMBack

I m sorry I am new to all of this, and never posted a project on the web (server). sorry for the stupied questions,

-->

So sql Server Express is a program, that will allows me to create tables, store data in it and interact. I get this. Now, when I finish my project, lets say on my local pc that would be written in .NET C# and it would interact with sql Server Express, and I my undestanding it would use my local disk's space when I add data to the database's table, Am I right (A)

Next, I think I would go and find a server that is compatable with .NET framework & sql server express, and I was wondering which one I should use, and how much data in the database I would be able to store onces I add the project to the web. (B) or am I missing something

sorry about that,

I hope it makes sense, what I am trying to understand.

Thank you.




Re: Visual C# General c#->XML file(s)

Ryan Alford

IMBack wrote:

I m sorry I am new to all of this, and never posted a project on the web (server). sorry for the stupied questions,

-->

So sql Server Express is a program, that will allows me to create tables, store data in it and interact. I get this. Now, when I finish my project, lets say on my local pc that would be written in .NET C# and it would interact with sql Server Express, and I my undestanding it would use my local disk's space when I add data to the database's table, Am I right (A)

Next, I think I would go and find a server that is compatable with .NET framework & sql server express, and I was wondering which one I should use, and how much data in the database I would be able to store onces I add the project to the web. (B) or am I missing something

sorry about that,

I hope it makes sense, what I am trying to understand.

Thank you.

(A)... Do you really not know about SQL Server How much database experience do you have To answer the question, yes. When you create a database/table and store information in that database, the database "file"(.mdf extension I believe) is stored on the local hard drive by default. However, you can put the database file on a connected shared drive. Not that it would be efficient and would probably be a huge headache, but it's possible.

(B)... While a server would be great, it's not *required*. It can easily be run on a Windows XP Pro PC. So basically, just find somewhere(server or PC) where you want to database to be housed.

The amount of data in the database is up to you. I don't even know if there is a cap on the capacity for a SQL Server database. If there is a cap, you will probably never hit it.





Re: Visual C# General c#->XML file(s)

IMBack

Hi,

Thanks for replying so quickly,

I used to create tables and use them within .net. But never do it from the begining, and want to learn.

I have posted a link, if you could please take a look at it:

http://order.1and1.com/xml/order/MsHosting;jsessionid=9F5D6A69763480F6A9446DC021F900C0.TC60b __frame=_top&__lf=Static

if you look at $9.99/per month which supports:

ASP.net 2.0/.NET Framework, (which is what I need), and

MS SQL Database = 1 (not sure what it means, but my guess it tells me how many databases i can connect to)

so once I upload .net files to that web hosting site. you are saying I will be able to connect to my PC, where the database will be, and access the data, and no need to buy space for database (A)

if yes and if you know an artical that shows step by step how to connect a project from the hosting site to pc's database, please post it.(B)

Thank you very much for you help,





Re: Visual C# General c#->XML file(s)

timts

Do you have Microsoft Office If that includes Access, you can store the data there and access it from a web page through program.






Re: Visual C# General c#->XML file(s)

Ryan Alford

Are you doing this for your work or are you doing this on your own as a side job

if it's for your work and it's work-related, then you can host everything that you need within the server/PC that your company buys. You can host webpages using IIS which comes standard in Windows Server and also comes with Windows XP Professional. It's so much easier to host the website within the company and just pay one cost up front, than having to pay monthly and not being able to control everything.

All you would need to do is buy a capable server....we use Dells. It's not like you will need a terabyte of storage space. I host my parent's application on my mom's personal PC that's running Vista and a 160GB HDD. That will be plenty of space for years.

If you are doing this for personal reasons, then having a third party company as a web-host is a good idea. I have never used a third party hosting company so I don't have much advice on those.




Re: Visual C# General c#->XML file(s)

AlexBB

Ryan Alford wrote:

SQL Server Express is a free version of SQL Server. It's mainly for the very small businesses that don't have the $5k to drop on database software. I don't think you get all the functionality as you would with the full blown versions, but you can create databases, tables, columns, and update them all.

I used it for an application I wrote for my parent's business.

I want to pitch in again. I think Sql Server Express with Advanced Features will be more than sufficient for this guys's needs, much more.It has the same database engine with all security and data integrity controls. The only limitation is the database size which is 2 Gbytes. Number one, it is not easy to exceed it, number two he can create a dozen of them in the same server, having 24 Gbytes of database this way or more, there is no limit.

Sql Server Express is for small businesses that do not need Analytical Services, cost analysis, Integration Services and all that big stuff pertaining to manufacturing facilities with thousands of workers or NYSE or NASDAQ.

Sql Server Express with Advanced Features is all he will ever need.






Re: Visual C# General c#->XML file(s)

IMBack

Thank you everyone for your help!!