Micro-services

Micro-services design is really helping alleviate some problems we experienced with the monolithic model. Implementing micro-services is perhaps one of the greatest ways to improve the producitivity of a software engineering team.

»
Author's profile picture Rakesh Varma on services

High Availability for MongoDB

MongoDB is a no-sql database that is very easy to setup and administer.

»
Author's profile picture Rakesh Varma on mongodb

Java vs Python Performance

It is well known that Python programs tend to run slower compared to Java, C#.net, C++. This post attempts to demonstrate the fact. I have taken a classic CPU bound problem, generate nth prime number, implemented a python solution and java solution based on the same algorithm.

»
Author's profile picture Rakesh Varma on python

Python Global Interpreter Lock

Python uses GIL (Global interpreter lock). GIL ensures that python process can only process 1 instruction at a time, regardless the number of cores that CPU is using. This has been the behavior of the default implementation of python, cPython.

»
Author's profile picture Rakesh Varma on python

Oracle AWR generation using Python

I had to implement a job that involved saving the Oracle performance stats to CSV files on a disk. It was an interesting problem to say the least because speed was a consideration and obviously any technology could be choosen. But I choose python, mainly because python (along with most common libraries) comes automatically shipped on most commercial linux servers.

»
Author's profile picture Rakesh Varma on python

Oracle Cascade Delete - Always better than explicit child table deletes

Throughout all applications, there are many areas where we enforce basic referential integrity, but various applications handle differently the scenarios when it comes to deleting the child records in the event of the parent record delete. Oracle, like many other databases, offers referential integrity with on delete cascade option. When child tables are created with foreign keys that have the ‘on delete cascade’ option, then deletion of parent record will automatically delete the records in all child tables. The other option to delete the child table records is to, explicitly delete the records in all child tables. This article discusses the POC of both approaches. Oracle run time stats have been gathered for both approaches. If you want to try please use sqlplus.

POC Sample (Cascade Delete vs manual deletion of child table records)
»
Author's profile picture Rakesh Varma on oracle

Create blog in bitbucket using jekyll

Jekyll is a great way to quickly build a blog site. I was looking for easier ways to setup a blog on bitbucket and stumbled upon Jekyll.

»
Author's profile picture Rakesh Varma on jekyll