jump to navigation

Friday Philosophy – Size is Relative February 15, 2019

Posted by mwidlake in Architecture, Friday Philosophy, Hardware.
Tags: ,
add a comment

The below is a USB memory stick, a 64GB USB memory stick which I bought this week for about 10€/$. I think the first USB memory stick I bought was 8MB (1/8000 the capacity) and cost me twice as much.

Almost an entry level USB memory stick these days

This is a cheap, almost entry level USB memory stick now – you can get 0.5TB ones for around €50. I know, I know, they keep getting larger. As does the on-board memory of computers, disc/SSD size, and network speed. (Though compute speed seems to be stalling and has dropped below Moore’s law, even taking into account the constant rise in core count). But come on, think about what you can store on 64GB. Think back a few years to some of the large systems you worked on 10 years ago and how vast you might have thought the data was.

What made me sit back a little is that I’ve worked with VLDBs (Very Large DataBases) for most of my career, the first one being in about 1992/3. And that was a pretty big one for it’s time, it was the largest database Oracle admitted to working on in the UK back then I think. You guessed it – this little USB memory stick would hold the whole database, plus some to spare. What did the VLDB hold? All the patient activity information for a large UK hospital – so all patients who had ever been to the hospital, all their inpatient and outpatient stays, waiting list, a growing list of lab results (blood tests, x-rays)… The kit to run this took up the space of a large lorry/shipping container. And another shipping container of kit to cool it.

What makes a database a VLDB? Well, This old post here from 2009 probably still covers it, but put simply it is a database where simply the size of it gives you problems to solve – how to back it up, how to migrate it, how to access the data within it in a timely manner. It is not just about raw volume, it also depends on the software you are using and the hardware. Back in the mid 2000’s we had two types of VLDB where I worked:

  • Anything above 100GB or so on MySQL was a VLDB as the database technology struggled
  • Anything above 2TB on Oracle was a VLDB as we had trouble getting enough kit to handle the IO requirements and memory for the SGA.

That latter issue was interesting. There was kit that could run 2TB Oracle database with ease back then, but it cost millions. That was our whole IT budget, so we had to design a system using what were really beefed-up PCs and RAC. It worked. But we had to plan and design it very carefully.

So size in I.T. is not just about the absolute volume. It is also to do with what you need to do with the data and what hardware is available to you to solve your volume problems.

Size in I.T. is not absolute – It is relative to your processing requirements and the hardware available to you

That USB stick could hold a whole hospital system, possibly even now if you did not store images or DNA information. But with a single port running at a maximum of 200MB/s and, I don’t know, maybe 2,000 IOPS (read – writes can suck for USB memory sticks), could it support a whole hospital system? Maybe just, I think those figures would have been OK for a large storage array in 1993! But in reality, what with today’s chatty application design and larger user base, probably not. You would have to solve some pretty serious VLDB-type issues.

Security would also be an issue – it’s real easy to walk off with a little USB Memory stick! Some sort of data encryption would be needed… 🙂

Advertisements

Learning About Oracle in Belgium February 11, 2019

Posted by mwidlake in Uncategorized.
add a comment

It’s always so good to see a user community growing. Last week was the first ever technical conference for obug (or is it OBUG) – the Oracle Benelux User Group. It was an excellent couple of days, packed with a fantastic range of presenting talent and an enthusiastic audience. I was honoured to be asked to be one of the presenters.

A smorgasbord of talking
technical talent

The event was held in a cinema, which lends itself well to a conference. Riga Dev Days use a cinema also and it works because every seat in the room has a great view of the screen. the screen is large, the projector is (of course) pretty good, and if you want sound it is top quality sound. The icing on the cake is that the seats are padded and comfortable. Poor seating is a real pain (literally) at an event where you are sitting most of the day. One potential drawback of a cinema is ensuring you have areas for catering and coffee, but the chosen venue was able to provide that as well.

Belgium Speakers

I have to tip my hat in deep admiration to Philippe Fierens, Pieter Van Puymbroeck, and Janny Ekelson for the organisation of the event and how well they looked after all the speakers. I don’t think most people have any idea how much hard work, stress and energy is involved in organising these things. I certainly didn’t until I started helping helping organise conferences for the UK Oracle User Group and we have the support of staff who have done this a dozen times. These guys were doing the whole thing and doing it for the first time. Well done!

As this was obug’s first technical conference, Pieter & Philippe followed the example of the Polish User Group when they organised their first conference – they went and asked lots of speakers they knew if they would present. (That’s a nice thing about User Groups too, you learn how to run your own group better). It helps that they are both accomplished presenters themselves and part of the speaker circuit. It’s an odd thing, if you ask one us attention-seeking, self-opinionated, egotistical speakers to present – we are inclined to say yes :-). (I should point out, some speakers are not egotistical or self opinionated. Some). I did hear the odd muttering about a call for papers not happening but, if I was organising my first conference, I would not want the hassle and risk of C4P. I would be pestering my friends and contacts in the same way.

