Hi,

Using SQL statements probably needs more CPU than transferring the database
file, but it has some advantages, for example the SQL script is human
readable. Data compression: in theory the SQL script should be a bit less
compressible than a binary format. However, the database file also contains
index data, therefore it is larger.

> Would be nice if there was some java in-memory file abstraction

I don't understand, you can already use the file system abstraction of H2.
You can also use databases that persist to an in-memory file system, using
the database URL jdbc:h2:memFS:test or jdbc:h2:memLZF:test. See also
http://h2database.com/html/advanced.html#file_system

Regards,
Thomas



On Thu, Jan 2, 2014 at 5:54 AM, Ryan How <r...@exemail.com.au> wrote:

>  On 2/01/2014 12:43 PM, Rob Oaks wrote:
>
>  Thank you both for your assistance.
>
>
>
> Ryan, it’s comforting to know that someone has accomplished something
> similar, which inclines me to go ahead and build a prototype. I have just a
> couple more questions:
>
>    1.
>
>    I would prefer to avoid generating/transmitting a file, unless there
>    is a compelling architectural rationale, as that will complicated the Web
>    Service/queueing architecture. My plan would be to SCRIPT the database to a
>    string and compress the string (e.g. using GZIPOutputStream). The string
>    would then be sent via RESTful service, queued, dequed, decompressed, and
>    sent to RUNSCRIPT to recreate the H2 database in-memory. Does this seem
>    reasonable (again remembering that the string is typically 10-30K and will
>    really never exceed 100K)?
>
>  If you run SCRIPT without a file, it returns the script in a result set.
> You can then get the string, zip it, BASE64 encode if you need, and do what
> you like with it.
>
>
>    1.
>
>    Rembering that I’m competely new to H2, I want to make sure H2
>    supports dynamic SCRIPT/RUNSCRIPT calls, not just command line usage, and
>    that your experience doing that has been positive.
>
>
>
> Yes, you just issue the SQL command.
>
> http://www.h2database.com/html/grammar.html#script
> http://www.h2database.com/html/grammar.html#runscript
>
> RUNSCRIPT accepts a file, so you probably just want to read your script in
> and execute each SQL command manually rather than using RUNSCRIPT. It says
> it can also accept a URL, but I'm not quite sure if you could utilise that
> in any way.
>
> Script (and runscript) have built in support for compression, but I think
> that only works when writing to a file, not in-memory.
>
> Would be nice if there was some java in-memory file abstraction, so you
> could just use the file support already in H2 and not have to worry about
> compressing and manually running the sql commands.
>
>
>   Anything else I should watch out for?
>
>
> I think it is pretty straight forward :) and at a conceptual level seems
> pretty sound.  All the best.
>
>
>
>  --
> You received this message because you are subscribed to the Google Groups
> "H2 Database" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to h2-database+unsubscr...@googlegroups.com.
> To post to this group, send email to h2-database@googlegroups.com.
> Visit this group at http://groups.google.com/group/h2-database.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>  --
> You received this message because you are subscribed to the Google Groups
> "H2 Database" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to h2-database+unsubscr...@googlegroups.com.
> To post to this group, send email to h2-database@googlegroups.com.
> Visit this group at http://groups.google.com/group/h2-database.
> For more options, visit https://groups.google.com/groups/opt_out.
>

-- 
You received this message because you are subscribed to the Google Groups "H2 
Database" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to h2-database+unsubscr...@googlegroups.com.
To post to this group, send email to h2-database@googlegroups.com.
Visit this group at http://groups.google.com/group/h2-database.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to