More Great Reasons to Upgrade Progress OpenEdge! Session: Is your application taking advantage of all that the Progress OpenEdge database has to.

Download Report

Transcript 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