It was a very sociable conference. I mean, we were in Belgium which is renowned for beer and chocolate, it would have been wrong not to partake in them. I’m of the opinion that the social side of user groups is as important as the presentations and workshops. There seems to be a strong correlation to me between those who socialise during a conference and those that get the most out of it. You can learn a lot by spending time with people who have suffered the same issues with tech as you, or who know more about some aspect of Oracle. I got into an interesting chat about potentially pre-checking the second table in a join before you bother scanning the first table, as a cheap – if -rare – optimisation. And I met a guy who’s partner was thinking about making hats, just like my wife does. Oh, and the obligatory discussion about making bread.

As well as the excellent talks and socialising there was also the access to Oracle product managers and experts. There were several at the conference, a couple of whom who I had never met or only briefly. I can’t tell you how much it can help to be able to contact the person in charge of SQL Developer or Exadata and ask “can you find me someone I can chat to about ‘Blargh'”.

There was one final highlight of obug. We had the classic “4 I.T. experts clustered around a laptop that simply won’t run the presentation”. It’s one of those eternal truths of working in the industry that, no matter how good you are in your chosen field, presentations make it all break and you can’t fix it quickly :-). We got there.

It was an excellent conference and I really, *really* hope they do it again next year.

{Oh, I should add – I do not know who took the photo of Roger, Flora, Frits and Ricardo, I stole it off the whatsapp stream we speakers used. Thank you to whoever and let me know if you want crediting}

OUG Scotland – Why to Come & Survival Guide June 12, 2018

Posted by mwidlake in Meeting notes, UKOUG, Uncategorized, User Groups.
Tags: , ,
add a comment

The UKOUG’s Scottish conference is on the 21st June in the centre of Edinburgh, at the Sheraton Grand Hotel, not far from Edinburgh Castle in the centre of the city.

Picture from viator.com, who do tours etc

 

The Event

There is a six-stream agenda covering Database, Apex & Development, Platform & Services, Coud Apps, EBS Apps tech, and Business Analytics/systems & EPM, so pretty much the whole breadth of Oracle Tech, Apps and BI. We have a keynote by Oracle’s Caroline Apsey on the Bloodhound Project, the UK-based group trying to smash the world land-speed record with a 1,000mph rocket car – and solve lots of engineering challenges on the way. And uses the Oracle Cloud. I’ll be sure to see that one.

With 6 all-day streams there are a lot of presentations to choose from, but as a taste of what is on offer I’ll mention Jonathan Lewis talking about stats, Heli Helskyaho explaining the basics of machine learning, and from Oracle we have Grant Ronald on AI-driven chatbots, Hilary Farrell on the new features of APEX 18.1, and Keith Laker on JSON & SQL. The talks are a nice mixture of end-user experiences, recognised experts and Oracle themselves. UKOUG is independent of Oracle so although we are very happy to have Oracle support us, we have talks that are not just what Oracle are currently pushing. This is what I love about user group meetings, you get the whole story.

As a member of the UKOUG this event is free, counting as one of your SIG places. If you have run out of SIG places, you can buy an extra one at £85 – or upgrade your membership of course 🙂

If you are not a member you can pay £170 to attend the event, which is pretty cheap for a day of Oracle conference when compare to many other events of the same size around Europe. However, if you become a bronze member of the UKOUG – which comes with a SIG place, so you can come to the event – that will only cost you £165! Contact the UKOUG office for any help.

(note, all prices do not include VAT, which is 20%. A UK company can usually claim this back).

 

Social

I’m sure there will be a good few people travelling up the day before the event so there is a social being organised. This will be in the Shakespeare Pub from 19:00, which is not far at all from the Sheraton hotel. I’m afraid that you will have to buy your own drinks etc, but I’ll be buying a round at some point.

I have to run away back home before the event itself ends, but there is a social event in the hotel after the presentations, in the exhibition area, starting at 17:25.

 

Edinburgh

Edinburgh is one of my favourite cities in the UK – and actually in the world. I’ll be turning up Wednesday afternoon so I can have a wander about the city before joining the meetup the evening before the conference and, if I had the time, I’d be going up sooner or coming back later. If you have time, a wander up Royal Mile to the Esplanade gives fine views over the city. Having looked at the nest of roads and alleys of the old town in front of the castle, it is only a few minutes to the New Town with it’s contrasting, rectangularly laid out, Victorian grandeur. In the old town I love the camera obscura just off the Esplanade, the  Dynamic Earth museum at the bottom of the Royal Mile/Holyrood road and, if I have a couple of hours, I’ll wander up Arthur’s seat – a small “mountain” (the remains of an ancient volcano),180+meters of ascent in the centre of Edinburgh. Views are spectacular. Unless it rains.

Getting There

Train

The venue is about a mile from Waverley train station in the centre of Edinburgh, half a mile or so from Haymarket. Intercity services go to Waverley.

