Side effects can be traced much easier, too. You can account for scalability for each application independently, adjust and tweak the structures as you need them and there won't be concurrency issues. Load the data as often as you need to, space is cheap. It also increases development costs a bit.Ĭoncurrency: Can you really be sure that there're no chronological dependencies between processes? What if one application modifies data that is outdated or should've been altered by another application first? What about different applications working on the same tables concurrently?Ĭompared to that, data imports/ETL-processes are almost always pretty straightforward and simple. You'll have to stick with older versions. That means that certain applications won't be able to use powerful features. Upgrading: You'll need a version that is the lowest common denominator for all applications using it. Where do I have to look for my data? Which user is allowed to interact with which objects? What can I grant whom? It's already hard with one database for a single application, when the developers don't/can't know all the use-cases.Īdministration becomes harder: Which object belongs to which application? Chaos rising. It's also likely that adjustments of one application will have side effects on other applications ("why is there such an unecessary trigger?!"/"We don't need that data anymore!"). Structures which aren't suited for the task at hand but have to be Maintenance and development costs can increase: Development is harder if an application You can buy bigger machines but they do not scale well in clusters! That you hit performance bottlenecks and that you can't easily scale the The more applications use the same database, the more likely it is Sharing one database for amongst multiple applications has some serious disadvantages: Space is cheap these days, so I'd advise to use one database per application.
0 Comments
Leave a Reply. |