Gordan Bobic, Developer in Sofia, Bulgaria

Gordan Bobic

Software Developer

Location
Sofia, Bulgaria
Toptal Member Since
June 18, 2020

Gordon is an expert database developer and database administrator (DBA) who has over 20 years of experience with Linux (preference for CentOS/RHEL), databases (MySQL, MariaDB, PostgreSQL), and development in a variety of languages. Besides having multiple years of in-depth experience under his belt, he also has a bachelor's degree in computer science and is certified as a MySQL administrator and developer.

Gordan is available for hire
Hire Gordan

Portfolio

Shutterstock
SQL Triggers, SQL, Amazon Web Services (AWS), KVM, CentOS, ZFS, MariaDB...
Pure360
SQL, VMware ESXi, Perl, Linux, ZFS, Amazon Web Services (AWS), MySQL...
UKCloud
SQL, CentOS, PostgreSQL, Galera Cluster, MariaDB, MySQL, MySQL DBA...

Location

Sofia, Bulgaria

Availability

Part-time

Preferred Environment

Unix, Linux, MySQL, MariaDB, CentOS, Linux RHEL/CentOS, RHEL, Percona, ZFS, MySQL DBA

The most amazing...

...MySQL system I've architected was capable of processing 30 billion records per day.

Work Experience

2018 - 2020

MariaDB Database Administrator (DBA)

Shutterstock
  • Migrated and updated a part of a large database estate (dozens of replica sets, hundreds of servers, hundreds of TBs of data) from bare-metal servers in multiple data centers to AWS and self-hosted KVM.
  • Used ZFS snapshot sending, XtraBackup, and mysqldump for large-scale data migration, depending on what was available and most appropriate for each server.
  • Installed a continuous incremental backup regime with hourly restore granularity using ZFS snapshot sending via sanoid/syncoid.
  • Implemented Percona monitoring and management (PMM).
Technologies: SQL Triggers, SQL, Amazon Web Services (AWS), KVM, CentOS, ZFS, MariaDB, MySQL DBA, MySQL, Performance Optimization, Performance Tuning, Query Optimization, Optimization, Amazon RDS
2014 - 2019

Senior Database Architect

Pure360
  • Redesigned a large MySQL database estate running on RedHat/CentOS Linux.
  • Alleviated concurrency contention bottlenecks in InnoDB, rewrote queries to improve efficiency, and improved indexes.
  • Tuned storage alignment, MySQL, and OS-level configuration and used ZFS to further improve performance and operational features.
  • Delivered performance improvement of 12x (1,200%).
  • Extensively tested the performance impact of moving to different cloud providers including AWS (Xen) and ESXi-based ones.
Technologies: SQL, VMware ESXi, Perl, Linux, ZFS, Amazon Web Services (AWS), MySQL, Performance Optimization, Query Optimization, Performance Tuning, MariaDB, Optimization, Amazon RDS
2016 - 2018

MySQL Database Administrator (DBA)

UKCloud
  • Troubleshot and optimized the database estate consisting of Galera/MariaDB and MySQL server clusters on a large VMware ESXi server estate.
  • Improved the run times of a number of regularly recurring tasks from hours down to minutes.
  • Deployed new high-availability PostgreSQL and MariaDB clusters.
  • Used DevOps methods to improve consistency and reliability.
  • Migrated legacy MariaDB/Ubuntu systems to PostgreSQL/CentOS-based replacements.
Technologies: SQL, CentOS, PostgreSQL, Galera Cluster, MariaDB, MySQL, MySQL DBA, Performance Optimization, Performance Tuning, Query Optimization, Optimization
2017 - 2017

Database Specialist

Investis
  • Delivered performance optimizations in the client's stored procedures on their MySQL RDS databases.
  • Developed existing operations on their PostgreSQL RDS databases.
  • Built overall database performance improvements in the 10x to 50x range compared to original implementations.
Technologies: SQL Triggers, SQL Stored Procedures, SQL, Amazon Web Services (AWS), PostgreSQL, MySQL, Performance Optimization, Performance Tuning, Query Optimization, Optimization, Amazon RDS
2016 - 2016