It is not as expensive or as far away to get to Edinburgh from London as you might think. At the time of writing trains from London Kings Cross are 4-5 hours from about £42 each way. And the route is gorgeous, running up the East coast with views out to sea. Sit on the right side of the train on the way up! To get travel at that cost you do need to pick your exact train and book ASAP. You will end up at Waverley station right in the centre of Edinburgh.

Travel from other cities in the UK will be similar, but cheaper. Apart from Birmingham maybe. I don’t know why but there seems to be a “tax” on leaving Birmingham!

Getting to the Sheraton from Waverley is still easy, there are buses and trams. If you have time, you come out of Waverley, cross North Bridge, go up the Royal Mile and down Johnston Terrace. It’s a one mile walk and you can take in the view from the Castle Esplanade on the way.

Tram

If you are heading to the Sheraton hotel by tram, you should get off at West End stop, take Canning Street then bear left onto Rutland Square. Walk past the horse statue and across the footbridge to turn left on Exchange Square. The hotel entrance is on the right.

Car

Even though I live in the South of England, if I had a day to do it I’d drive up to Edinburgh and stop off at places along the way. If you are local-ish to Edinburgh and the trains do not work for you, I’m told it may be best to head for the multi-storey carparks at Castle Terrace or Semple Street. But driving into Edinburgh can be a bit of a pain.

Plane.

I’ll be coming in by plane as I live very close to Stansted Airport. It is costing me £21 each way with Ryanair (Ack!) and there are several flights a day to chose from. You can also fly from Luton (£48), Gatwick (£60) or Birmingham (£70).

The Edinburgh tram system now runs out to the airport so getting in by tram is quick and easy, in shiny, modern trams. If my memory of the roads is still accurate, a taxi will take a lot longer, as well as being more expensive.

 

 

I hope some of you can join me at this great event in this lovely city.

Friday Philosophy – Despair of the Dyslexic Developer and Your Help Please June 1, 2018

Posted by mwidlake in development, Friday Philosophy, Perceptions, Private Life.
Tags: , ,
2 comments

Like a surprisingly large number of people, I’m dyslexic. I’ve mentioned this before, describing how I found out I was dyslexic and also how I think it is sometimes used as an odd sort-of badge of distinction. I am mildly dyslexic, the letters do not try to “merge or run away” from my eye, if I hit a large word I am unfamiliar with I can visually chop it up and get through it. But that is just me. So, today, I want to ask you all, if you are a dyslexic developer or know one, are there any steps you have taken to reduce the impact?

I should mention, neither Jim or Richard are dyslexic as far as I know!

A recent, slightly jokey, conversation on twitter reminded me of the issues I have had in typing the wrong thing (over and over and over again – my usual example is how often I have tried to “shitdwon” an oracle instance). And that in turn reminded me of a more serious conversation I had when at the OUG Ireland conference back in March.

As a developer, I sometimes struggle to spot spelling mistakes or use of the wrong (or missing) punctuation in my code. As my friend JimTheWhyGuy said in the twitter conversation, spotting you had spelt UDPATE wrong. I was telling the audience that I was something of a slow developer, partly due to dyslexia. I can stare at code for ages, especially if I am using a new construct to me, not understanding why I am getting an error. It is often not a syntax problem but a spelling one. I had real problems with the word “partitioning” (and still do) when I started using that feature. – it is a little long and has almost-repeated sections in the middle and I “spin” in the middle if I read it or try to write it. It’s a little too long for my wrists to learn to automatically tap it out.

After the talk a lady came over and asked me if I had any advice on how to reduce the impact of dyslexia when writing code. She’d been diagnosed at school and so had grown up knowing she was dyslexic. (I was not diagnosed as a child, which oddly enough I am still glad about – as I learnt to cope with it in my own way. But I am NOT glad I am dyslexic). I do not know what support and advice she had been given through school, but it was obviously still something that impacted things. All I could come up with were a couple of tricks I use.

One is to copy text into MS Word and see if it highlights anything. You have to teach your version of MS Word (*other word processors with spell checkers are available) that the normal syntax words are real, but all the punctuation and special characters get in the way. Where it does help a lot is reducing the number of errors in specifications & documentation I produce and, now, articles I write. But as I know most of you who come by here have already realised – spelling errors that give another correct word are not picked up by a lot of spell checkers, such as this WordPress site. My blogs are full of missing words, wrong words and other crap.

The other major advance is the use of, Software Development Tools (SDTs – and YES, I spelt SDT wrong first time around writing this!) or Interactive Development Environments (IDEs). These highlight syntax errors (so highlighting typos), allow auto-completion of command words and provide common code constructs. They help, but I’ve never been that good at getting the best out of them. I use SQL*Developer more than the others and it does help.

The final other thing is that I just factor in that it’s going to take me more time to write or read stuff. Like many dyslexics, there is nothing wrong with my comprehension (I went off the scale for reading age when I was 12) but it takes me longer and is more effort.

