Successfully reported this slideshow.
Your SlideShare is downloading. ×

Polyglot Persistence Utilizing Open Source Databases as a Swiss Pocket Knife

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Upcoming SlideShare
LNUG - A year with AWS
LNUG - A year with AWS
Loading in …3
×

Check these out next

1 of 40 Ad

Polyglot Persistence Utilizing Open Source Databases as a Swiss Pocket Knife

Download to read offline

Art Van Scheppingen - vidaXL & Bart Oles - Severalnines AB

Over the past few years, VidaXL has become a European market leader in the online retail of slow moving consumer goods. When a company achieved over 50% year over year growth for the past 9 years, there is hardly enough time to overhaul existing systems. This means existing systems will be stretched to the maximum of their capabilities, and often additional performance will be gained by utilizing a large variety of datastores.

Polyglot persistence reigns in rapidly growing environments and the traditional one-size-fits-all strategy of monoglots is over.

VidaXL has a broad landscape of datastores, ranging from traditional SQL data stores, like MySQL or PostgreSQL alongside more recent load balancing technologies such as ProxySQL, to document stores like MongoDB and search engines such as SOLR and Elasticsearch.

Art Van Scheppingen - vidaXL & Bart Oles - Severalnines AB

Over the past few years, VidaXL has become a European market leader in the online retail of slow moving consumer goods. When a company achieved over 50% year over year growth for the past 9 years, there is hardly enough time to overhaul existing systems. This means existing systems will be stretched to the maximum of their capabilities, and often additional performance will be gained by utilizing a large variety of datastores.

Polyglot persistence reigns in rapidly growing environments and the traditional one-size-fits-all strategy of monoglots is over.

VidaXL has a broad landscape of datastores, ranging from traditional SQL data stores, like MySQL or PostgreSQL alongside more recent load balancing technologies such as ProxySQL, to document stores like MongoDB and search engines such as SOLR and Elasticsearch.

Advertisement
Advertisement

More Related Content

Slideshows for you (20)

Similar to Polyglot Persistence Utilizing Open Source Databases as a Swiss Pocket Knife (20)

Advertisement

More from Severalnines (20)

Advertisement

