I have scenario where I need to store unstructured data but the rest of my data is structured and relational. An example of the type of unstructured data is as explained below:
User Type 1: How do you blah blah : 5 fields User Type 2 : How do you blah blah : 3 fields User Type 3 : How do you blah blah : 7 fields
All 3 types are asked the same question "How do you blah blah" but each user type answers it using different number of fields. And there can be a lot of different user types.
For the relational data, I'm using MySQL but i'm a little confused on how to store this unstructured data:
- Serialize as JSON and store in MySQL
- Use NoSQL
My requirements are high reads, average updates, average inserts & no deletes. No JOINS needed. I need guaranteed writes & high availability. If I were to choose a NoSQL, it'd be a AP type according to the CAP theorem. I won't be hitting millions of records anytime soon.
I also plan to provide a text search for this data in the future, but it doesn't need to be a real time search, so I can always index the data using Lucene periodically. But of course, document based NoSQL implementations do provide this out of the box. But I have read in a few places where people have advised against storing JSON data in MySQL. But adding a NoSQL layer could be overkill.
What do I do & if you do advise me to go for NoSQL DB, which one should I choose?