Looking around on the web about this, there is a lot of stuff, the above point about IDEs being a main one. One common thing is to use different fonts to help stop letters skipping about or moving, but I don’t have that sort of dyslexia so I’ve never looked into that. I was going to review the topic of dyslexic developers more before putting this article together, but reading it all was taking me too long! That and I found the constant “It gave me an advantage” to be bloody annoying.

So, knowing a few of you out there are also dyslexic to some degree or another, have you any tips to share? If you have something to share but do not want to be identified, contact me directly.

I’d really appreciate it, if not for me then for if ever anyone else asks me how I cope as a dyslexic developer.

My main opt-out of course was to move into performance. It’s somehow more “pictorial” in my mind and you write less code…

Riga & Romania, Zagreb & Zurich: It Sounds Rockstar but Really it’s Not May 10, 2018

Posted by mwidlake in conference, Meeting notes, Presenting, Private Life, User Groups.
Tags: , ,
add a comment

I’ve spent a lot of time over the last month or two trying to plan how to navigate a set of visits to the Eastern side of Europe. This might sound a little “My Glamorous Lifestyle” but, as my friend Tim Hall (he who is “Oracle-Base”) has documented in his posts under “my glamorous lifestyle”, doing the Oracle talk circuit often entails lots of hours in airports & stations, travelling with cheap, basic airlines, and sometimes a lot of stress. It is not the “Airport lounge and first class service” some people think it is. Anyway…

I’m visiting cities in the orange zone

All three venues are at pretty much the same longitude, about 25 degrees (that is to say, the same distance “East” of the UK). The first trip is to Riga in Latvia, where I am presenting at Riga Dev Days 2018. This is my first time at Riga Dev Days and in fact my first time in Latvia. Sue has never visited Latvia before so is joining me for a long weekend prior to the conference – they have a millinery (hat) museum in Riga! (If you do not know, my wife makes some very nice hats)

The last trip is to Romania, to present at a the Romanian Oracle User Group meeting. I was asked if I would consider this by Mirela Ardelean at the UKOUG conference last December and my response was “Hell yes! I’ve never been to Romania before and I love being asked! Besides, I don’t think Sue has been to Romania yet…” So, another weekend as a tourist with my wife before a speaking engagement. Bucharest is pretty much directly South of Riga.

I’ve had these two in my calendar for a while and, though the trip to Romania was a little fluid for a while, I knew I could do it easily – there are cheap, direct flights to both from London Stansted airport, which is just a few miles over the fields from my home.

Riga hat museum 🙂

And then things changed. I became UKOUG President elect (and, a lot sooner than I expected, full president) and there is a meeting of European Oracle user groups in Zagreb, Croatia, in a date between the two user group events I was doing. I felt I needed to be there – I think all the European user groups have stuff to learn from each other and the UKOUG board supported this position.

I now had a three-week period with large chunks “over there”. I looked at flights, times, costs, hotels… It was not working. Getting home to the UK in that period with at least 24 hours at home was going to be very, very hard. I looked to see if train transport or even a hire car would help. No. But carrying enough personal stuff to last three weeks was also hard work. Even if I did weird things like popped into other countries by train or travelled at antisocial hours, the cost was making my eyes water. Each trip itself was OK if based on a simple “UK and out/return” basis. But together, it did not work. Moving between each country was not a smooth process and going home to the UK was even worse…

Then Sue made a suggestion. Don’t go “home” – go to see your wife – via Zurich!

That worked!

In the middle of all these trips I can pop back to Zurich and by train to Basel, and see Mrs Widlake. And wash my dirty clothes. It seems crazy, but adding another leg to what was already a frenetic travel plan made it all doable. So now I am going Stansted-Riga-Zurich-Basel-Zurich-Zagreb-Belgrade-Bucharest-Stansted.

Bucharest

Why do I do all of this? Because I love what I do as a vocation (UKOUG, presenting, the Oracle Community) and I love what I do as a Husband (she currently works abroad, I go visit, she visits back, and we meet up in random countries across Europe). For both I travel cheap as I am either spending the salary of my wife or the funds of a User Group. Both are limited and I try to keep costs down. Especially on the latter.

I really wanted to fit in a trip to Bulgaria as well, to go to the BOUG spring conference, but I really just could not make that work as well. That will have to be next year, if they will still accept me.

I already know I will be knackered by the end of this tour, but that’s OK – I will have time to recover. That would be 48 hours before I go to Valencia for a holiday “with the boys”. Followed 48 hours later by a trip to Scotland to be UKOUG President at the Scottish UKOUG conference.

I might take July off to sleep….

Free Conference (*) in May! May 4, 2018

Posted by mwidlake in conference, Knowledge, UKOUG.
Tags: , , ,
add a comment

How do you fancy going to a full-day, five stream conference, for free? With a great agenda including Pete Finnigan talking on the hot topic of GDPR; Chris Saxon, Nigel Bayliss and Grant Ronald giving us the latest low-down on optimizer, 18C database features for developers and AI powered apps? Stalwarts of the Oracle community like Robin Moffat, Zahid Anwar and Andrew Clarke giving their real-world view?

