Hi guys. First, thanks for developing OrientDB, it seems like a great
product. We are considering using it, but we have a few questions.
Do you know if the storage format will change from now until version
1.0? The reason I am asking is that the project we are doing will, be
in production within about 4 months, and we do not have control over
the install bases. That is, the software will be installed at multiple
clients and we don't have access to their production environments.
Hence we won't be able to do db migrations if necessary. I guess a
related question is if there is a road map for version 1.0, or is
there an approximate date for the release?
We are considering using OrientDB because of it's flexible licensing,
possibility of running embedded, and of course its performance
characteristics. The reason we would like for it to be embedded is
ease of installation for the clients. Most clients won't need to scale
very much, and for them easy installation and maintenance is key.
For
the larger clients it would be nice to set up a db cluster without too
much hassle.
We plan on making two installation options for the clients, a war for
containers, and a jar (with embedded jetty) for standalone
installation. Which artifacts would we require to runt the key-value
server? The download contains:
* hazelcast.jar
* orient-commons.jar
* orient-database-core.jar
* orient-database-kv.jar
* orient-database-server.jar
* orient-database-tools.jar
We would like a minimal distribution, and hence we don't want to
include anything we wouldn't need. Perhaps documenting each artifact
and it's purpose on the wiki would be a good idea?
We think we will be using it as a key-value store. Is it problematic
running that embedded? Do we need to make and actual HTTP call using
the TCP/IP stack, or is there a shortcut for calling it locally? I
guess performane won't actually be in issue here, it just seems that
using it as a document db, you can actually do local calls.
Is there an way to query the key value store, except from using the
basic REST/HTTP mechanism?
The artifacts are not available in a maven repository (as far as I can
tell), any plans on doing that sometime soon? I guess it would be OK
for us to install it locally in our maven proxy?
One final question. Would it be a problem doing file based backup of a
running OrientDB instance? Since we don't have control over production
environments it would be nice for us to give the clients several
options for making backups.
Lots of questions in one post, hope that is OK. Thanks for your time.
Cheers,
Alf Kristian Støyle
Thanks Luca, good answers to all my questions. But then there are a
few follow-ups :)
I am guessing the db-migration tool is also Java, and could
potentially be embedded in the application? It would be very nice to
be able check the version of the database on start up, and do
automatic migrations if necessary? Since we won't be there (on the
production site) to actually perform the migrations, and we don't want
the clients to mess up, it would be nice to be able to automate
migrations.
We really like the idea and flexibility of a key-value store, and I am
sure we will figure out a way to use bucket/key/value model to fit
with our problem. If not the document db seems pretty flexible as well
:) Anyhow a feature request, and implementation, for using local api's
to talk with the key-value db would certainly beneficial to us.
Is there any documentation on the backup tool yet? Couldn't find any
on in the installation of on the Wiki.
I have to say, that I find this product and its feature list
incredible. So I find it a bit strange that it is not yet more well
known in the community. Have you just recently open sourced it? From
the svn commit logs it seems the first commit was March 29th, but I am
guessing you have been working on it far longer than that.
Also I think you should provide a list of "Who is using it" for
further adoption, and perhaps some info about the team developing the
product.
Anyhow, thank you very much for your answers.
Cheers,
Alf