MySQL Database Administrator (DBA)

Rise Projects
  • Resolved database throughput bottlenecks (AWS, RDS, MySQL).
  • Achieved a 100x (10,000%) increase in database throughput in the first three days with minimal application changes.
  • Reimplemented the gathering of application dashboard statistics to be asynchronous, which alleviated a number of deadlocking hotspots.
Technologies: SQL Triggers, SQL Stored Procedures, SQL, Amazon Web Services (AWS), MySQL, MySQL DBA, Performance Optimization, Performance Tuning, Query Optimization, Optimization, Amazon RDS
2015 - 2016

Data Architect

DVSA
  • Steered, as the database architecture specialist, the database design and implementation delivered by three separate suppliers across four separate projects.
  • Established processes to ensure that the back-end database solutions are maintainable, robust, and capable of performing in line with challenging availability and performance requirements over the long-term lifecycle of the system.
  • Oversaw the migration of databases from the previous cloud service provider to AWS (RDS).
  • Designed an exhaustive audit superstructure using shadow tables and triggers to be attached to the existing database design with minimal changes to both the database and the application stack above it.
Technologies: SQL Triggers, SQL Stored Procedures, SQL, Perl, Amazon Web Services (AWS), MySQL, MySQL DBA, Performance Tuning, Amazon RDS
2013 - 2014

Systems Architect | Administrator

Moorfields Eye Hospital
  • Architected a high availability managed service platform for the OpenEyes project, based on RedHat Enterprise Linux 6/RedSleeve, Linux 6, and VServer.
Technologies: SQL, RHEL, MySQL DBA
2012 - 2013

MySQL Database Engineer

Adfonic
  • Optimized and improved the database infrastructure containing approximately 100 TB of data, based on RedHat Enterprise Linux 6 and MySQL (variants including Percona, MySQL, MariaDB, and MySQL Cluster).
  • Worked with compressed archive databases residing on a GlusterFS storage pool. Automated tasks using Perl and Bash scripts.
  • Implemented a selective, versioned backup system for MySQL database structures.
  • Developed an in-database job scheduler using stored procedures and scheduled events to facilitate parallelization of stored procedures to better leverage multi-core hardware.
  • Designed and implemented a new database ingress solution to boost the data throughput capacity from the old bottleneck of 170,000 transactions/second to several times that figure.
Technologies: SQL Triggers, SQL Stored Procedures, SQL, Percona, MariaDB, MySQL Clustering, MySQL DBA, Performance Optimization, Performance Tuning, Query Optimization, Optimization
2012 - 2012

ISP Developer

BSkyB
  • Worked on improving and optimising performance of the firmware update system for broadband devices.
Technologies: SQL, Perl
2012 - 2012

MySQL Developer and Database Administrator (DBA)

Cube 19
  • Developed stored procedures and optimized the MySQL database performance of the client's business intelligence data warehouse system.
  • Tuned MySQL server and Linux OS; optimized indexes, rewrote queries and implemented materialized views maintained by triggers.
  • Delivered performance improvements of around 24x (2,400%).
Technologies: SQL Triggers, SQL Stored Procedures, SQL, Linux, MySQL, MySQL DBA, Performance Optimization, Performance Tuning, Query Optimization, Optimization
2008 - 2012

Unix Platform Architect