Well, if you are a member of the UKOUG you can – and even if you are not a member, there is a way! All levels of UKOUG membership, even bronze, allow you to attend at least one SIG (Special Interest Group) meeting – and the Northern Technology Summit is classed as a SIG, even though it is as large as some smaller conferences. The 5 streams cover Database, RAC, Systems, APEX, and Development (I know, APEX is part of development – but it gets a whole stream to fit in the large range of speakers, who are mostly end users with real stories to tell). You can see the full agenda here.

Park Plaza. Leeds.

The summit is being held in Leeds, at the Park Plazza hotel, on the 16th of May. The Park Plaza is so close to Leeds train station that you could probably hit it with a catapult from the entrance. It is also about 2 minutes from where the M621 (a spur off the M1) ends in the city centre. You can sign up to the event by clicking here.

Is Leeds far away? No. Trains from Kings Cross take only 2 hours and you can get there and back for £50 or less. Check out Trainline.com and similar websites. Of course, coming in from Birmingham, Sheffield, Manchester, Newcastle etc is even quicker and cheaper (except maybe Brum, for reasons I cannot fathom) Even Edinburgh is less than 3 hours away.

SO you are not a UKOUG member – You can still come, and still come for free as I said – well, sort of. The cost of a SIG for a non-member is £170 plus VAT, which is pretty cheap for a whole-day event full of technical content and an absolute steal for a 5-stream mini-conference. But if you become a Bronze member of the UKOUG for five pounds less, i.e. £165, you get a SIG place – so you can come to the Northern Technology summit. The UKOUG have waived the usual joining fee of £50 to ensure it is cheaper to become a bronze member than simply pay for this event. And, if you become a higher level member, (silver, gold, platinum) the UKOUG will still waive the joining fee. You can see full details of the offer here

As well as the excellent agenda we will be having some fun. We are having a meet-up the night before in Leeds, at Foley’s Tap House where we have reserved an area. This is one of my favourite pubs in Leeds, I seem to end up in it for a pint or two whenever I visit the city. There are already over half a dozen of us going and I’ll buy a round. The park plaza hotel is just next to the latest shopping centre in Leeds. If you have never visited the city before, or did so a long time ago, it’s become a very vibrant city centre over the last 10 years or so. I suspect after the event some of us will end up in the Scarborough hotel opposite the train station before we wander home.

So, sign up and get yourself over to a whole-day, 5-stream conference full of both the official information from Oracle on 10 topics and end-user/partner opinions on 25 more.

Friday Philosophy – If I Was a Computer, I Might Be An IBM System 360 April 20, 2018

Posted by mwidlake in Friday Philosophy, Private Life, working.
Tags: ,
4 comments

So today I turn 50. I spent a few minutes looking up what your typical computer looked like then and I decided the IBM System/360 was about right. It was a business machine. Personal computers did not exist then as, well, it was almost the dark ages…

IBM system/360, phot by Dave Ross

{Note, it has been pointed out to me that I should say “If I were a computer”. Seems that even at my age I still have things still to learn properly… I’ll leave it as is to remind myself…}.

Technology changes and we who work with it change. With tech, after a while any individual part (say a specific computer) becomes obsolete and we throw it away. The technology itself changes and we stop using the parts that are superceeded. I don’t remember the last time I used any sort of floppy disc or a Zip Drive. Ironically we still often use a floppy disc icon to identify the Save button.

But us? Do we who work with I.T. become obsolete? Yes. We do so when we stop changing with the times (or “stop working”, but this is not an “I’m old and considering my mortality” type post, you will be relieved to know). I think that if you lose your passion to keep learning something new in computing and/or programming, it’s time to move out of the arena; as, worryingly soon, you are going to become like those old systems that never get updates and you know will be thrown out if they develop a serious flaw or just become too expensive to keep on the payroll – err, I mean plugged in.

I nearly lost interest about 8,10 years ago. I think it was partly that I found myself doing the same things over & over again and having the same stupid arguments (sorry, “discussions”) about how not doing things correctly was going to just make everyone’s life harder in the long run. I don’t mean doing things the same, I mean doing the things that make a good system – ensuring it fits the business need, that it is tested before it gets released, and you do this crazy thing called design. This time it was not that I needed to alter along with the tech, I needed to alter myself a little. I finally realised that, although it was getting worse, the I.T. world has always been a bit like that and part of the trick to this business is simply walking away from places that are too bad and looking for those who are a bit better. I’m lucky to be able to do that moving about (don’t get me wrong, I did have to put effort into it and I think that is where some people go wrong, they seem to almost expect an external agent to make things better for them) but then I’m 50 and still in the business. I’ve seen lots of people simply leave the industry when they could not affect that change.

However, doing a bit of the introverted-navel-gazing that comes with Significant Birthdays, I find it interesting that at 20, 25, 30, 35,… 42 (very significant that one) things have always been changing for me.