Polyglot Persistence Utilizing Open Source Databases as a Swiss Pocket Knife

  1. 1. Art van Scheppingen - Senior (No)SQL DBA @ VidaXL Bart Oleś - Senior Support Engineer @ Severalnines Polyglot persistence: utilizing open source databases as a Swiss pocket knife
  2. 2. Who are we?
  3. 3. VidaXL Company Stats • Online retailer in (mostly) slow moving goods • Founded 2008 • 350M turnover, 40% growth yearly • 1500 employees (US, CN, AU, IN, RO, UA) • HQ in the Netherlands • 4 warehouses worldwide (NL, US and AU)
  4. 4. How does VidaXL sell its goods? • Own webshop platform in EU, US and AU • Warehouses in NL, US and AU • Selling on other platforms, e.g. Amazon, eBay • Allow selling on our own platform using Mirakl • B2B drop-shipments
  5. 5. VidaXL Technical Foundations • SAP as ERP system • Genesys as CS system • Webshop • Open source web-based development strategy • PHP / NodeJS • Docker • Cloudflare workers
  6. 6. VidaXL DevOps Datastores • MySQL • MariaDB (Galera) clusters • MySQL replication • PostgreSQL • SOLR • Elasticsearch • ELK • MongoDB • Couchbase • (RabbitMQ) • Prometheus
  7. 7. What is Polyglot Persistence? Using multiple specialized persistent stores rather than one single general-purpose database
  8. 8. Where does the term come from? • The way we work is changing • Enterprise applications are becoming more complex • Separate (devops/agile) teams • Ownership of applications • (Micro)services • Everyone has their preference • Various programming languages • Various storage systems
  9. 9. Where does the term come from? • Monoglot Programming • Only one programming language allowed • Readability • All code is in the same language • Support • One platform to support • Knowledge • Everybody is an expert • Is there a jack-of-all-trades language?
  10. 10. Where does the term come from? • Monoglot Programming • Only one programming language allowed • Readability • All code is in the same language • Support • One platform to support • Knowledge • Everybody is an expert • Is there a jack-of-all-trades language?
  11. 11. Monoglot programming Does a carpenter only use a single tool?
  12. 12. Monoglot programming Carpenters actually use a broad variety of tools
  13. 13. Polyglot Programming • Polyglot Programming • Use programming languages for what they are good at • Flexibility • Use Java for a secure API • Use Scala for real time stream processing • Use Python for text analysis • Tie everything together using AngularJS • Knowledge • Everybody is expert at one or more languages
  14. 14. Polyglot Programming
  15. 15. Monoglot Persistence
  16. 16. Data storage landscape changes • Relational data stores (RDBMS) • Key-Value data stores (“NoSQL”) • Columnar data stores (OLAP) • Document data stores (NoSQL) • Graph data stores (GDB) • Timeseries data stores • Big Data
  17. 17. Data storage landscape changes Software RDBMS Oracle, MySQL, PostgreSQL Key-Value Redis, Riak Columnar InfiniDB, Clickhouse Document MongoDB, Couchbase Graph Neo4J, Janusgraph Big Data Hadoop
  18. 18. Data storage landscape changes Software AWS Google RDBMS Oracle, MySQL, PostgreSQL RDS, Aurora CloudSQL, Spanner Key-Value Redis, Riak DynamoDB Datastore Columnar InfiniDB, Clickhouse Redshift BigQuery Document MongoDB, Couchbase SimpleDB Bigtable Graph Neo4J, Janusgraph Neptune Big Data Hadoop EMR Cloud Dataproc
  19. 19. Even Hadoop has become a polyglot
  20. 20. Polyglot Persistence • Complex problems require different storage systems • Use the right tool for the job, for example • Use PostgreSQL for financial data • Use MySQL for website contents • Use MongoDB for user profiles • Use Cassandra for real time streams • Use Neo4J for recommendation analysis
  21. 21. Polyglot Persistence
  22. 22. Polyglot Persistence at VidaXL Yes we certainly are polyglots!
  23. 23. Quick recap on our data stores • MySQL • MariaDB (Galera) clusters • MySQL replication • ProxySQL • PostgreSQL • SOLR • Elasticsearch • ELK • MongoDB • Couchbase • (RabbitMQ) • Prometheus
  24. 24. How did this happen? • Continuous growth • Hardly any time to overhaul existing systems • Transition from monolith to microservice architecture • For each microservice the most optimal solution has been chosen • Early adopters of new technology • Gaining advantage over competition
  25. 25. From monolith to microservice
  26. 26. From monolith to microservice
  27. 27. From monolith to microservice
  28. 28. From monolith to microservice
  29. 29. From monolith to microservice
  30. 30. From monolith to microservice
  31. 31. What were the challenges? • Automation • Increased complexity • Systems monitoring • Multiple integrations • Maintenance becomes more difficult • Backups • Scaling • Software updates • DevOps are not a DBA
  32. 32. What were the solutions? • Invest in automation • Never perform any (large) task thrice • Increase tooling • Build it ourselves costs time • Buying/licensing tools costs money • Keeping the headcount low saves money • Focus on systems that matter most • Get (exteneral) help • Hire DBAs! ;)
  33. 33. ClusterControl by Severalnines Bartłomiej Oleś Presenter bart@severalnines.com
  34. 34. Copyright 2017 Severalnines AB
  35. 35. Copyright 2017 Severalnines AB Free to download Initial 30 days Enterprise trial Converts into free Community Edition Enterprise / paid versions available
  36. 36. Copyright 2017 Severalnines AB Automation & Management Deployment (Free Community) ● Deploy a Cluster in Minutes ○ On-Prem ○ Cloud (AWS/Azure/Google) - paid Monitoring (Free Community) ● Systems View with 1 sec Resolution ● DB / OS stats & Performance Advisors ● Configurable Dashboards ● Query Analyzer ● Real-time / historical Management (Paid Features) ● Backup Management ● Upgrades & Patching ● Security & Compliance ● Operational Reports ● Automatic Recovery & Repair ● Performance Management ● Automatic Performance Advisors
  37. 37. Copyright 2017 Severalnines AB Supported Databases
  38. 38. Copyright 2017 Severalnines AB Our Customers
  39. 39. Copyright 2017 Severalnines AB Copyright 2018 Severalnines AB Demo
  40. 40. Thank you

×