Atos
  • Designed and implemented new systems for the BBC. Projects involved load balancing technologies (Inlab's Balance and BalanceNG and Linux kernel level load balancing using LNLB). The platforms used were Solaris and RedHat Linux.
  • Updated LNLB code to be compatible with later kernels.
  • Resolved a major BBC iPlayer outage and rectified the complex MySQL database problem that caused it.
Technologies: SQL, Perl, Solaris, RHEL, MySQL, MySQL DBA
2011 - 2011

Senior Database Administrator (DBA)

Lumesse
  • Resolved stability issues, improved the performance, and redesigned the server estate to ensure long term supportability of a client's replicated MySQL databases.
  • Resolved a long-term recurring table corruption issue.
  • Improved the performance of the database stack by over 20x (2,000%) on the same hardware and same VMware ESX platform. This enabled the massive reduction in size (and cost) of the MySQL server estate while still providing better performance.
  • Upgraded MySQL servers from 5.0 running on Debian Linux to 5.1 running on RedHat Enterprise Linux 6 with negligible downtime.
Technologies: SQL, VMware ESXi, VMware, RHEL, MySQL, MySQL DBA, Performance Optimization, Performance Tuning, Query Optimization, Optimization
2010 - 2010

MySQL Database Architect

Transactis
  • Optimized MySQL databases to meet the performance requirements in time for the launch of the software product.
  • Tuned the entire application stack including VMware configuration, Solaris and RedHat Linux, NAS MySQL, table structures, queries, and stored procedures.
  • Achieved performance improvements of several orders of magnitude.
Technologies: SQL, VMware ESXi, Solaris, RHEL, MySQL, MySQL DBA, Performance Optimization, Performance Tuning, Query Optimization, Optimization
2010 - 2010

Senior Database Administrator (DBA)

Via Vox
  • Tuned MySQL databases running on Debian Linux systems.
  • Handled the migrations to new hardware.
  • Implemented a redundant fail-over database solution based on block device mirroring (DRBD) and RedHat clustering, with secondary backups using MySQL replication.
Technologies: SQL, DRBD, RHEL, MySQL, MySQL DBA
2009 - 2009

Messaging Engineer

Deutsche Bank
  • Worked in a team of system administrators responsible for the day-to-day running and maintenance of various messaging platforms.
  • Looked after systems running Sendmail, Mailman, Brightmail, and PureMessage spam filtering, PostgreSQL and bespoke messaging solutions on Linux and Solaris (9, 10, zones) with LDAP authentication.
Technologies: SQL, Solaris, Linux, PostgreSQL
2008 - 2009

Systems Engineer

BT Global Services
  • Worked as a part of the team performing day-to-day administration and maintenance of a large Linux and Solaris based service delivery platform running bespoke software.
Technologies: Solaris, Linux
2007 - 2008

Systems Administrator

Griffin Information Systems
  • Built a new email storage system based on RHEL and SAN-based clustered GFS storage with MySQL for metadata storage.
Technologies: SQL, RHEL, MySQL
2007 - 2007

Software Engineer

Solartron Metrology
  • Wrote calibration software for measurement probes in C++.
  • Produced a calibration certificate generation system using Perl, with data stored in MySQL.
Technologies: SQL, C++, Perl, CentOS, MySQL, MySQL DBA
2006 - 2007

Systems Engineer

UK2
  • Resolved a number of performance issues impacting the email system using MySQL clustering for authentication and metadata storage.
  • Introduced the use of virtualization for product testing.
  • Assisted with a large-scale data centre migration.
Technologies: SQL, Xen, Perl, RHEL, MySQL Clustering, MySQL DBA, Performance Optimization, Performance Tuning, Query Optimization
2006 - 2006

Software Developer

Mobile Streams
  • Maintained a MySQL database containing metadata for all of the available downloads.
  • Developed additional interfaces for providing downloads to customers in Perl.
  • Introduced PersistentPerl to improve performance of the HTTP front-end.
Technologies: SQL, Perl, RHEL, MySQL, MySQL DBA
2006 - 2006

Software Developer

Lorien Customer Focus
  • Wrote software for supply chain management for a major car manufacturer.
  • Wrote the software in Perl while preserving the data in a PostgreSQL database.
  • Optimization of queries to meet performance goals.
Technologies: SQL, Perl, RHEL, PostgreSQL, Query Optimization, Optimization
2004 - 2006

Systems Architect

Hanover Park Services
  • Maintained and audited software for the customer's insurance selling platform.
  • Redesigned the system architecture to streamline the server estate and improved availability by introducing hot failover capability between servers.
Technologies: SQL, Xen, Perl, RHEL, PostgreSQL, MySQL, MySQL DBA
2002 - 2004

Software Developer

Billco Group
  • Developed and maintained software for client's internal use.
  • Architected the platform for a new group-wide data and document sharing project, backed by FreeBSD servers running a Coda distributed file system and MySQL backed metadata storage.
Technologies: SQL, Perl, FreeBSD, RHEL, PostgreSQL, MySQL
2002 - 2002

Software Developer

InterClubNet
  • Worked on the development of a sports management system for the clients' foreign customers.
Technologies: SQL, Perl, RHEL, PostgreSQL, MySQL
2001 - 2001

Software Developer

The Real Adventure
  • Improved the reliability of the legacy systems.
  • Resolved and mitigated complex issues surrounding the legacy code's inability to cleanly handle transaction interruptions.
Technologies: SQL, Perl, RHEL, PostgreSQL, MySQL, MySQL DBA
2000 - 2001

Software Developer

Selected Financial Investments
  • Developed software for heavily customizable news data aggregation.
  • Built software for stock market data aggregation.
Technologies: SQL, Perl, RHEL, PostgreSQL, MySQL, MySQL DBA

Experience

RedSleeve Linux

https://github.com/redsleeve-linux
I was the first to put together the RHEL 6 port for armv5tel hardware architecture. I also worked on putting together the CentOS 7 port for the armv5tel. This involved putting together and developing patches for many software packages included in the distribution which didn't build or work on armv5tel out of the box. Over 100 packages in EL6 had to be fixed to make them work. This reduced significantly in EL7 as more upstream developers started paying attention to the ARM port.

ROLE: Founder

ZFS FUSE

https://github.com/gordan-bobic/zfs-fuse
A FUSE-based port of ZFS. It is mainly intended for use on platforms where a native port isn't available such as armv5tel.
I backported support for pool versions 27 and 28 from OpenZFS (ZFSonLinux and Illumos) so zfs-fuse is now at parity with other implementations (OpenZFS and Solaris) in terms of maximum on-disk format that is interoperable with other implementations. This is particularly useful when it comes to attempting data recovery where other implementations cause a kernel crash when importing a pool. I also backported the mount.zfs helper and added support for using zfs-fuse as the root file system.

ROLE: Current Maintainer

PMM 1.x Maintenance

https://github.com/shatteredsilicon
Percona has moved on to PMM 2.x, which, unfortunately, I don't find to be quite as good and stable in some ways as PMM 1.x. Unfortunately, a few bugs have come up in the meantime that I needed fixed, which Percona has shown little interest in. So I maintain a code tree with the appropriate fixes required to keep PMM 1.x current, useful, and operational since I use it in my day-to-day work. Additionally, I maintain PMM Client source and binary RPM packages so that they can be built and used on platforms that Percona does not directly provide binaries for (e.g. aarch64).

ROLE: Maintainer

Skills

Languages

Perl, SQL, Bourne Shell, Stored Procedure, C++, C

Tools

*nux Shells, VMware, KVM/Qemu, RPM, Systemd

Paradigms

Database Design

Platforms

Linux, Linux RHEL/CentOS, Percona, Unix, CentOS, Amazon Web Services (AWS), Solaris, Xen, FreeBSD, KVM, ARM Linux, CentOS 6, Fedora

Storage

MySQL, PostgreSQL, Linux File Systems, MariaDB, SQL Stored Procedures, SQL Triggers, Database Triggers, InnoDB, MyISAM, Databases, DRBD, MySQL Clustering

Other

RHEL, ZFS, Shell Scripting, Triggers, Galera Cluster, MySQL DBA, VMware ESXi, XFS, Relational Database Services (RDS), RPM Packaging, Performance Optimization, Query Optimization, Performance Tuning, Optimization, Computer Science, Amazon RDS

Education

1997 - 2000

Bachelor of Science (BSc) Degree in Computer Science

Royal Holloway, University of London - Egham, Surrey, England

Certifications

OCTOBER 2012 - PRESENT

Certified MySQL Developer

Oracle

OCTOBER 2012 - PRESENT

Certified MySQL Database Administrator

Oracle