When I was born, computers filled a large room. And were yellow.

At 20 I was studying Genetics & Zoology at college and thought I would be a lab scientist. A career in I.T. was not even a consideration.
By 25 I’d taken up computing and I had fallen into this company called Oracle and I reckoned I would be with them for a good while, building systems with Forms, ReportWriter. PL/SQL and whatever came next. Oracle would not last for ever…
When I was 30 I was self employed, touting my services to various companies and mostly doing systems design and performance work.
Come 35 and I was back full-time employed (that was a surprise) working in science organisation (even more of a surprise) using my degree to some, well, degree (an utter surprise). And presenting at Oracle user group conferences.
At 40 I was self-employed again, but now totally focused on performance and and Oracle RDBMS Subject Matter Expert (someone who knows a bit about most of it and most of a bit of it).
42. 42 is a great age. You are the answer to everything…
At 45 I was retired. Except when I was not. OK, I had become a Consultant, doing short jobs for different clients. And doing all this User Group stuff. Me! Antisocial, miserable, slightly-autistic me!
Now at 50, I have to confess I am not keeping on top of the technical details of my chosen sphere the way I probably should, if my career is still in this area. But I’m not doing bad and my “job” is now even more as a presenter and a member of the User Group community. I need new skills for that.

So it keeps changing. Sometimes I chose the change and sometimes changes just dropped on me. But I’ll look at the options as they come up. And if no options are coming up and I am not happy in my job, I go look for options. I won’t say I always choose the best option but, heck, it’s worked OK so far.

I wonder what I’ll be doing at 55 and 60? I just hope I am not stuck in a museum with a “do not touch” sign next to me, like all the remaining IBM System/360s

I’m Proud to now be President Elect of the UK Oracle User Group March 23, 2018

Posted by mwidlake in UKOUG, User Groups.
Tags: ,
3 comments

At the start of this week, voting for the 2 new UKOUG board members was closed and the votes were counted. Tuesday Morning, I received a call from Carl Dudley, the chair of their appointments committee, and was informed there had been more “Yes” votes than “No” votes for me – So I am now President Elect of the UK Oracle User Group!

It was a relief to know I’d received the approval of the majority of people who had voted for the new president – I was pretty certain that I’d win, given how many words of support I had received, but there is always that doubt… I was curious as to how close the vote was, but Carl was very professional and would give me no clues.

I’d like to thank everyone who voted for me, and also all the people with the Oracle community who showed support on social media for me. I should also mention that my wife, Sue, did not just say “oh go on, if you must” but encouraged me to put my hat in the ring.

I should make one thing clear – I am not yet President, I am President Elect. I’m “President-in-waiting”. I’ll be shadowing the current President, Paul Fitton, until his term ends in one year. This gives time for me to take over the various contacts and communication channels and learn what is involved in the role. I do not have a vote on the board until I take over from Paul, but I do get involved and fill in for duties when Paul is not available. I’m not sure exactly what this entails yet!

I’m pleased to say that Neil Chandler was voted in as the new Member Advocate in the same election, so he will also be joining in with all the fun.

The role of President is a serious one and it involves representing the whole of the user group, not just the tech side that I have historically been involved in. I’m going to have to expand my horizons a little.

Does this new responsibility mean I’ll stop being the relaxed, flippant person I sometimes (usually?) am? Well, yes, to some degree. You alter your behaviour to suit the situation you are in, just as most of us do when we are filling a managerial role or dealing with important work issues.

But I think we should never take ourselves too seriously. So, just for a little light humour… This is how some of my friends reacted to me becoming President Elect of the UKOUG. They congratulated me but also did the traditional “Make the enormous guys stand behind Martin and take a photo to tweet…” thing.

What you don’t get from the photo is that Neil was shouting “Viva El Presidente!” exactly as (for those who remember it) Vivian does in “The Young Ones”.

Thanks, Neil.

But my favourite shot is this one – Ilmar Kerm and Klaas-Jan Jongsma offering to be my “heavy Squad”. I’m sure I won’t need one and, besides, they are both too nice for the role.

ScreenHunter_334 Mar. 24 13.43

Friday Philosophy – Not My Cup Of Tea March 16, 2018

Posted by mwidlake in ethics, Friday Philosophy, Perceptions.
Tags: , ,
3 comments

A few days ago I tweeted a copy of a “motivational poster”. I don’t normally like motivational posters but this one struck a chord with me as it was a lesson I took a long time to learn. Not everyone will be your cup of tea. Which is a very British (I think) way of saying you don’t like something or someone. “Ohh, that Mavis, she’s just not my cup of tea!”.

Over time my opinion of people and how we all get on have changed.

Not everyone in this world is going to like you. No matter what you do, how reasonable you are, the number of olive branches you offer, some people are just never going to like you. That bit I learnt early at school when Nigel was leading the bullies. Each one of them I could manage on their own, negotiate some peace, but not Nigel. Over time I realised it’s just a reality: some people will not like you and there is no discernible reason. And it can be a very passive dislike – no anger, no hate, just a total absence of like rather than actual dislike I guess.

