Tag Archives: PostgreSQL

Open Source? We have been here before… right!


Since over half a year I have made an adjustment in my course… nothing too dramatic, but still it has had some impact.

I have chosen the path of the more pure technique again. Not in a sense that I don’t manage anymore, though I don’t, but that’s more of a side effect
I have chosen the path of the more pure technique in a sense that the change from Closed Source software to Open Source software allows you to actually work with and solve things by creating solutions rather than trying to figure out how something, someone created for some issue, can reconfigured so it resembles a solution for your actual problem.

Okay… okay… this of course is exaggerated, but it serves to help think about the issue.

No one ever got fired for buying Oracle” is one of the phrases I have heard numerous times over the past period.
Well, no… but it’s also no free pass to –sorry for the phrase– waste money on technology you either never going to use.

Over 80% of the installed base uses less than
20% of the technology they are paying for!

I have followed a number of the brightest mind in the industry (our industry, the database industry) for many years investing vast amounts of time in reverse-engineering pieces of technology that have been built, in order to explain certain behavior.
Of course, very necessary, no argument there, but wouldn’t it be so much more cool if this overwhelming amount of brain-power could be used to actually create stuff??

Open Source in stead of Closed Source…
The answer, I think!

Sure, I am raised with vendor created solutions, that was the default MO when I got trained. VMS, MS-DOS, HP-UX… (are you _that_ old, yes, I am _that_ old) and a number of applications that did the work.
Well, those days are gone… operating systems in data centers have (nearly) all been replaced by Linux distribution installs. And I mean like, as good as all of them.

Sufficiently stable, cost effective and they get the job done.

Next wave?
Databases!

With the current explosive growth of Open Source databases, brace yourselves. Or rather, embrace!

All the exact same arguments that are there for Operating Systems apply. There is no difference, and you, the industry, chose! And you will choose this again. Simply because “it is good enough”, it is much more cost effective and it gets the job done.
The extensibility, the agility of Open Source database software gives you the ability to let your database, be it OLTP, OLAP, Big Data, Polyglot, or whatever we come up with, do what needs to be done.
The current leader of the Open Source relational database systems is PostgreSQL. A platform developed in over 30 years to become an absolutely stable data processing engine for a fraction of the costs of the Closed Source players in this market.

Conclusion:

  1. We have seen wave 1 of Open Source where we all choose to replace the operating system standard with Linux.
  2. We will now see wave 2 of Open Source where we will choose to replace the database management system standard with… PostgreSQL (or in specific cases one of the other, more specialized systems, depending on the need).
Hope this helps!


Birth of a user group conference…

Or, how post-conference blues hit.

Seeding

You don’t actually get to witness these kinds of things to often. Yes, there was the birth of POUG conference, the passionate work of Kamil Stawiarski and the people he gathered around him. He did an awesome job and pulled it off.
Why then is this so special? Well, first of all because it is my native conference. People that have contributed for many years, working closely together with new members to create something new. I think it is kinda special.
Richard Olrichs, Ise Douwes, Luc Bors and Bart van de Laar formed the team that pulled it of! Kudos to them.

Work started already end of 2016… on the notion that this conference was being organized, there was a small Twitter bombardment to recruit as many of the interesting international speakers to come and join us. This helped create a fabulous agenda, covering 81 (!!) sessions and 3 keynotes over 2 days in the spectacular setting of “De Rijtuigenloods” in Amersfoort.

Importance for NL

We have (finally) done it! The Netherlands have experienced their very first Full Stack Oracle Conference ever! I have said this many times before, and I will say this probably many times again, this is so very important for the spread of knowledge, the exchange of experiences and cross-pollination between countries!
We have never done this before… We have APEX World, which is, of course, super important! And we have SIGs, which are very important for people working within a specialization. All good, all very important! But our business is way to specialized already. If you never take the time to look over your boundaries to what your colleague is doing (for which you don’t have time on a day-to-day basis) you’ll get isolated and miss out on possible great idea’s, changes and inspiration. For this alone, events like these are so important. For a country / region (as we span Benelux) that is so active in IT, it is a nuisance to have to go to either the UK or to Germany to experience a conference like this.

It is _that_ important…

One personal thing… nl.OUG (this is the brand new name for OGh, which also symbolizes a new start to me) focus on talks on (end-) user experience, in effect, partners with end-users coming to share project briefs… Good in itself, but not what I would applaud as main focus. These conferences – to me – are about learning and the best learning comes from professionals sharing either best practices or telling about technical implementations of technique. These stories are obviously always very welcome, but are no main focus…

My personal experiences

— International scene

