JosefBetancourt
Did you guys evaluate other alternative DBs?

H2:   http://h2database.com/html/frame.html
sqllite:  http://sqlite.org/

These claim to be very fast, for example, http://h2database.com/html/frame.html?performance.html&main

--- Josef




Quote
westbroek
SQLite would be great -- would make the tool very portable, very open.
Quote
Harlan
Unfortunately, speed is not the only consideration for the database engine. For PersonalBrain's storage backend, we believe reliability is of the utmost importance. Generally, the underlying design of a database engine must often trade off between speed and reliability. Other factors include memory usage, portability, and startup time.

When the first version of PB was released, we built our own database engine to make sure it would address all our needs. With the embedded database market now much more mature, we decided to use a third party database for PB4.

Of course, we evaluated many database engines. The scale of PersonalBrain database usage in terms of intensive use by thousands and thousands of users on a daily basis in a very wide variety of environments is a challenging proposition for any database engine.

Version 4.0 and 4.1 use HSQLDB. Version 4.2 uses Derby. We believe this will provide a much higher degree of reliability, including drastic cases such as power failures. If this does not prove to be the case based on the beta feedback, we will re-evaluate the use of Derby.

Version 4.2 is still in a very early stage and many optimizations are still being worked on. In the end, we expect that 4.2 may be a little slower than 4.1, but not so much that it is noticeable under general use. That said, version 4.2 will also be much more reliable, start up and shut down faster, and use less memory.

Regards,
-Harlan
Quote
Harlan
One other quick note - the performance benchmarks on the H2 site appear to be skewed. When used "out of the box" with straight SQL queries as they have done, Derby performs poorly. However we have found that with tuning and optimization, Derby's performance increases by a factor of about 10.
Regards,
-Harlan
Quote
JosefBetancourt
Harlan,

Thanks for the feedback.  I myself would would give reliability a higher rating then raw performance.  Plus, compute devices will only get faster, which could make too much concern over speed counterproductive (in some cases).

It looks like sqllite may also not be comparing itself to the latest embedded dbs.

-- Josef

edit:
At my company we use BerkeleyDB for embedded use.   A bunch of different DBs are available.  Tough decision!




Quote
rengel
Harlan,

I wonder, why did you switch from HSQLDB to Derby at all (if you care to say something about this)?

BTW: You do know that H2 ist written by the same guy who started HSQLDB, don't you? He has to loose his credibilty if he uses skewed comparisons.



Reinhard, TB 11.0.98.0, WIN 10

Quality is the result of attention paid to details.
Quote
Harlan
The main reason for the database switch is that HSQLDB is not as bulletproof as we would like, especially in cases of power loss and/or OS crashes (blue screen errors due to a driver problem, etcetera). It is quite fast, but as stated earlier, we are prioritizing reliability over speed. The latest release of 4.2.0.2 has been optimized in many areas and I believe it is now as fast as 4.1 and in some cases faster... Let me know what you think.
Regards,
-Harlan
Quote
dkpalmer

Now running 4.204 - my largest Brain is up to 7+Gigs including attachments. Noticeably faster now than either 3.x or earlier versions of 4.x.

There are 10 kinds of people in the world: those who understand Binary and those who don't.
Quote

Newsletter Signup  Newsletter        Visit TheBrain Blog   Blog       Follow us on Twitter   Twitter       Like Us on Facebook   Facebook         Watch Us on Youtube  YouTube       

TheBrain Mind Map & Mindmapping Software     Download TheBrain Mind Mapping Software