I am trying to decide which database I should use for an application I'm making. I was leaning toward dynamoDB because of its scalability, but then I read in the documentation which said:
there is a limit of 64 KB on the item size
although it looks like MySQL has a similar restriction documented here
This application will be storing a lot of data in two arrays, which could contain upwards of 10,000-100,000 strings in each. I estimate that these strings will each be somewhere around 20 characters long, so each element of the array will be around 40bytes and each array could be around 4MB.
Given this predicament, what database on amazon AWS would you use; or how would you get around the limit of size per row?
So either DBMS should allow you the same amount of data inside each row. Looks like neither will be sufficient for your needs or for your way to process data.
Anyway, you shouldn't store this much data in each row, you'd probably be better off storing each string separately and using other tables to reference them.
after reading further in the MySQL storage requirement page I noticed this section:
With DynamoDB its recommended you use Amazon S3 for storing larger values.
Other options include gzip compressing the content which will give you about 200KB of storage.
Please see Matt Woods slides below:
http://www.slideshare.net/AmazonWebServices/building-applications-with-dynamodb