As an active member of the Oracle community, I tend to know a number of people, spread out over this globe. One of the joys of a general conference is the fact that many of these people also participate. This leads to many happy encounters. With Oren Nakdimon from Israel, to Sandra Flores from Mexico, with Tim Hall, aka. Oracle Base, Maria Colgan & Brendan Tierney and therefor with Chris Saxon, more than 2rds of the Ask TOM-team!! And even many more famous speakers from home and abroad. It was a very special feeling to meet all these beautiful people on my home turf!

— Followed sessions

I didn’t get to follow many sessions, partly because of the many people I met and wanted to catch up with and partly because of, well, other responsibilities…
And perhaps a bit because of the fact that the ratio between serial sessions and parallel sessions was a bit off.
I did get to see:
The keynote by Maria Colgan highlighting the many things you can do with an Oracle database
Investigating the performance of a statement via the SQL Monitor report by Toon Koppelaars, which is always insightful!
Moving Oracle data in real-time – The 3 fundamental principles of Oracle replication by Jakub Sjeba from Dbvisit, which proved to be an excellent basis for my own session, later that day
Blockchain on the Oracle Cloud, the next big thing by Robert van Mölken, who helped me understand the technical side of the Blockchain technology.
It’s a wrap by Lucas Jellema, who did a great job at really zooming out and looking at the bigger picture.

— My sessions

I had the lucky opportunity to present even 2 sessions in Amersfoort.
Migrating your Oracle database with almost zero downtime
and
Comparing PostgreSQL to Oracle

Both sessions were well attended and interactive. I enjoyed it very much and, judging from the reactions and interactions, I guess the attendees too. Thank you for attending!!
Obviously I am happy to see the uptake of PostgreSQL and EDB Postgres in the Benelux. As said with “horses for courses”, Oracle has it’s playing-field, but so does PostgreSQL, and probably bigger than it is today 🙂

And now, the future…

This was 2017, this was the kick-off, the very first one.
With the buzz and with the post-conference blues…

It now is time to look to 2018, start preparing. Gathering lessons learned, inventorise feedback and make plans.
Whatever the outcome, there can only be 1 plan! “nl.OUGTech18″ or “Tech Experience 2018” we need to make sure the messages reaches further and wider.
With over 250 attendees for a first event, we aim for over 500 for the next event. There are more than enough potential participants in our region to pull this of.
The basic structure is there, the first succes is there, let’s do this!!

See you all next year!!
(or hopefully sooner)

Hey JAVA-developer, why don’t you love your database

Why this post?

Partly, this blogpost is a result of a promise to Lukas Eder. Basically my vision adheres quite nicely to the “Thick Database” driven by Bryn Llewellyn and Toon Koppelaars who, understandibly, drive this from an Oracle perspective.
It –more than of course- also nicely fits EnterpriseDB or even vanilla PostgreSQL database landscapes.

There is apparently still so much confusion in the world on the how, why and what of good application development and architecture that I decided to chip in my bit. I think I have a bit of an idea on how this aught to work and I also think it is not a half bad idea, plus a couple of people whom I highly regard, seem to agree with it. So here goes…

Traditionally

Traditionally there is no big love between application developers and their persistence-store. I don’t really know why because I never found the opportunity to do a real inquiry, but I think I have a reasonable understanding.

Basically there is constantly the enormous pressure of delivering new features and functionality. So much even that the basic development work, the more “boring” and “time consuming” things -why pay now, if you can also pay later- get postponed. Things like peer-reviews, (integration) testing, technical design… Basically, more people means more features.
If even these things get too little attention, why would something like an overpriced library-box get more attention? Not to mention these DBA’s you need to pass to even get close(r) to this library-box…

Here are my four reasons why I think
it should deserve a chance!

1. Easier

Plain and simple. It is easier. If you take a structured query language like PL/(pg)SQL, it is basically easy. Founded on the programming language ADA, it is easy to understand and one can quite easily build a number of routines, procedures, packages, functions to let the database chop and glue data and just deliver the results for your application to consume.
It saves you the time of having to (re)write some of this more complex stuff in your application or perhaps even over a several applications.

2. Quicker

As said under the first point: build once, use many times. By creating mechanisms in the database, you get the opportunity to think about the separating data manipulation mechanisms from data representation mechanisms and where you want to put which specific function. Of course, this decision process takes a little extra time in the beginning, but will repay many times over as your projects grows and gains meaningful complexity (is there something like “meaningful complexity”, well, yes…).

Quicker also is in operational response times. Querying a stored procedure will bring agility to your application in a sense that this stored procedure will be much quicker in getting you the answer than if you do this in a distributed (middle-ware) environment. These stored procedures can be accessed through REST-endpoints, giving flexibility and the possibile desired disconnect between the database and the application layer.

3. Cheaper

