We invite you to shape the future of IBM, including product roadmaps, by submitting ideas that matter to you the most. Here's how it works:
Post your ideas
Post ideas and requests to enhance a product or service. Take a look at ideas others have posted and upvote them if they matter to you,
Post an idea
Upvote ideas that matter most to you
Get feedback from the IBM team to refine your idea
Help IBM prioritize your ideas and requests
The IBM team may need your help to refine the ideas so they may ask for more information or feedback. The product management team will then decide if they can begin working on your idea. If they can start during the next development cycle, they will put the idea on the priority list. Each team at IBM works on a different schedule, where some ideas can be implemented right away, others may be placed on a different schedule.
Receive notification on the decision
Some ideas can be implemented at IBM, while others may not fit within the development plans for the product. In either case, the team will let you know as soon as possible. In some cases, we may be able to find alternatives for ideas which cannot be implemented in a reasonable time.
For high use OLTP systems, there can be a lot of I/O pressure on the logical log due to intense rate of logical log buffer flushing (most customer don't ant data loss so they use UNBUFFERED LOG).
Setting BUFFERED LOG at session level would hardly avoid this (on a system with many sessions at least) due to the high probability of lot's of almost simultaneous COMMITS. And it would mean potential "data loss"
Other RDBMS (DB2, Oracle, MySQL) have "solved" this by delaying the write until: 1- A certain number of COMMITS happens or 2- A certain amount of type has elapsed
The application can be forced to wait until the COMMIT is effectively flushed to disk to avoid the potential of data loss. Currently in BUFFERED LOG we can delay the write, but because the application immediately receives the COMMIT feedback we cannot guarantee zero "data loss".
Currently in most customers with high rate of transactions we can see that we write on average just one page per logical log flush, meaning we're wasting the potential of performance improvement that the log buffer is supposed to give us. As such we have a potential bottleneck.
I suppose this would imply something like:
- new syntax for BUFERED LOG [MAXWAIT n] where n would be number of ms with a minimum and maximum interval and possibly accepting only X increments - new syntax for CREATE DATABASE ... WITH LOG [MAXWAIT n] - Have some sort of list of "pending commits" - Have a thread or mechanism that checks at X ms interval for sessions waiting on pending COMMITS and if this happens force the flush
Do not place IBM confidential, company confidential, or personal information into any field.