You are not going to like everyone. This is not a case of you needing to be a better person or some sort of saint, I don’t think I’ve met anyone yet who likes everyone. Some people respect everyone, have time for everyone, will try to think the best of everyone. But not like. I did not like Nigel, for good reason, but there are other people who I do not like who have never done anything bad to me. Again, it is not that I dislike them, I’m just indifferent or mildly irritated by them. For many years through my 20’s and 30’s I thought I should try and alter that – but I failed. I just don’t like some people.

It’s OK and Normal that some people you will just not get on with. I struggled with that for years. Surely, so long as someone is not psychotic or just simply a bad person, bridges can be built? When I started thinking more about teams, managing people, getting people to work together, I did learn more about how to identify the reasons for bad feeling and resolve them. I had more success at it than I thought I would, and acknowledging that half the time it was my fault not theirs helped. But with some people, no it was not happening, we did not like each other. But things could usually be improved – if not bridge-building, then at least waving politely at each other from our respective sides of the river.

That led me to what I felt was the final part of being someone’s cup of tea. I like tea with sugar and milk, some people think that is disgusting and, anyway, it should be green tea. They are wrong. But it does not matter. If they want a cup of tea, I’ll make them a cup of green tea.

Not getting on with someone is not a problem – so long as you don’t MAKE it a problem. If you don’t like someone there is no need for you to make them “The Enemy”. If you do, well you just made an enemy and that person is likely to be obstructive to you, retaliate and generally make life less nice. And that will spill over to others around you. Oh, I’m not a saint, I try to apply this rule to myself but I don’t always pull it off.

I’m not wise enough to know all the reasons we do not all get on but I think sometimes the reasons are just not important. I might remind you of someone you really detest, I might find the way you keep singing bits of “The Smiths” an affront to good musical taste. And even if there are reasons that seem good, the less antagonistic you can keep it, the better. And I repeat, sometimes it is not active dislike, it is just an absence of like.

The context is also a factor in this. In a social situation, if you do not get on with someone it’s easiest just to avoid them. And we all do this. But you don’t need to try and make everyone else dislike them. In a work or family situation it can be harder as you have to deal with people you don’t like. I think that acknowledging that you just don’t get on and it happens, no blame either side, makes it easy to be equitable about it.

It seems to me that the people I do not get on with have a different life philosophy to me and the larger the difference, the larger the chance of dislike. I don’t like Right Wing conservatives. I don’t like selfish people. To them I am probably sanctimonious, deluded and borderline communist – which is not fair, I AM communist. In that I think our community is the most important thing about being human. But I also use humour a lot and that really annoys some people as I use it in inappropriate settings or they do not think I am taking issues seriously enough or professionally enough. And they may be right.

So, all very good and very grown-up of me so far. Now for my final point.

Some people are just not nice. We’ve all met them, the person who no one can get on with as they are so self-opinionated, bullying, harsh, self-serving. And any attempt to build bridges with them is either seen as weakness or used as a way to get you on-side before they hang you out to dry.

Is this just an extreme case of not being your cup of tea? Well, maybe, but I don’t think that.

Some people are just not worth the trouble. And some people are trouble.

It comes back to Condoning Bad Behaviour. I actually decided that some people are not nice (and probably never will be) long before I came to the conclusion about it being OK to not get on and trying to not make it a problem. At that point I wondered if that would be the whole solution, just accept that you do not get on and let it lie.

But I kept hitting up against the occasional person who, no matter how much you tried to not make it a problem, they did make it a problem. And they continued to bully, oppress, be antagonistic – and they got away with it. With these people I still try and walk away. And if I cannot? I don’t condone bad behaviour. I’ll tell them what I think and, if I can, I’ll stand against them. It is not easy though as they are like Nigel. They surround themselves with similar people or stooges they can direct. Now that is a totally different issue.

I think it’s right to try and be friends with everyone.
But you won’t be friends with everyone so strive for peace with the others.
And if peace is difficult, distance should work.
But I will not condone bad behaviour, OK?

Some people need to see me using this cup

Friday Philosophy – Explaining How Performance Tuning Is Not Magic? March 9, 2018

Posted by mwidlake in Friday Philosophy, performance, SQL.
Tags: , , , ,
8 comments

Solving performance issues is not magic. Oh, I’m not saying it is always easy and I am not saying that you do not need both a lot of knowledge and also creativity. But it is not a dark art, at least not on Oracle systems where we have a wealth of tools and instrumentation to help us. But it can feel like that, especially when you lack experience of systematically solving performance issues.

SQL statement be fast!

