On 11-10-2010 04:38, mdipierro wrote:
> This all happened in less than 2 months:
>
> http://blogs.computerworld.com/16741/oracle_dumps_opensolaris
> http://www.techeye.net/business/creator-of-zfs-to-leave-oracle
> http://openquery.com/blog/ken-jacobs-leaves-oracle
> http://www.theregister.co.uk/2010/10/07/mysql_veteran_leaves_sunoracle/
> http://www.theregister.co.uk/2010/09/28/openoffice_independence_from_oracle/
> http://arstechnica.com/tech-policy/news/2010/08/oracle-sues-google-over-use-of-java-in-android-sdk.ars
>
> http://globalspecials.sun.com/store/mysql/ContentTheme/pbPage.categoryEnterprise?resid=MKgYhgoBAlcAAE77WocAAAAD&rests=1286764426624
>
> The last link affects us more directly. If you have to choose use
> postgresql, not mysql.
>
> Massimo
and how will that affect SQLite ? this was on the SQLite group 21 july 2010:

Hello,

My name is Greg, I'm one of the product managers within Oracle working on the 
Berkeley DB products.  I joined Oracle when Sleepycat was acquired but I've 
been working on BDB for nearly nine years now.  I was the one who pushed hard 
to integrate SQLite and BDB, I think the two products go well together without 
damaging either one.  I am also the guy responsible for most of the messaging 
on the Oracle.com website (with a lot of editing oversight and marketing 
input), so if you want to question something there please just email me.

We here in the Berkeley DB team within Oracle's Embedded Database group are 
thrilled to have Oracle join the SQLite Consortium.  Today and in the past our 
goal with open source collaborations has been to work closely together, help 
each other out, keep things informal-yet-formal, and give credit where credit 
is due.  The SQLite product is excellent, we don't want or need to fork it.  
The SQLite3 ANSI C API is like the BDB ANSI C key/value API, de-facto standards 
in their respective spaces.  From our view this combination is like chocolate 
and peanut butter, two great products that go well together.  Some will like 
this combo and find value in it, others won't.  That's okay, in fact it's the 
way it should be.  We are thrilled to be joining this community, we're not the 
enemy or the competition.

Clearly there are going to be many questions, I'm here to help answer them as 
best I can.


License: Oracle Berkeley DB is not licensed under the GPL.  Berkeley DB is 
released under the terms of the Sleepycat License.  The Sleepycat License is 
significantly different from the GPL, take a look.  
http://en.wikipedia.org/wiki/Sleepycat_License

Compatibility: "... [the] application-level behavior of the two products is 
identical..."  Okay, this is a bit of an overstatement at this point and I 
freely admit that.  This is our long-term goal, so I think it's fair to put 
have it on our site.  Basically we're telling people that we'd like to be as 
close to 100% drop-in compatible as possible while still providing the unique 
value of Berkeley DB as a btree storage engine.  For our first release, I think 
you'll have to admit that we are very close to the mark.  We're already nearing 
a patch release and it is even closer.  This will evolve, both SQLite and BDB's 
SQL will benefit along the way.

Comparison: "... improved performance, concurrency, scalability, and 
reliability."  Fundamentally, we are faster because we don't lock the entire 
database on writes as SQLite's btree does.  BDB is designed for concurrent 
multi-process/thread access, this gives us a speed advantage when there is any 
concurrency in the system.  Single-threaded performance is a more 
apples-to-apples comparison and this is more evenly matched.  The product is 
evolving fast, we're constantly finding ways to use advanced features in BDB 
for special cases in SQLite.  Again, we're only just in release 1 of the 
combined product and we're already in very good shape to be faster in general.

MVCC: We're going to add in support for MVCC (snapshot isolation), it's not 
there in the first release.  This will continue to help speed up concurrent 
access and prevent deadlocks.

HA: Clearly we're going to integrate (in a SQLite-friendly way) support for 
HA/replication.  It's not there in this release.  If you have ideas for how to 
properly make this fit into the product let us know!  Should it be a PRAGMA?  
Should it be C-functions?  Something else?  Speak up now.

Compaction: We punted on compaction in the first release because we wanted to 
do it using BDB's built-in compaction code (which can compact the database and 
optimize the btree while it's being used, it can even do this a little bit at a 
time so as not to be overly disruptive).  We didn't get this into the code line 
in time for the first release, it's coming very soon.

Compression: BDB has support for compression of things stored in the database, 
this is something we hope to integrate into the SQL API very soon.

Encryption: Again, we are hard at work on this.  BDB already supports encrypted 
databases, so it won't be hard to do.


We are also working on a comparison paper with Mike Owens (of "The Definitive 
Guide to SQLite" fame).  We hope to get this finished very soon and make it 
available for comment.  Mike is doing a great job of really providing a 
critical view of our combined product, which is exactly what we want.

There is a lot more we're working on, we're focused on a number of improvements 
in BDB itself and in our adaptor layer between BDB and SQLite.  What's great 
about this is that for fifteen years we had avoided SQL and just focused on 
being the best transactional storage engine around and I'd say we did a pretty 
good job of that.  Now we can happily join forces with a great community 
focused on the SQL piece.  SQLite does an amazing job of providing the features 
of a relational database and SQL92 in a stunningly small package, we hope to 
add our world-class btree storage layer and experience to that package.

We believe that this is good news for everyone, I hope you feel that way too.

-greg


Reply via email to