Berkeley DB Java Edition and Amazon AWS/EC2, EBS
By Charles Lamb on Dec 30, 2008
In a previous OTN thread titled BerkeleyDB and Amazon EC2/S3 questions were raised about using Berkeley DB Java Edition on AWS/EC2. Specifically,
(1) Does JE work on AWS/EC2, and
(2) Can S3 be used as a persistent store for JE.
To follow up on this, recently I have done some work validating JE on AWS and am happy to report that it works fine (there should be no surprise there). I have run it under 32b and 64b Ubuntu distros with Java 6, but I have no reason to think that it doesn't work on other platforms.
On the second question, I did no work with S3 as a persistent store. Rather, I ran JE with both the Instance Local Storage and with an EBS volume as Environment storage. In the Instance Local Storage case, AWS/EC2 makes no guarantees of durability if the instance fails. In the EBS case, the durability guarantees are much stronger. Both of these storage mechanisms worked fine with JE.
I call attention to the performance that I observed with EBS on an m1.large instance type. Raw write/fsync operations were on the order of 1.99 msec which is quite fast. A discussion of this can be found in this AWS Forum thread.