Category Archives: Companies

Three years with Bravinat Holdings

LinkedIn has announced it a little bit earlier, but my actual 3-year anniversary was yesterday, April 18.  Three years ago I wrote in my journal:

Real people. The calm state of mind I haven’t had for so long, I can’t even remember. Meaningful conversations. I can talk about important things, and people listen My opinion matters. I am happy.

Three years ago I can repeat all of the above.

 

 

 

Advertisements

Leave a comment

Filed under Companies, events, People

Braviant Holdings talks at 2Q PG Conf

Better later, than never: by popular demand here are the videos of both talks from Braviant Holdings, presented at 2Q  PG Conf. Enjoy 🙂


 

Leave a comment

Filed under Companies, events, talks

How to make optimization a priority

One of my usual/perennial rants is that many managers would tell you something like “business needs this functionality, we will optimize later”. And we all know what happens “later” – nothing. The most important thing I love about working at Braviant is that the tech team shares the same values, since I know quite well how often this is not the case, I appreciate it immensely. However, business might still think differently, and what’s good for business… well, that’s what we should do, since we all need to make money.

… After one of our recent releases our DBA noticed that one of the application functions slowed down significantly, specifically instead of executing for about 3 sec, it started to execute for 7-8 seconds. And immediately we all were alarmed. You might wonder – why? The 7 sec execution time is a good time, perfectly acceptable for the end users, especially because this function is executed not so often. Well… Didn’t I just say our tech team agree on priorities? We ll, we believe that the good user experience includes fast response time, and thereby our applications time out on 10 sec. And if a function’s average execution time is over 7 sec, the peak time can easily reach 10 sec!

I had to make a miracle… the sooner the better. Because, as you can imagine, I usually do not write bad queries. Well, most of the time:). Which meant I had to find some unusual optimization.

To tell the truth, I knew right away, why this function starter to perform slower. We added one new field to the distributed query (which was required by business stakeholders, or cause!), and to select this additional field I needed to join one more remote table. And all of a sudden, although all required indexes were on place, the optimizer would choose the full table scan. Of a huge table!

Not much I can do to explain the optimizer that they are wrong (are optimizers male or female, what do you think? 🙂 – they are male in my mother tongue, which explains a lot – they are always sure they know better how to make things work!). So I had to find a way to put this optimizer in such a situation, that there won’t be any way other than to utilize the indexes which were out there. First I thought it will be relatively easy – in all previous cases when a similar issue would occur, I would create a view on the remote node – but this time it didn’t work. I’ve conducted several experiments, and came to the conclusion that the only way to make it work is to implement one new technology, which I’ve played with a couple of months ago, but never implemented in production.

So…
– testing
– making sure it does what I want
– mapping through the foreign data wrapper and making sure it wors
– creating a new version of the function
– testing in lower environments
– QA
– implementing on staging and QA on both our products
– in production on both products

Total execution time of the process described above: around 3 hours.

Result: everybody happy, we’ve got one more groundbreaking technology, which I can guarantee nobody in the world is using (because documentation clearly says it’s impossible:)), and which we will be able to use in many other cases to reduce execution time. And all because we have our priorities right!

P.S. Are you anxious to find out what is this technology? Come to 2Q PgConf in Chicago this December!

4 Comments

Filed under Companies, Data management, Development and testing, SQL

The 2Q PGCONF program just announced!

Hi Chicago! I am extremely excited to share with you the program of the upcoming 2Q PGCONF! After the last year’s success the organizers decided to add a whole day f training to the conference.

So, here is what you need to know: the training schedule is here. The talks schedule is here. Exciting news for my company – two talks from Braviant Holdings were accepted! I think it tells a lot about how our company foster innovation and invest in employees professional development.

And now the important dates to remember: the training is on Tue December 4, and the talks are on Wed December 5, and October 14 is the last day of the early bird registration!!!

And finally the last thing. The Chicago PostgreSQL User Group meetup will be next week, Wed Oct 17, featuring Shaun Thomas. Please come and have a sneak peek of the conference!

Leave a comment

Filed under Companies, events, news, talks

New database position (s) at Braviant Holdings

A number of people have asked me, when we will be hiring again. My answer is that as a company, we are hiring all the time. And right now there are several opened positions, including several IT position. But now there is also one more database position opened, so if you missed it last time – here is your chance:).

The job posting is here, and a position description is the same as six months ago. And I am still looking for the same set of skills, and whatever was mentioned in this blog post is still applicable.

I can’t stress more – please read a job description carefully, when I say I need some skill, I really mean it!

To answer other questions I’ve got recently: yes, there will be more database positions next year, but I am not sure when and what positions specifically. And no, I can’t take interns right now, because neither me, nor my team has resources to train people who do not have relevant experience and will be likely gone in a couple of months.

My last hiring period was very long and stressful, but at the end we were able to hire great people, so my outlook as of now is pretty optimistic.

Leave a comment

Filed under Companies

June Chicago PUG

Last week we have a first meetup of Chicago PUG in our new office. From my previous experience moving meetup to a new address always incur some casualties, so I was really glad that people have come! Our new office is not only a better workplace that the previous one, but it is definitely a better place to host meetups.

I had a very busy time for the several weeks before the meetup, and a move itself is quite a stressful experience, so in the morning of the day of meetup I’ve realized I absolutely didn’t think through any of the details. Turned out – I didn’t have to! There was no need to move the furniture as in the previous office, our new kitchen provides a way better setup for people to talk before the start of the meetup, everything was ready for the presentation.

As for the presentation, Chad Slaughter presented a talk “Postgres development methods: pgtap & FT testing”. Which was really perfect for us, because I am trying really hard to popularize the pgTAP tests and a concept of unit tests for the database in general. I do not know why it is so hard, but although pgTAP is a very well established framework, people just like to create problems for themselves and not to maintain the tests for any database work. Either because they have no time, or because tests are boring, or most likely because they just do not understand their importance. So I was really happy that somebody except me was preaching the same thing.

Anyway, I just feel really good about how this meetup went, and hope to maintain the same quality of professional interaction and networking. For many years to come!

Leave a comment

Filed under Companies, events, talks, Workplace

SIGMOD 2018

The SIGMOD 2018 conference in Houston TX is approaching it’s end, and it’s the first time a had a moment to sit down and write a paragraph about it. All I can say – I am really happy to be here.

I was questioning whether my participation in the conference will be productive, when I do not have a paper to present, and also whether it is a wise idea to go away for a week when I am still a one person shop, and me being at the conference effectively means a pause in all database-related development.  But now I am really glad I did.

There were a number of talks which made clear connections between theory and practice and reminded me one more time that there can be a very fast path from an idea to the production implementation, when you know what exactly you need.   As they say, the theory without practice is fruitless, the practice without theory is blind. A number of talks addressed very specific problems I was trying to resolve, and all I wanted to do was just to say thank you to the people who’ve made my life easier.

Hopefully there will be more to follow, and for now I just want to thank my company, Braviant Holdings for the support of employees professional development and for understanding it’s importance.

img_6751

Leave a comment

Filed under Companies, events