Online Reporting Architectures Behind Load Balancers


Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • This is actually Crystals favorite slide, which tells you something about how long it’s been since she’s had any scotch, particularly as we just had a slide with some cute 4 legged creatures.I did work hard to find a pic with Lagavulin, which is her favorite…
  • Online Reporting Architectures Behind Load Balancers

    1. 1. Load-Balancing Architectures for Online Reporting DB’s<br />
    2. 2. About the fools in the front…<br />Crys Manson<br />No relation to Charlie, though she tries…<br />Senior DBA with Microsoft Advertising<br />Started as a DBA in 2004 with Atlas/aQuantive, acquired by MS in 2007<br />Manages the primary ETL and reporting systems for Microsoft’s Adserving system collecting and reporting on systems that serve over 400,000 ads/sec every day.<br />Email:<br />Twitter: @crysmanson<br />John Halunen<br />Senior DBA with Microsoft Advertising<br />Started working with Crys as a DBA in 2005<br />Managed various systems in Microsoft Adv, including our Search Mgmt and Atlas Publisher ETL and Reporting DB systems<br />Email:<br />Twitter: @sqlmoto<br />
    3. 3. Disclaimer<br />We are not here representing Microsoft officially<br />These are solutions that we have used or researched, or plan to use.<br />Your environment is likely to be different.<br />Test everything you hear us say in your Production Test environment FIRST.<br />Basically, Your Mileage May Vary (YMMV), be careful, and Trust, but Verify. <br />
    4. 4. What we are talking about…<br />Our journey<br /><ul><li>Suggested architectures
    5. 5. Advantages/Disadvantages
    6. 6. Lessons learned
    7. 7. Future options </li></li></ul><li>Environmental Background<br />
    8. 8.
    9. 9. Webservers/Appservers<br />Middle Tier servers<br />Network LoadBalancing / VIP (Virtual IP)<br />
    10. 10. Online Offline<br /><br /><br />
    11. 11.
    12. 12. Simple (online/offline)<br />Paired Reporting db’s on a single server: Refresh/Online<br />Control table indicating status<br />Advantages<br />Disadvantages<br />
    13. 13. Distributed Refresh<br /><br />
    14. 14.
    15. 15. Distributed Refresh<br />Multiple Reporting servers organized in Refresh Groups<br />Control db<br />Control jobs<br />Advantages<br />Disadvantages<br />
    16. 16. Logshipped<br /><br />
    17. 17.
    18. 18. Logshipped<br />One or more Logshipped Primary (HeadNodes)  refreshes<br />Ships logs to two or more (groups) of Reporting servers. <br />Use db snapshots to present the data.<br />Standalone server (for emergency situations)<br />Advantages<br />Disadvantages<br />
    19. 19. SCALABLE SHARED DATABASES<br /><br /><br /><br />
    20. 20.
    21. 21. Scalable Shared Disks<br />Maximizes use of server resources<br />Requires less total SAN space but it must be fast<br />MSDN recommends a max of 8 servers per db<br />Requires at least two sets of disk (R, and R/W)<br />Maybe 4 if maintenance needs are big<br />
    22. 22. Some other options<br />
    23. 23. A brief mention of Some Other Options<br />Federation<br />Lots of good resources online<br />Complicated (split databases horizontally to allow processing queries on multiple servers)<br />AlwaysOn<br />Mirroring with up to 4 readable replicas<br />Not really a scaling solution, more of a great way to use your BCP hardware.<br />Next PNWSQL meeting is this topic<br />
    24. 24. Mgmt Considerations(for the various Architectures)<br />
    25. 25. Management Considerations<br />
    26. 26. Suggestions…<br />
    27. 27. Suggestions<br />Get monitoring/maintenance included in your initial design<br />Build logs to record the report generation sqlstatements, and exceptions<br />Having those logs means you can rerun the actual reporting load to test or troubleshoot your db systems!<br />Build logs to record refresh process success/failure<br />Build a refresh Verify process<br />Code Rollback is a crucial safety net<br /><ul><li> Test this in your Production Test Env. or its not a rollback</li></ul>Testing in Production can be very useful<br /><ul><li>Must use Parallel chains or Pin servers to minimize risk</li></ul>Consider your future needs carefully<br />
    28. 28. Conclusion<br />
    29. 29.
    30. 30. References<br />Our Presentation<br /><br />How to use Mirroring and Snapshots<br />Scalable Shared Disks <br /><br />Deploying a Scalable Shared Database<br /><br />SQLVelocity Blog on Scalable Shared Db’s<br /><br />Ola Hallengren’s Maintenance scripts<br /><br />Dev Nambi’s blog on Stats creation scripts for Read Only Report<br /><br />Jeremiah Peschka on Federated DB’s generically<br /><br />PWNSQL “Offloading reporting workload to active replica(s) in SQL Server 2011”<br />http://www.pnwsql.orgby Sunil Agarwal, Principal Program Manager, Microsoft, SQL Server Product Group<br />April 13th, 2011<br />
    31. 31. Vendors<br />Network Load Balancers<br />F5<br />Citrix<br />Cisco<br />