Best practice, Application architecture MySQL

304 views Asked by At

i must design a system which unifies 4 applications, these applications share a lot of information (which at the current system, the information is duplicate in databases). My first idea was to use a distributed database system in order to avoid all these duplications and the manual synchronization among the systems, the think is that almost everything needs implementation from the beginning (since the database is the heart of these systems) so i don't know if the time/money/implementation combination is the best solution or not.

The technologies that i have in my mind to use: MySQL Federated Engine to achieve the distribution in databases CakePHP: 2/4 applications are in CakePHP so i will keep it the same language. Python: 1 application is in python Java: 1 application is in java

Will i have any problem with the above languages and Database engine ?

Any ideas, suggestions ? Any feedback will be appreciated!

1

There are 1 answers

0
Walter Mitty On

You design from the top down. You build from the bottom up.

Databases are the bottom layer. It's the last stage of design, and the first stage of construction. Data modeling, database design, and database administration are fundamental to good data management. And without good data management, the rest of the project is doomed. While the database is going to be what you build first, you need to have a clear idea of what you are going to do with the data. Look at the needs from the top down. you need to do this before you select particular technologies. You may have done this, but just didn't mention it in yuor question.

Unofortunately, databases designed with a narrow scope in mind seems to be the rule today, rather than the exception. Integrating disjoint databases into a coherent unified database (whether it's distributed or not) is far from a trivial task. There will be trivial differences in such things as naming and composition, and non trivial differences in the conceptual data model.

Good luck!