0

MicroStream documentation says that MicroStream is an embedded database so multiple processes may not access the same database files concurrently:

https://manual.docs.microstream.one/data-store/faq/file-storage#may-multiple-jvm-processes-access-the-same-microstream-database

At any given time, only one JVM process may directly access the files representing a unique set of data.

However, the blog post on the MicroStream website suggests that MicroStream on S3 is a good option for AWS Lambda:

https://microstream.one/blog/article/the-future-is-serverless-with-microstream/

MicroStream basically enables you to store any Java object as a blob in a very simple and object-oriented, convenient way somewhere, for instance in a plain file or in AWS S3. So, MicroStream and S3 are a great fit. Now, with MicroStream you can read the state of a Lamda from S3, work with it, and finally write it back to S3.

This statement sounds contradictory to the first link. Is it still possible to use MicroStream at S3 from an AWS Lambda function?

zakgof
  • 213
  • 2
  • 8
  • Sure, it just sounds like it'll be expensive and not work. When the Lambda starts up it copies the database from S3 to likely `/tmp`. It does what it needs to with the DB and then copies it back. But what if you have 100 Lambda's running at the same time? The changes one makes may or may not be in the next one. This sounds like a horrible, error prone architecture. – stdunbar Jul 05 '23 at 20:28

0 Answers0