473,321 Members | 1,622 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,321 software developers and data experts.

Opinions Wanted: XML -vs- MDB (Jet)

I'm writing a smallish app to deal with scraping data from a website,
storing it locally and presenting some more meaningful stats about the data.

It has a need for roughly 6 tables and 3 "queries". Most of the tables only
need to store ~10-50 records. One table may have ~5000 records. The
"queries" would yield roughly ~5000 records.

I want to *easily* deploy this application to others hence the appeal of
just using XML as a datastore. The obvious problem is the need for
"queries". I can hand-write those queries in C# code or I could just use
the SQL capabilities of Jet.

MDB pros
1. Built-in query capability.
2. Better suited for evolving the application assuming new queries are
needed.

XML pros
1. Very simple install story.
2. Don't have to worry about MDB bloat.
Your thoughts? What thresholds (# of rows, install complexities, etc.)
would lead YOU to one or the other approach?

Thanks...
Jul 21 '05 #1
2 1455
Kevin Brown wrote:
I can hand-write those queries in C# code or I could just use
the SQL capabilities of Jet.
You can also use the XPath query language, that is specifically designed
for XML.

MDB pros
1. Built-in query capability.
2. Better suited for evolving the application assuming new queries are
needed.
Also dependent on drivers and a threading model that are not well
adapted to multiuser use on the level of a public web site or service.

XML pros
1. Very simple install story.
2. Don't have to worry about MDB bloat.
Also not relational ( unless you write the joins as nested loops ).


Your thoughts? What thresholds (# of rows, install complexities, etc.)
would lead YOU to one or the other approach?
The key thing is the performance of XmlDocument.

Load one up with data that is roughly hetereogeneous to the degree that
your real data will be. Then do some xpath queries to check the speed.

Thanks...

--
An artist is someone who produces things that
people don't need to have but that he - for some
reason - thinks it would be a good idea to give them.
Andy Warhol
Jul 21 '05 #2
In this scenario, it may be that one vs. the other may end up being roughly
the same in speed, though you should check this. I think for most people SQL
is easier to work with then XPATH.

However, if you ever need to expand your app later, you may find it more and
more difficult to be writing code to query XML via XPATH, not to mention the
slowness will increase.

Another possible idea, is to read the XML into a dataset, and then do Select
on the datatables or put views on them to achieve filtering and sorting.

Lastly, if your queries involve joins, I think you will find it a lot more
difficult to achieve the correct result using XPATH then SQL.

"Kevin Brown" <no****@nospam.please> wrote in message
news:%2****************@TK2MSFTNGP12.phx.gbl...
I'm writing a smallish app to deal with scraping data from a website,
storing it locally and presenting some more meaningful stats about the data.
It has a need for roughly 6 tables and 3 "queries". Most of the tables only need to store ~10-50 records. One table may have ~5000 records. The
"queries" would yield roughly ~5000 records.

I want to *easily* deploy this application to others hence the appeal of
just using XML as a datastore. The obvious problem is the need for
"queries". I can hand-write those queries in C# code or I could just use
the SQL capabilities of Jet.

MDB pros
1. Built-in query capability.
2. Better suited for evolving the application assuming new queries are
needed.

XML pros
1. Very simple install story.
2. Don't have to worry about MDB bloat.
Your thoughts? What thresholds (# of rows, install complexities, etc.)
would lead YOU to one or the other approach?

Thanks...

Jul 21 '05 #3

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

Similar topics

15
by: Eric | last post by:
This is just a thought in my head at the moment and I wanted to get some opinions on an idea on how to design my web site. First, it would be a 100% (or very close to it) PHP site. The best...
35
by: jerrygarciuh | last post by:
Hi all, I was just wondering what popular opinion is on PHP giving this warning: Warning: Invalid argument supplied for foreach() in /home/boogerpic/public_html/my.php on line 6 when...
15
by: windozbloz | last post by:
Bye Bye Billy Bob... I'm back with one more question, then I'll chill. I have scoured the news and net for info about Borlands KYLIX 3 and have found little technical info about it. Their...
2
by: Ben Yanis | last post by:
I've been developing and selling Access based database products for years, and this group has always been a great resource to me. Now I find myself releasing a new Active-X based on some of my...
2
by: Wysiwyg | last post by:
I was hoping to get some opinions on the efficiency of various methods of reusing the same dropdown list data. Here is the situation: Multiple panels on maintenance pages with TAB menus across...
8
by: rviray | last post by:
I am just looking for opinions about this project that I am working on. Background: Windows Application built under Delphi. The application uses 4-5 (depending on drill down avenue) deep modal...
10
by: John Swan | last post by:
Please, I have just created this site and am wondering what your opinion is from both professionals and amatures or the curious alike. Any opinions? www.integrated-dev-sol.co.uk Remove 123...
5
by: JT | last post by:
Hi, I would like opinions on a shareware issue. If shareware uses an online database to hold registration codes, which get copied locally and therefore only needs to check online if the...
6
by: Bill Cunningham | last post by:
I just wanted to get some opinions on FIlE streams and error checking methods. I thought about EOF, NULL, and ferror. I have had trouble with EOF so there must be something there I'm not doing...
1
by: happyperson | last post by:
Hi All, I want to have a news and product review website. I want an RSS feed, online forum, article submission section, and possibly down the road the ability to upload/download music to this...
0
by: DolphinDB | last post by:
Tired of spending countless mintues downsampling your data? Look no further! In this article, you’ll learn how to efficiently downsample 6.48 billion high-frequency records to 61 million...
0
by: ryjfgjl | last post by:
ExcelToDatabase: batch import excel into database automatically...
0
by: jfyes | last post by:
As a hardware engineer, after seeing that CEIWEI recently released a new tool for Modbus RTU Over TCP/UDP filtering and monitoring, I actively went to its official website to take a look. It turned...
0
by: ArrayDB | last post by:
The error message I've encountered is; ERROR:root:Error generating model response: exception: access violation writing 0x0000000000005140, which seems to be indicative of an access violation...
1
by: PapaRatzi | last post by:
Hello, I am teaching myself MS Access forms design and Visual Basic. I've created a table to capture a list of Top 30 singles and forms to capture new entries. The final step is a form (unbound)...
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
1
by: Defcon1945 | last post by:
I'm trying to learn Python using Pycharm but import shutil doesn't work
0
by: af34tf | last post by:
Hi Guys, I have a domain whose name is BytesLimited.com, and I want to sell it. Does anyone know about platforms that allow me to list my domain in auction for free. Thank you
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...

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.