More Great Reasons to Upgrade Progress OpenEdge! Session: Is your application taking advantage of all that the Progress OpenEdge database has to.
Download ReportTranscript More Great Reasons to Upgrade Progress OpenEdge! Session: Is your application taking advantage of all that the Progress OpenEdge database has to.
More Great Reasons to Upgrade Progress OpenEdge! Session: Is your application taking advantage of all that the Progress OpenEdge database has to offer? Not if it isn't running on a current release! Every application can benefit from a Progress upgrade and every release of Progress has significant new features that are beneficial to the entire spectrum of Progress customers. You don't need to have the latest whiz-bang user interface nor do you need to have The World's Largest Database in order to benefit from an upgrade. Come to this session to get the lowdown on which features really matter and why. Reasons To Upgrade! It’s The Right Thing To Do. Tom Bascom, White Star Software [email protected] A Few Words about the Speaker • Tom Bascom; Progress user & roaming DBA since 1987 • President, DBAppraise, LLC – Remote database management service for OpenEdge. – Simplifying the job of managing and monitoring the world’s best business applications. – [email protected] • VP, White Star Software, LLC – Expert consulting services related to all aspects of Progress and OpenEdge. – [email protected] 3 Audience Survey • • • • • • • • • • OpenEdge 11.1? 11.0 10.2B 10.2A 10.1 10.0 9.1E Other v9 Older than that? Windows? UNIX? Character? GUI? 4 Progress Version 9 • Designed in the mid-1990s • Released 1998 – 14 years ago… • 9.1E04 is the last v9 release ever. – April 15, 2006 … 6.5 years ago! – No bug fixes. – No enhancements. – Extremely limited “support”. – Good luck getting it to run on Windows 8… – Extra fee for maintenance. 5 The Nineties 6 Not Thought Of in the Nineties • • • • • • • • • Security & Privacy Massively Multi-Core systems everywhere. Servers with hundreds of Gigabytes of RAM WiFi Terabyte hard drives Solid State Disks Virtualization Cloud Computing The Web (very late 90s – past the design window…) – SOAP, XML, DOM, SAX, JSON, REST… • iPhones/Android • “Social” 7 iPhone/Android… • • • • • UNIX on a Phone Multi-core (2 x 1GHz or better) 1GB System RAM 8 to 64GB RAM Built-in networking • In 1995 Linux 1.0 was released, Windows 95 ran on Pentium Pros @ 200MHz and 1GB of RAM was an extravagance found only on super-expensive servers. 8 V9 Era Features • • • • • • • • • Dynamic Queries etc. DateTime datatype ProDataSet SQL-92 XML (DOM only) Sockets Super-procedures Named events (Publish & Subscribe) Storage Areas (type 1) 9 OE 10 10 OpenEdge 10 • “Progress” renamed to “OpenEdge” – Search engine result relevance vastly improved! • First released in 2003 ... Almost 10 years ago! • 10.2B07 is the current release. • OpenEdge 11 was “soft released” in December 2011. 11 OE10 Scalability Features • • • • • • • • • 64 bit ROWID Type 2 Storage Areas 64 bit executables on all platforms Large files everywhere (files > 2GB) 32,000 Storage Areas Max Area size = 1PB (1015) Maximum DB Size is 32,000 PETA bytes -B 1,000,000,000 (one billion) Large Index Keys (increased from 200 to 1,970 bytes) 12 OE10 Security Features • Encrypted wire protocols. • Transparent Data Encryption: – Encrypts data “at rest” – Including bi file and user temp files etc • Runtime _User enforcement: – Old style is compile time… • Client-principal object. 13 OE 10 4GL & Productivity • OO Features Added! • XML – DOM, SAX, ProDataSet read/write support • • • • • • Eclipse-based IDE (“OE Architect”) GUI for .NET Structured Error Handling (TRY/CATCH) ProDataSet r/w JSON OE BPM – initial availability 4GL renamed to “ABL” 14 OE10 Online Administration • Online apply .DF file • Online extent add • Online parameter increases: -B, -L, -Mxs -bibufs, -aibufs • After-Image Management Daemon – Automatically switch and archive AI files • Online AI enable, disable 15 OE10 Diagnostic Capabilities • Improved .lg file format • SIGUSR1 4GL stack trace • Client Statement Cache – Records the 4GL statement responsible for DB activity. – Shows the program stack that led to DB activity. • Data block checksums • User specific table and index statistics 16 OE10 Type 2 Storage Areas • The foundation for all advanced db features! • Clusters of 8, 64 or 512 blocks. • Type 2 data is “a-social”. Data blocks are NOT mixed. • Reduces scatter, improves IO efficiency. • Tunable create & toss limits. • Improves storage utilization. • Significant performance improvements. 17 OE10 Performance Improvements • Recompiled for modern base platforms and libraries. • Multi-threaded binary dump. • Multi-threaded index rebuild. • Major enhancements to latch algorithms (10.1C & 10.2B06). • Alternate Buffer Pool (10.2B). 18 Still Not Thought Of in the Early Oughts • • • • • • Servers with hundreds of Gigabytes of RAM. Massively Multi-Core systems everywhere. Solid State Disks Everywhere. Cloud Computing. iPhones/Android. “Social”. 19 Since OE 10 was launched… • • • • • • • • 2004: Facebook is launched. 2005: YouTube 2006: Twitter, Microsoft Zune 2007: iPhone, Kindle 2008: Macbook Air 2009: Google Wave, WiMax (not a good year for tech…) 2010: iPad 2011: Android exceeds 50%, Patent Wars, SSL certificate trust breached… • 2012: Quad-core phones 20 OE 10 – End of Life • It’s not here yet – but it’s coming… • All of the new stuff is happening in OE11 and only some of it is being “back-ported” to OE10. • I (me, personally) doubt that there will be a 10.2C. • Will 10.2B SP08 be the equivalent of 9.1E04? 21 OE 10 More Information • Object Orientation, Theory and Practice Will van Beek, Thursday 11:00 • What is OE GUI for .NET? Marko Rüterbories, Thursday 12:15 • Storage Optimisation Strategies Tom Bascom, Thursday 17:00 • Identity Management in OpenEdge Peter Judge, Friday 8:30 • OpenEdge Database Performance Rich Banville, Friday 9:45 • Customising OpenEdge Architect Mike Fechner, Friday 12:30 22 OE 11 23 OpenEdge 11 • Launched December 2011 • Multi-Tenancy – Allows multiple companies in a single db instance – While preserving separation at a low level – And allowing the sharing of common data where appropriate. • OpenEdge BPM – Savvion (Now OE:BPM) – Corticon BRMS 24 More OE 11 Goodies • • • • • • • • • • • 32/64 Bit R-Code Compatibility Restored! .NET Component Support for Batch Clients Improved LOB Support Input Blocking Statement support for UDFs etc. JSON Object API ProDataSet XML Schema Buffer-object:SERIALIZE-ROW() Authentication Callbacks & Encoded Passwords Temp-Table Statistics & Logging 4GL Table-Scan 4GL Fast Table Drop 25 OE 11 More Information • TEMP-TABLE Monitoring & Performance Tuning Dan Foreman, Thursday 11:00 • The ABL in OpenEdge 11.1 Gus Bjorkland, Thursday 12:15 • Maximising Productivity with Progress Developer Studio for OpenEdge 11.1 Yogesh Devatraj, Friday 9:45 • OpenEdge 11 Multi-tenancy Workshop Brent Adonis, Friday 14:30 26 Moving On From The Nineties… (Or Whatever Era You’re Stuck In…) 27 Upgrade Rules • If you can compile, you can upgrade. • If versions are different – the client must be the highest version. – In other words: The client can be v11 and the server v10 – but not the other way around. 28 Upgrading The Client • UNIX – recompile, push r-code. • Windows … 29 Upgrading DB Servers is Easy! • • • • Shutdown Backup Truncate your bi file. Switch to your new release… – For UNIX just change $DLC or rename /usr/dlc or similar scheme. • If this is a major version upgrade: – proutil dbname –C conv910 – proutil dbname –C updatevsts – Recompile • Restart 30 New Server Tuning Parameters -lruskips 10 -prefetchDelay -prefetchPriority 50 -prefetchNumRecs 100 31 Table & Index Range Sizes define variable t as integer no-undo label "Tables". define variable i as integer no-undo label "Indexes". for each _file no-lock where _hidden = no: t = t + 1. End. for each _index no-lock: i = i + 1. end. display t i with side-labels. -tablerangesize 500 -indexrangesize 1024 32 Proutil • proutil dbname –C enablelargefiles • proutil dbname –C updatevsts 33 Type 2 Storage Areas # # # # # b # d # d d d # a a a a dbname.st (windows variant) enable large files & use variable length extents to simplify management b:\bi\dbname.b1 "Schema Area":6,32;1 d:\db\dbname.d1 "Data":20,128;512 d:\db\dbname_20.d1 "Indexes":21,128;8 d:\db\dbname_21.d1 "LOBs":22,64;512 d:\db\dbname_22.d1 a:\ai\dbname.a1 a:\ai\dbname.a2 a:\ai\dbname.a3 a:\ai\dbname.a4 34 Dump & Load • You do NOT have to dump & load just to upgrade! • But you *might* need to dump & load to take full advantage of new db features: – Storage Areas – Rows Per Block – Cluster Size 35 Looking Ahead! 36 OpenEdge 11.X Speculation… • • • • • • • • Horizontal Partitioning? Paged Result Sets? Additional Buffer Pools? Larger Block sizes? Additional Improvements in Latch structures? Compressed (“zip”) backups? Variable Extent Grow-To Size? VST Enhancements? 37 Conclusion • New releases are actively supported by PSC Customer Support and the OpenEdge engineering group. Bugs are fixed and service packs are released on a regular basis. • New releases are much more likely to work well on newer operating system releases. • New releases nearly always contain performance improvements which you can often take advantage of without making changes to your applications. • New releases also provide many important new features and capabilities in the language, database, and other areas that help make your applications more capable. 38 Questions? 39 Thank You! 40