This is an archived, read-only copy of the United-TI subforum , including posts and topic from May 2003 to April 2012. If you would like to discuss any of the topics in this forum, you can visit Cemetech's Calculator Programming subforum. Some of these topics may also be directly-linked to active Cemetech topics. If you are a Cemetech member with a linked United-TI account, you can link United-TI topics here with your current Cemetech topics.

This forum is locked: you cannot post, reply to, or edit topics. General Coding and Design => Calculator Programming
Author Message
KD5YTX


Advanced Member


Joined: 03 Aug 2003
Posts: 306

Posted: 14 Aug 2003 08:03:41 pm    Post subject:

I am about to craft a database engine out of C and Perl. It will basically function like a set of APIs smothered on compressed Flatfile storage (ring a bell, anyone? <cough><cough>MySQL<cough><cough>). Any way, it will organize data by object-oriented type heirarchal design. Any ideas/people want to help?

Evil or Very Mad Evil or Very Mad Evil or Very Mad
Ninjas show favor upon those who assist in the fabrication of database engines.
Evil or Very Mad Evil or Very Mad Evil or Very Mad
Back to top
NETWizz
Byte by bit


Bandwidth Hog


Joined: 20 May 2003
Posts: 2369

Posted: 23 Aug 2003 03:50:08 am    Post subject:

Um, it does not ring a bell.

Look at the source code to MySQL; it is open source.

MySQL is much more than a flat file! If you do not belive me, try to view the contents of a .myi file in a text editor.

Also, MySQL takes care of primary and foreign keys as well as indexes, has features to optimize tables, repair tables, features auto_increment, allows for Unsigned, has many different datatypes, and is very fast not to mention stable due to its unpresidented table locking system.

Here is the essence of how it works.

If someone is writing to a table, and someone else requests to read, their request is delayed.

If someone is reading from a table, and someone else requests to read, the request is granted, but if someone is reading and a write is requested, it is delayed until the read processes are finished.

Sience multiple people are permitted to read the same table at the same time, special care was programmed in to ensure that write requests are not left on hold.

Furthermore, all requests are added to a queue in memory to ensure all requests are completed in order.

All of the care that was taken to write MySQL makes it extremely stable, versitile, and fast; in fact, Oracle has objected to having its database benchmarked by a third party. I am guessing this is because Oracle knows that MySQL is likely faster than Oracle in many regards.

Very few Data Base engies work as well as mysql!

Here is proof MySQL is fast:
http://www.neowin.net/forum/

Look at the # of posts on that forum, and look how fast the forum functions even when you pull topics. Go ahead and open some topics. you will notice that a dozen or so are very quickly pulled out of millions!
Back to top
KD5YTX


Advanced Member


Joined: 03 Aug 2003
Posts: 306

Posted: 25 Aug 2003 10:08:38 am    Post subject:

Hmm... I tried visiting that site and I got this error message:
Quote:
There appears to be an error with the Neowin Board database.

mySQL query error: DELETE FROM IBFsessions WHERE running_time < 1061820093 or ip_address='66.205.107.115'

mySQL error: Table 'neowin_ibf.IBFsessions' doesn't exist
mySQL error code:
Date: Monday 25th of August 2003 10:01:33 AM

Anyway...
The engine that I was going to make is very simple, and should run rather quickly. As far as the read-write requests... Letting everyone read from a file/table at once is no biggee, and delaying write requests isn't either. Just keep up a process table, where queries and write requests are served up on a first-come first-serve basis. Not difficult at all. And as for MySQL's rather funky column-row design, I personally find my simple heirarchal more intuitive, even if it compromises usability somewhat. And since I started working on my OrangeForum, I decided to use a quick-fix XML style database for it. I may implement such an engine alongside or within this design, which is faster than using and XML approach when getting or putting data, yet more difficult to maintain.

Evil or Very Mad Evil or Very Mad Evil or Very Mad
Let's rock this place with the power of the ninja turtle face!
Evil or Very Mad Evil or Very Mad Evil or Very Mad


Last edited by Guest on 25 Aug 2003 10:08:52 am; edited 1 time in total
Back to top
Display posts from previous:   
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
    »
» View previous topic :: View next topic  
Page 1 of 1 » All times are UTC - 5 Hours

 

Advertisement