Orchid bank is a private sector bank which has branches in different countries. Orchid bank uses database for the storage of clients’ data because databases can store very large numbers of records efficiently. By using database, we can add, edit or delete data easily. It is more efficient in data searching and data sorting. Database can be used by more than one user to access same data simultaneously.
As a database designer, which type of database (distributed database & centralized database) you will use in this scenario to ensure data consistency, easy management and easy backup?
In my opinion distributed database is better in the given scenario.
Yes in my option replication of database suitable in the above given scenario.
We will use relational database, and make the data normalized form. So that we can access, update, delete and execute the records and fetch the required data. The relational database is easy to function the valuable system records.
The Advantages of Using Distributed Databases for the Banking Industry Banks must be able to access a customer’s information from any branch at a moment’s notice. These information requests can include checking account balances, loan amounts and credit status. A distributed database system separates a business’s data by business function or geographical area.Banks often use distributed database systems, because these systems are configured to carry out specific business tasks in different locations while allowing those locations to communicate freely with one another. These systems offer banks several advantages over non distributed systems.
Longer Uptime A database management system that requires banks to access financial data stored in a central location can be vulnerable to downtime. The central location may be inaccessible due to communication infrastructure problems, natural disaster or malicious attack. The distributed system lets banks access the information they need at any time, regardless of the uptime status of a central server. A distributed database management system allows banks to reroute their information requests around the inaccessible location to another available site.
Database replication is the frequent electronic copying of data from a database in on ecomputer or server to a database in another–so that all users share the same level of information. The result is a distributed database in which users can quickly access data relevant to their tasks without interfering with the work of others. Numerous elements contribute to the overall process of creating and managing database replication.
Now would you normalize the database or keep your database in de-normalized form.
Although, denormalized schema can greatly improve performance under extreme read-loads but the updates and inserts become complex as the data is duplicate and hence has to be updated/inserted in more than one places.
One clean way to go about solving this problem is through the use of triggers. For example in our case where the orders table has the product_name column as well, when the value of product_name has to be updated, then it can simply be done in the following way:
Have a trigger setup on the products table that updates the product_name on any update to the products table.
Execute the update query on the products table. The data would automatically be updated in the orders table because of the trigger.
However, when de-normalizing the schema, do take into consideration, the number of times you would be updating records compared to the number of times you would be executing SELECTs. When mixing normalization and de-normalization, focus on de-normalizing tables that are read intensive, while tables that are write intensive keep them normalized.