Hi bjs,

First have a look at this thread:
https://groups.google.com/group/h2-database/browse_thread/thread/7ba7a652750e3496/d863bf4d63535602?lnk=gst&q=scalability#d863bf4d63535602


> I was thinking I could just create a new table every 1 million rows

I did exactly this but it gave me nothing. Also note that it may be
not as easy as it initially looks when you want to retain all the DB
capabilities that come for free with single table. Some food for
thought:
1) What about txn rollback? 'CREATE TABLE' commits the current
transaction.
2) Will you drop a table if it gets empty? 'DROP TABLE' also commits
current transaction.
3) How about two-phase commit? (It's a must for me) Such a commit
after it's been prepared may be either committed or rolled back. What
if your code created a table in a transaction, prepared that
transaction and crashed afterwards? What will you do if user chooses
to rollback the transaction?

All these issues can be solved (I did it) but this requires careful
coding and a battery of tests. At least when it comes to a few dozen
millions of rows the H2 scales well enough to not mandate implementing
your own horizontal table splitting, IMO. However I'd love to hear how
it behaves with a few hundreds of millions of rows :)


Regards,
wburzyns

-- 
You received this message because you are subscribed to the Google Groups "H2 
Database" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/h2-database?hl=en.

Reply via email to