Powerful, because you are and you remain close to the data. No data transportation overhead, no latency. These kinds of slimming down, mean less requirements to infrastructure and distributed capacities (either hardware or (virtual) “cloud infrastructure”. This slimming down frees up budget which can then be spend on the more meaningful bits and pieces of your application.

4. More consistent

Finally, I think this approach brings more consistency. As you do things near the data it lives on, near the processing power you depend on, you also get single access paths to specific bits of your data, to specific constructs that drive the value of the application you are building. Through this, it does not matter from where you call this service, REST-endpoint, stored procedure, or whatever you call it, you always get the same answer, driving a consistent decision process based on that application.

And if ever something changes, there is also just one place for you to ensure these new requirements are added. Voila, consistency throughout your application landscape, as all that depends on this data-set gets this uniquely updated information.

The magic of working together

There is a lot of misunderstanding between DBA’s and Developers. I have been in both roles at some point and I have seen this happen first hand. One of the things, though, in that force field, I have learned, is the power, the joy and, through this, the magic of working together.
In the end, we all have the same goal, which is furthering our business by being the best at what we do. This means, for a developer, meeting feature request, short development cycles, quick delivery and as much as possible, get it right in one go. For a DBA this means making sure the database stays consistent, performant and available. And, in extension of that, for operations it means that the final product must be easily and quickly deployable to enter into an uneventful and dependable life-cycle.

Bringing together these seemingly conflicting disciplines is fun! By investing a little time in exploring the other disciplines, you will find common drivers, in a sense that everyone want the same thing. By getting over nearly religious initial differences, you will find magic in the combination. You will reach your goals earlier with the bonus that your co-workers will also reach their goals earlier and have a better end result than you dreamt possible.

True JAVA-Champion

Coming from another world, I do not know the requirements for becoming a JAVA-Champion. I imagine it to be not too much different from other recognition programs out there… But…
If you create more features and functions and you are able to run your application with greater concurrency on (way) less platform-power. Thus increasing the RIO on your application, this makes you a true Champion of JAVA and your business!! If you are able to combine this with some magic in your cooperation’s…
Believe me, it is more fun in the end too!

Riga Dev Days 2017, new experiences in many ways.

Riga Dev Days 2017

General

It has been a while since my last blog-post.
One of the reasons is my shift from closed to open source software, databases more specifically. More on that in a later blog-post.

The reason for already mentioning this is this strange hybrid (what a popular word, these days) situation that I am in at the moment.
Thanks to the super enthusiastic, flexible and tenacious organization-team of the Riga Dev Days, I was able to participate.
Happily boarded the Air Baltic flight, I went on my way to Riga!!

Being new at the broader conference scene, I enjoyed being at a mixed source developer conference. Besides the usual suspects – some of which are my best friends – I got to meet many interesting new people.
One of the key phrases of the day is: “the more you learn, the more you realize you know nothing – John Snow…” and it’s true! You never stand to think about it, but the wealth of subjects is just tremendous and the combined knowledge at events like these is down right “Yuge, it’s awesome, tremendous!”

Day one

With a day like this, time flies. Between session (and during sessions) there are discussions, a bit of work and catching up to do.
Still I managed to catch a few sessions, like the one from Michael Hüttermann who made a clear and well rounded case regarding CI/CD in a DevOps world. A nice insight into the effort that goes into what’s behind the proverbial “push of a button”.
Another example was that by Marcos Placona about the many (and very basic) things that you have to keep in mind wen building apps. There is no silver bullet and the best you can achieve is to discourage the hacker so much, they move on. Much like securing your house, do to speak.

The day ended in the medieval basements of Riga, where we had some really good medieval food. Life is good…, well…, it has it’s moments!

Day two

The keynote address by Edson Yanaga, which kicked off day two of the Riga Dev Days, was quite interesting.
Shortening development and deployment cycles and shrinking feature release sets actually helps improving software and deployment quality by creating faster and more accurate feedback loops. By looking at these concept in this way, buzzez like DevOps and Agile actually get some hands and feet. One of the lessons, though, is that doing things this way do not eliminate work or automagically solve various issues for you! It will help in getting predictability and continuity into your software development processes.
A nice eye-opening remark finally, was… “no, I don’t pay you to make something work on your computer, I pay you to make something work on my computer(s)!!”

Another talk I was able to attend was around Blockchains. Something I knew nothing of and was actually quite interested in. Nick Zeeb took us through a very lively and very animated tour of what actually a Blockchain is and what the awesome potential of this technology can be. I was impressed.

With this, the second day draw to and end and therewith also my turn “in the pit”. As this event is held in a movie-theater, every room had a sloped tribune, which was often packed with enthusiastic participants. I had the opportunity to share my thoughts on the comparison between PostgreSQL and Oracle.
The session was very well attended with a lot of questions regarding the possibilities of using these other technologies in scales that were not really considered before. You can find a recording of the actual presentation here as soon as it comes available.

Riga Dev Days was a good conference. I would recommend everyone to either attend or submit an abstract for their event in 2018!!