We are currently working on creating a portal website. The backend database will contain customer information. The current load process loads each table from different source systems one table at a time.For instance, loads Customer Table, then loads Orders table, then loads Inventory table.We have a SLA of 2.5seconds for a mouse click, to page rendered.The Current load process takes approximately 30 minutes, and each of the above tables are locked for 10 minutes each while loading. We do not want the endusers to see a new customer, but no orders from that customer because that table hasn't loaded yet.Potential Solutions we've discussed1. Using two databases, and then swapping between them. Have Web pointed to DB1, Update DB2, repoint Web to DB2, Update DB1, rinse repeat.2. Same basic premise but use different tables and update view definitions to use table1, then table2.3. Build a staging database, load all changes and then update one record at a time across all tables.What other thoughts? This has to be a pretty normal need for web based applications.
↧