473,395 Members | 1,403 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,395 software developers and data experts.

C# database project

Hi,

I want to start a new project, I want to build my own database server and
start very simple. I want to create a file-based database server, with
XML-files. Does anyone know a good site or book to get some more information
about this kind of project (like 'How to build your own database server')?

Or can someone help me start...?

I want to build it in C# (.NET) and save files in XML.

I want to use XML-files to use as my database-definition files, like:

<data>
<database name="TestDB">
<table name="TestTable">
<field type="PrimaryKey" name="ID" />
<field type="String" name="Name" />
<field type="DateTime" name="DateOfBirth" />
<field type="Bool" name="Male" default="True" />
</table>
</database>
</data>

I also want to use/create a SQL like query language to use for querying this
database.

Hopefully someone can help me.

Thanks in advance.

Greetings,

Jelle

Feb 13 '08 #1
7 4654
Jelle,

This is a ^tremendous^ undertaking that you are considering. I don't
know if you are doing it because you have to (in which case, I would say
find some other data source) or if you are just doing it for the hell of it,
but either way, it's not easy.

The major areas you have to deal with are the storage of the data, and
the querying of the data. While these are the two main concerns, there are
going to be many things that you have to consider:

- How will storing data structure/information in XML affect the performance
of the database?
- How will you affect concurrent access to the database?
- How will you handle indexes (you have a primary key, which implies an
index in most/all DB systems)
- How will you connect to the database and execute commands/return
information
- What will the query language look like?

