I don't know where I am posting it at correct place or not
but I think all of you have done work on this can help me out.
I would like to know that how in a big organizations the databases are implemented. This especially I am talking about huge bans who has ATMs world wide. Also where can I get info. on these databases.
i ll also give cases which I would like to know. Is it possible just by using distributed databases or Oracle parallel server is needed for implementation
Case 1. I have a account and I am withdrawing some amount from it from U.S . and simulataneously same time my father who also has access to that account is withdrawing money from India. Now the physical datafile for this table is located in Germany; Is my transaction directly going to delete data from my table data which is stored in germany or it will change first in local replicated datafile and then change it ?
Also then if my transactions removes
all amount from my account and at next second itself my father's transaction for withdrawal takes place in ATM in India then How this integrity will be maintained ? will my fatherimmediatly get a message for no balance. (Almost at same time my and my father's transactions are requested.)
Also the above scenario is implemented using Parallel Server or Can it be implemented using just Distributed databases concepts i.e. Creating Links to remote databases and creating synonyms for tables at various locations?
I ll be glad if anyone can guide me properly on this issue?
With my own views,
I haven't heard Oracle alone is being used to implement such wide range of scope of that kind of project. Some small banks uses Oracle for Banking, but never heard Oracle being used alone with affiliation world wide.
I know BASE24 was widely used during late 1990s together with IBMs DB2/AS400,etc.
Its got alot to do with the whole infrastructure not just the software but also the hardware aspect.
Kind of transactions such as ON-US transaction- your banking transaction is with the same bank in which your account belong. And the other one is your banking transaction is made from a bank affiliated with organization of different banks where your bank is a member, such as BANCNET,etc. Where in your initial transaction info such as balance is immediately forwarded by BANCNET to your bank and later-on there will be a CLEARING in a certain time.
Actually, there are too many factors for a clean answer. Too much depends on the specific hardware, software and application configuration.
If the bank in your case is using replication, there is a delay between your's and your father's transactions and balance since multiple databases are involved. Whether this is a problem or what happens when the negative balance from is determined (at synchronization time for the replication) is an application issue.
If the bank is using one database, then your father will be prevented from withdrawing because your balance will be immediately reflected. (There is a small risk if both your transactions occur at EXACTLY the same time, but that is vanishingly small.)
With modern communications, both scenarios are possible, assuming 1 bank company.
With multiple banks, you have various systems and *************s involved. Anything is possible.
Joseph R.P. Maloney, CSP,CDP,CCP
'The answer is 42'
If you are using one central database, no risk for two concurrent transactions. Oracle has those basic stuff ( row level locking, read consistent etc...) as a commercial RDBMS, of course.
If you are implementing replication, you have your choice to have the replicated data read-only, or have the applications themselves to resolve any transaction/data conflict. It's not the database to resovle this.
I am not asking for small bank..in fact big banks. If you have Oracle parallel server implemented on distributed environment, can you tell me how it is implemented and how it supports the transactions from world wide. I ll be very much thankful if you can tell me or even guide me as I am still hanging on reserch.