I recently spent a couple of days with a client discussing how you solve performance issues and I am preparing a talk on exactly that for the up-coming OUG Ireland conference on the 22nd-23rd March. The guys I was talking to at the client are very, very capable production DBAs, but traditionally the developers at their site initially look at any performance issues. If they think it is the database but not something they can fix, they throw it over the fence at the DBAs. It’s not always the database of course and, if it was a simple fix (missing index, obviouosly inefficient query), then the developers fixed it. So these two guys are expected to only solve the more difficult issues. That’s not really fair as, if you are not practising on the simple problems how are you supposed to gain the experience and confidence to solve the harder ones?

Anyway, a part of the discussion was about Explain Plans. What does the COST mean in the plan, they asked? They saw it as some number that in an undefined way gave an indication of how expensive the step in the plan was, but they could not link it back to anything solid that made sense to them. It looked like a magically produced number that was sometimes very, very wrong. Like most (good) technical people, they want to know the details of things and how they work, they don’t want to simple accept something as working.

So I took them through some simple examples of plans and of how the COST is just a result of simple maths estimating the number of IOs needed to satisfy the step.

I won’t go into the full details here but have a look at the below, this is how I started:

I explained how you read “down” the slope of plan to the end (so step 3) and then worked back up the slope. So the first thing Oracle does is the index range scan. I showed them the BLEVEL of the index, the number of blocks per indexed value and why Oracle knew it would, on average, need 3 IOs to get the leaf block entries for the provided “DOB=to_date(’08-OCT-1934′,’DD-MON-YYYY’)”. Each DOB matched, on average, 20 rows. So the cost of step 3 was passed up to the step 2 of accessing the table rows. This would be done 20 times so the cost was 20+3. 23.

OK, they could accept that, it made sense. So let’s extend it…

I took the original query against PERSON for a given DOB and now joined it to a second table PERSON_NAME. Why is not important, it’s just a demonstration of a simple table join:

Now I explained that as you work “back up the slope of the plan” from the first, most indented step (so from step 5 to 4 to 3) at 3 there is a nested loop joining the rows passed to step 4 to the step in line below it, i.e. step 6. They had already seen steps 5 and 4 in our first example, Oracle is expecting to get 20 rows for a cost of 23. Look at line 4. And for each of those 20 rows, it will do a range scan of the index in step 6 and for each row it finds in the index, collect rows from the joined table in step 7.

So for each of the 20 original rows it does a scan of an index on the joined table for a cost of 2 (I showed the stats to them how this cost is calculated) and expects on average to find 5 matching rows so it needs to do 5 IOs to the PERSON_NAME to get those rows. Add that together and that cost of 7 is done 20 times. 7*20 is 140, plus the 23 from the orginal scan of the PERSON table, the whole COST is… 163.

Light bulbs came on and they got it! My job here is done.

But it was not. I then went on to explain how it is now hard to get such a simple example. This one is, I think, from an early version of Oracle 11. I told them how histograms on a column will make the estimated cardinality (number of records per given value for a column) more accurate, but harder to work out. I showed them how the cost of a unique index scan is reduced by 1. I explained how Oracle was blind to the correlation of column values unless you took steps to tell the optimiser about it (you know, how for a given value of car manufacturer there will be only a few values of car model, the two values are related)…

Worry was creeping back into their faces. “so it is simple mathematics – but the rules are complex? It’s complex simple mathematics?!?” Err, yes. And with 11 and 12 Oracle will use various methods to spot when the simple, complex mathematics does not match reality and will swap plans as a result…

I think I lost them at that point. Especially when they asked about the SQL Profiles and how they modified Costs… Baselines controlling how plans are used… Bind variables…

That is a real problem with Oracle Performance tuning now. Even something as simple as COST is based on a lot of rules, factors and clever tricks. And they are not the only things controlling which plan is executed anymore.

So I took a step back.

I told them to accept that the COST is really, honestly based on maths, and the expected number of ROWS is too. But the actual, specific values could be hard to totally justify. And it is when the estimated COST and (possibly more importantly) the estimated ROWS goes wrong you have problems. So look out for ROWS of 1 (or at least very low) in a plan for a statement that takes more than a few milliseconds. And for very, very large COSTS/ROWS in the millions or more. And what really helps id if you get the ACTUAL ROWS as opposed to the ESTIMATED RIWS. Where there is a significant difference, concentrate your focus there. Of course, getting the ACTUAL ROWS is not always easy and is for a later (and properly technical) post.

So, they asked, if they could not get the actual ROWS and there were no 1’s or millions’s in the plan ROWS/COSTS? How did they know where to concentrate? “Well, you just get a feel for it… do the costs feel reasonable?…”

Damn – I’m not sure I really delivered on my aim of proving Performance Tuning is science and not magic.

Any pointers anyone?

(Update – Vbarun made a comment that made me realise I had messed up the end of this post, I was talking about estimated ROWS and still had the words COST there. Now fixed. And the other thing I was hoping someone was going to suggest as a pointer was – to split the query down to individual tables & two-table joins and *check* how many rows you get back with the where predicates being used. It takes some time but it shows you where the estimates are going wrong.)