These are just ^some^ of the issues you have to deal with when writing a
DB server. There are many, many more, but the questions posed above are
probably good places to start.
--
- Nicholas Paldino [.NET/C# MVP]
- mv*@spam.guard.caspershouse.com

"Jelle de Jong" <je***@nospam.hoest.nlwrote in message
news:47***********************@news.kpnplanet.nl.. .
Hi,

I want to start a new project, I want to build my own database server and
start very simple. I want to create a file-based database server, with
XML-files. Does anyone know a good site or book to get some more
information about this kind of project (like 'How to build your own
database server')?

Or can someone help me start...?

I want to build it in C# (.NET) and save files in XML.

I want to use XML-files to use as my database-definition files, like:

<data>
<database name="TestDB">
<table name="TestTable">
<field type="PrimaryKey" name="ID" />
<field type="String" name="Name" />
<field type="DateTime" name="DateOfBirth" />
<field type="Bool" name="Male" default="True" />
</table>
</database>
</data>

I also want to use/create a SQL like query language to use for querying
this database.

Hopefully someone can help me.

Thanks in advance.

Greetings,

Jelle

Feb 13 '08 #2
By the way, I want to use it for webapplications and windowsapplications.

"Jelle de Jong" <je***@nospam.hoest.nlwrote in message
news:47***********************@news.kpnplanet.nl.. .
Hi,

I want to start a new project, I want to build my own database server and
start very simple. I want to create a file-based database server, with
XML-files. Does anyone know a good site or book to get some more
information about this kind of project (like 'How to build your own
database server')?

Or can someone help me start...?

I want to build it in C# (.NET) and save files in XML.

I want to use XML-files to use as my database-definition files, like:

<data>
<database name="TestDB">
<table name="TestTable">
<field type="PrimaryKey" name="ID" />
<field type="String" name="Name" />
<field type="DateTime" name="DateOfBirth" />
<field type="Bool" name="Male" default="True" />
</table>
</database>
</data>

I also want to use/create a SQL like query language to use for querying
this database.

Hopefully someone can help me.

Thanks in advance.

Greetings,

Jelle
Feb 13 '08 #3
Nicholas,

I know it's not an easy project, but I just want to create something for my
own use. And this is a real challenge! ;-)

I want to start very simple. My idea was to work with some form of
Serialization. But I don't know what the performance will be when I want to
write back to the filesystem.

It's just for fun, and maybe someone also wants to create such a thing or
did it before?

Gr.,
Jelle

"Nicholas Paldino [.NET/C# MVP]" <mv*@spam.guard.caspershouse.comwrote in
message news:%2****************@TK2MSFTNGP03.phx.gbl...
Jelle,

This is a ^tremendous^ undertaking that you are considering. I don't
know if you are doing it because you have to (in which case, I would say
find some other data source) or if you are just doing it for the hell of
it, but either way, it's not easy.

The major areas you have to deal with are the storage of the data, and
the querying of the data. While these are the two main concerns, there
are going to be many things that you have to consider:

- How will storing data structure/information in XML affect the
performance of the database?
- How will you affect concurrent access to the database?
- How will you handle indexes (you have a primary key, which implies an
index in most/all DB systems)
- How will you connect to the database and execute commands/return
information
- What will the query language look like?

These are just ^some^ of the issues you have to deal with when writing
a DB server. There are many, many more, but the questions posed above are
probably good places to start.
--
- Nicholas Paldino [.NET/C# MVP]
- mv*@spam.guard.caspershouse.com

"Jelle de Jong" <je***@nospam.hoest.nlwrote in message
news:47***********************@news.kpnplanet.nl.. .
>Hi,

I want to start a new project, I want to build my own database server and
start very simple. I want to create a file-based database server, with
XML-files. Does anyone know a good site or book to get some more
information about this kind of project (like 'How to build your own
database server')?

Or can someone help me start...?

I want to build it in C# (.NET) and save files in XML.

I want to use XML-files to use as my database-definition files, like:

<data>
<database name="TestDB">
<table name="TestTable">
<field type="PrimaryKey" name="ID" />
<field type="String" name="Name" />
<field type="DateTime" name="DateOfBirth" />
<field type="Bool" name="Male" default="True" />
</table>
</database>
</data>

I also want to use/create a SQL like query language to use for querying
this database.

Hopefully someone can help me.

Thanks in advance.

Greetings,

Jelle


Feb 13 '08 #4
Jelle,

If you are going to use it for web-based applications, then I really
have to say that you are going to have to do plenty of dirty little things
to make sure it performs well, and you are going to have to make sure that
transaction consistency is bullet-proof. With the number of people that
will hammer the database at the same time in a web-based app, those things
are certainly going to be put to the test.

Additionally, if the database is file-based, you simply are not going to
get the performance you can get with keeping the data in memory and paging
out to disk when necessary. The reason for this is that if all of your
operations are done on the file each time they occur, your disk access
becomes a HUGE bottleneck for you.
--
- Nicholas Paldino [.NET/C# MVP]
- mv*@spam.guard.caspershouse.com

"Jelle de Jong" <je***@nospam.hoest.nlwrote in message
news:47***********************@news.kpnplanet.nl.. .
By the way, I want to use it for webapplications and windowsapplications.

"Jelle de Jong" <je***@nospam.hoest.nlwrote in message
news:47***********************@news.kpnplanet.nl.. .
>Hi,

I want to start a new project, I want to build my own database server and
start very simple. I want to create a file-based database server, with
XML-files. Does anyone know a good site or book to get some more
information about this kind of project (like 'How to build your own
database server')?

Or can someone help me start...?

I want to build it in C# (.NET) and save files in XML.

I want to use XML-files to use as my database-definition files, like:

<data>
<database name="TestDB">
<table name="TestTable">
<field type="PrimaryKey" name="ID" />
<field type="String" name="Name" />
<field type="DateTime" name="DateOfBirth" />
<field type="Bool" name="Male" default="True" />
</table>
</database>
</data>

I also want to use/create a SQL like query language to use for querying
this database.

Hopefully someone can help me.

Thanks in advance.

Greetings,

Jelle

Feb 13 '08 #5
Nicholas,

So maybe it's better to use XmlSerialization to save objects to the
filesystem and Deserialize them to use them as objects again. So no
query-language or in-memory data or whatsoever. Or use MySQL, SQL Server or
Oracle instead ;-)

Or do you have other nice ideas about how people should store their data
into a data-structure or a filesystem?
Gr.,
Jelle

"Nicholas Paldino [.NET/C# MVP]" <mv*@spam.guard.caspershouse.comwrote in
message news:%2****************@TK2MSFTNGP02.phx.gbl...
Jelle,

If you are going to use it for web-based applications, then I really
have to say that you are going to have to do plenty of dirty little things
to make sure it performs well, and you are going to have to make sure that
transaction consistency is bullet-proof. With the number of people that
will hammer the database at the same time in a web-based app, those things
are certainly going to be put to the test.

Additionally, if the database is file-based, you simply are not going
to get the performance you can get with keeping the data in memory and
paging out to disk when necessary. The reason for this is that if all of
your operations are done on the file each time they occur, your disk
access becomes a HUGE bottleneck for you.
--
- Nicholas Paldino [.NET/C# MVP]
- mv*@spam.guard.caspershouse.com

"Jelle de Jong" <je***@nospam.hoest.nlwrote in message
news:47***********************@news.kpnplanet.nl.. .
>By the way, I want to use it for webapplications and windowsapplications.

"Jelle de Jong" <je***@nospam.hoest.nlwrote in message
news:47***********************@news.kpnplanet.nl. ..
>>Hi,

I want to start a new project, I want to build my own database server
and start very simple. I want to create a file-based database server,
with XML-files. Does anyone know a good site or book to get some more
information about this kind of project (like 'How to build your own
database server')?

Or can someone help me start...?

I want to build it in C# (.NET) and save files in XML.

I want to use XML-files to use as my database-definition files, like:

<data>
<database name="TestDB">
<table name="TestTable">
<field type="PrimaryKey" name="ID" />
<field type="String" name="Name" />
<field type="DateTime" name="DateOfBirth" />
<field type="Bool" name="Male" default="True" />
</table>
</database>
</data>

I also want to use/create a SQL like query language to use for querying
this database.

Hopefully someone can help me.

Thanks in advance.

Greetings,

Jelle


Feb 13 '08 #6
Nicholas,
>
There is nothing wrong with saving data to the file system, but keep in
mind that ^always^ accessing the data from the files in the file system is
going to be a huge bottleneck for you.
But when I'm using Serialization, my application should perform better, then
the object will be in-memory while it's being used, isn't it? And in-memory
is the fastest way, I presume?

Jelle

Feb 13 '08 #7
Jelle,

Yes, it will be in memory, but you want to ^keep^ it in memory for as
long as possible. If you save it back to the filesystem after an update,
for example, and then reload it again the next time you need it, that's
going to cause a bottleneck. If you already have it lying around in memory,
you wouldn't have to load it from disc.
--
- Nicholas Paldino [.NET/C# MVP]
- mv*@spam.guard.caspershouse.com

"Jelle de Jong" <je***@nospam.hoest.nlwrote in message
news:47***********************@news.kpnplanet.nl.. .
Nicholas,
>>
There is nothing wrong with saving data to the file system, but keep
in mind that ^always^ accessing the data from the files in the file
system is going to be a huge bottleneck for you.

But when I'm using Serialization, my application should perform better,
then the object will be in-memory while it's being used, isn't it? And
in-memory is the fastest way, I presume?

Jelle

Feb 13 '08 #8

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

1
by: ColinWard | last post by:
Is there a way to compact the current database when the user clicks the exit button. Alternatively, what is the command line switch to compact the database when the user opens the database? ...
1
by: Marcus | last post by:
We'd like to have an MS Access database that allows us to track already completed projects. While we could spend a bunch of time trying to figure out how to set up such a database, I'm certain such...
2
by: Marc | last post by:
Hi, I hope to find some information on this way, I used to develop databases in Access and want to try visual basic VB.net 2005 Could someone help me how to link 2 datagrid like in the first...
4
by: Martyn Fewtrell | last post by:
Hi there I am just canvassing some opinions so feel free to add yours. I mainly work with VB.Net on dynamic websites driven by Access and have more recently been trying to introduce Business...
4
by: JM | last post by:
Hi, I am an old programmer who is only just getting back into it after about 10 years, and for the life of me I can not work out what I am doing wrong. Firstly, I've recently downloaded and...
2
by: just_out_for_fun | last post by:
Hi, hope you guys can help. I have set up a simple one table db to play with using VB express and the form sees data already entered but when I use the save button on the form it does not change...
2
by: azmiza | last post by:
Hi everybody, I need your help. I want to view my sql database and its work very well which is display in my web browser but once I want to press button yes, its not working, I check the...
1
by: Tlholo | last post by:
Here are the requirements for the project. I have also included the other project that I am working on and is also giving me some problems. i need code examples. Project 1 This program actually...
39
by: alex | last post by:
I've converted a latin1 database I have to utf8. The process has been: # mysqldump -u root -p --default-character-set=latin1 -c --insert-ignore --skip-set-charset mydb mydb.sql # iconv -f...
0
by: dot.yet | last post by:
Hi Everyone, environment: DB2 9.5 WSE with FP 2a Solaris 10 u5 - 64-bit SMP - 2 Quad CPUS - total 8 cores 16 GB RAM SAMPLE database Solaris Containers
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.