Category Archives: Companies

I am a Winner!!!

Several weeks ago I was selected as one five finalists for the Illinois Technology Association “Technologist of the Year” award. The winner was determined 50% by popular vote and 50% by the selection committee. 

Tonight was an award night – and I was announced a winner!!! There will be official pictures and videos, but one, for now, I want to share this video of me accepting the award.

For me, this award first and foremost goes to Postgres, the most advanced Object-Relational database. All the new technologies which we implemented at Braviant Holdings are based on Postgres, with no third-party products.  

Also, I am immensely thankful for the support of Braviant Holdings leadership team. I won’t be able to accomplish all I’ve accomplished without that. 

Advertisements

Leave a comment

Filed under Companies, events, news, People

I am Finally Hiring!

Hi everybody who was waiting for that moment! I am happy to report that I have a database position! It will be on LinkedIn, I promise, but meanwhile, check it out at our company website, the job description is here.

Since last time, my requirements did not change. I still want to see a strong DB background, the knowledge of the theory (and what’s wrong with it:)), and yes, I am still asking, what’s a primary key:).

If hired, you will have an opportunity to learn unique technologies, superb optimization techniques and will work with databases the way you never worked before 🙂

Leave a comment

Filed under Companies, news

My Team Anniversary

Exactly one year ago, my team became three times bigger. So today is not only the first anniversary for my co-workers Sudheer and Tejas but also the first anniversary of the Braviant database team.

Thank you guys for doing an outstanding job!

img_3088

2 Comments

Filed under Companies, People, Team and teamwork

My talk: What is a database?

I’ve presented this talk a week ago as a part of “Braviant Talks”, where people from different departments of our company talk about what their department is doing. It intended to be as non-technical as possible, which I think was achieved, at least to some extent, and … I just like how it turned out:). Enjoy 🙂

Leave a comment

Filed under Companies, events, talks

Three years with Braviant 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 later I can repeat all of the above.

 

 

 

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