Php class which provide quasi relational database

Links for php scripts

Moderators: macek, egami, gesf

Post Reply
User avatar
swirlee
Moderator
Moderator
Posts: 2272
Joined: Sat Jul 05, 2003 1:18 pm
Location: A bunk in the back
Contact:

Post by swirlee » Wed Aug 13, 2003 7:11 am

This probably constitues spam, so I doubt DrNemo is ever coming back, except maybe to spam again, but I have plenty of questions about this product:
  1. What do you mean by "quasi"-relational?*
  2. How is the data stored? Flat file? XML? Something else? Where is the metadata stored?
  3. How fast is it?
  4. How much does it conform to the ANSI SQL standard?
  5. Does it do joins? Views? What are some of the built-in functions?
  6. What about permissions? Does it have GRANT and REVOKE?
  7. What about importing data, a la LOAD DATA INFILE?
  8. Why should I use this instead of SQLite?
* I already know part of this answer: Because in the relational model, a column is supposed to have only one data type. For the same reason, SQLite could be called "quasi-relational".

I'm sure I'll think of more, but this should get you started. If you can answer each of these questions, especially the last one, I might take the time to download your product.

User avatar
swirlee
Moderator
Moderator
Posts: 2272
Joined: Sat Jul 05, 2003 1:18 pm
Location: A bunk in the back
Contact:

Post by swirlee » Thu Aug 14, 2003 7:52 am

DrNemo, thanks for coming back and answering my questions. In return, I've taken the time to download your package and take a look at the documentation. While some of it's a little obtuse (I didn't understand the stored procedures explanation at all), it looks like your product, at the very least, is interesting. I haven't had time to actually try it out, but overall, the examples in the documentation are helpful in getting a 'feel' for it. I like the object-oriented manner in which you've implemented SELECT, INSERT, etc. I might try it out later today and see how it performs, if at all, when given a few thousand rows. In response to a few more specific issues:

3. In my tests queries fetched 20-30 rows with sort was done in 0/1 seconds. Naturally it always depends form hardware and count of current tasks etc.


But how does it perform when given a thousand rows? Or ten thousand? Does it hold up under stress? And how does it cope with several concurrent connections? What happens when two users try to manipulate the same database simultaneously?

8. SQLite is wrote in C - NemoDB in PhP -it's the main feature to use it in web development.


But SQLite's main feature is also that it's meant for use in web development. And SQLite is going to be bundled by default in all subsequent versions of PHP (for the forseeable future, at least), so 90% of users will have it. What advantage does your package present over SQLite, other than that it's available "now" rather than "soon"? (Note: SQLite is available now, but requires a recompile for most users, and many users are not able to do this.)

Lastly, I took a peek at your code, and while it's refreshingly clean, it appears to completely lack inline comments. Without inline comments, it's going to be near-impossible for other developers to expand up, if that is your intention. Also, you appear to capitalize the first letter of every function, which is nonstandard usage. It works (PHP is case-insensitive), but it's not recommended -- if you read the PHP documentation, you'll notice that not a single function name is capitalized.

Post Reply

Who is online

Users browsing this forum: No registered users and 2 guests