
Gordan Bobic
Software Developer
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.
Portfolio
Experience
SQL - 20 yearsMySQL DBA - 20 yearsPostgreSQL - 20 yearsMySQL - 20 yearsLinux - 20 yearsMariaDB - 10 yearsStored Procedure - 10 yearsAmazon RDS - 6 yearsAvailability
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
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).
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.
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.
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.
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.
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.
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.
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.
ISP Developer
BSkyB
- Worked on improving and optimising performance of the firmware update system for broadband devices.
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%).
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Software Developer
InterClubNet
- Worked on the development of a sports management system for the clients' foreign customers.
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.
Software Developer
Selected Financial Investments
- Developed software for heavily customizable news data aggregation.
- Built software for stock market data aggregation.
Experience
RedSleeve Linux
https://github.com/redsleeve-linuxROLE: Founder
ZFS FUSE
https://github.com/gordan-bobic/zfs-fuseI 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/shatteredsiliconROLE: 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
Bachelor of Science (BSc) Degree in Computer Science
Royal Holloway, University of London - Egham, Surrey, England
Certifications
Certified MySQL Developer
Oracle
Certified MySQL Database Administrator
Oracle