What are the most obvious drawbacks to this idea for an enterprise(ish) model using the following technologies.
- Browser based and native developed GUI using Delphi to connect to
-
Datasnap server (Delphi, obviously) via Rest which stores documents in
- A CouchDB Server
But gets the structure for those documents from a centralized tree of
- JBoss servers connecting to
- MySQL databases which have information about all kinds of domain specific things
- Which connects to another JBoss server, all the way up to a centralized hosted repository to maintain some sort of control over licensing and structure of the program.
I know that’s kind of vague, but bear with me. I’m really asking:
- Whether it’s sensible to use a mixture of NoSQL and SQL DB’s and
- Whether it’s easier to mix them if they’re not connected to the same backend service.
- If this is just crazy.
I thought of it on the drive to work and it seems to solve all the problems that we have. I’m not sure that datasnap is robust enough, but we could use node.js or another jboss server instead. I just wanted to go with Delphi since we’ve got it and know it.
I think this is a fairly normal model, the difference being the web server (or datasnap server) being the thing that has a database attached to it as well as the data server. I think it’s better that way, and it would probably make sense if I said this is for medical records primarily and it’s better that documents stay separated from things that need to be updated, but it’s meant as a general purpose solution for storing info in a structured way.
1
You ask 3 questions – and you are talking about medical records being separate:
1: Whether it’s sensible to use a mixture of NoSQL and SQL DB’s and – My answer is YES
2: Whether it’s easier to mix them if they’re not connected to the same backed service – My answer is YES, if I have understood what you are asking correctly.
3: If it is crazy – NO, it is not crazy.
4: You later ask if this had been done successfully – and the answer is yes. I have done this already, if I understand what you are doing correctly.
3