Papers
Topics
Authors
Recent
Gemini 2.5 Flash
Gemini 2.5 Flash
144 tokens/sec
GPT-4o
7 tokens/sec
Gemini 2.5 Pro Pro
45 tokens/sec
o3 Pro
4 tokens/sec
GPT-4.1 Pro
38 tokens/sec
DeepSeek R1 via Azure Pro
28 tokens/sec
2000 character limit reached

Online Marketplace: A Benchmark for Data Management in Microservices (2403.12605v4)

Published 19 Mar 2024 in cs.DB and cs.SE

Abstract: Microservice architectures have become a popular approach for designing scalable distributed applications. Despite their extensive use in industrial settings for over a decade, there is limited understanding of the data management challenges that arise in these applications. Consequently, it has been difficult to advance data system technologies that effectively support microservice applications. To fill this gap, we present Online Marketplace, a microservice benchmark that highlights core data management challenges that existing benchmarks fail to address. These challenges include transaction processing, query processing, event processing, constraint enforcement, and data replication. We have defined criteria for various data management issues to enable proper comparison across data systems and platforms. Through case studies with state-of-the-art data platforms, we discuss the issues encountered while implementing and meeting Online Marketplace's criteria. By capturing the overhead of meeting the key data management requirements that are overlooked by existing benchmarks, we gain actionable insights into the experimental platforms. This highlights the significance of Online Marketplace in advancing future data systems to meet the needs of microservice practitioners.

Definition Search Book Streamline Icon: https://streamlinehq.com
References (58)
  1. Materialize [n.d.]. Materialize: The Operational Data Warehouse. Materialize. Retrieved December 12, 2023 from https://materialize.com
  2. 2018. InconsistentStateException with ADO.NET SQL Server grain storage. Retrieved November 25, 2023 from https://github.com/dotnet/orleans/issues/4697#issuecomment-398556401
  3. DuckDB 2024. DuckDB. DuckDB. Retrieved April 12, 2024 from https://github.com/duckdb
  4. Delta: A Data Synchronization and Enrichment Platform. Netflix. Retrieved April 8, 2024 from https://netflixtechblog.com/delta-a-data-synchronization-and-enrichment-platform-e82c36a79aee
  5. Linear Road: A Stream Data Management Benchmark. In Proceedings of the Thirtieth International Conference on Very Large Data Bases - Volume 30 (Toronto, Canada) (VLDB ’04). VLDB Endowment, 480–491.
  6. BroadleafCommerce. [n.d.]. Broadleaf Microservices Architecture. Broadleaf Commerce. Retrieved March 24, 2024 from https://www.broadleafcommerce.com/product/microservice-architecture
  7. Orleans: A Framework for Cloud Computing. Technical Report MSR-TR-2010-159. https://www.microsoft.com/en-us/research/publication/orleans-a-framework-for-cloud-computing/
  8. Marcus Cavalcanti. 2020. Lessons learned about running Microservices. B2W. Retrieved April 8, 2024 from https://medium.com/b2w-engineering-en/lessons-learned-about-running-microservices-a51d952cb50b
  9. Brian Chavez. 2024. Bogus. Microsoft. Retrieved April 8, 2024 from https://github.com/bchavez/Bogus Bogus is fundamentally a C# port of faker.js and inspired by FluentValidation’s syntax sugar.
  10. Jon Chew. 2019. Avoiding Double Payments in a Distributed Payments System. AirBnb. Retrieved April 8, 2024 from https://medium.com/airbnb-engineering/avoiding-double-payments-in-a-distributed-payments-system-2981f6b070bb
  11. Dmitry Chornyi. 2018. Engineering Uber’s Next-Gen Payments Platform. Uber Technologies Inc. Retrieved April 8, 2024 from https://eng.uber.com/payments-platform
  12. Dan Conger. 2021. How Apache Kafka Enables Podium to “Ship It and See What Happens”. Confluent. Retrieved April 8, 2024 from https://www.confluent.io/blog/how-apache-kafka-enables-podium-to-ship-it-and-see-what-happens
  13. Benchmarking Cloud Serving Systems with YCSB. In Proceedings of the 1st ACM Symposium on Cloud Computing (Indianapolis, Indiana, USA) (SoCC ’10). Association for Computing Machinery, New York, NY, USA, 143–154. https://doi.org/10.1145/1807128.1807152
  14. TPC Council. 2005. TPC-W: Benchmarking An Ecommerce Solution. https://www.tpc.org/tpcw/tpc-w_wh.pdf Revision 1.2.
  15. TPC Council. 2010. TPC Benchmark C revision. https://www.tpc.org/tpcc Revision 5.11.
  16. Datadog. [n.d.]. What Is Audit Logging? Retrieved November 20, 2023 from https://www.datadoghq.com/knowledge-center/audit-logging/#audit-logs-vs-regular-system-logs
  17. Stephan Ewen. 2020. Stateful Functions 2.0 - An Event-driven Database on Apache Flink. Retrieved November 25, 2023 from https://flink.apache.org/2020/04/07/stateful-functions-2.0-an-event-driven-database-on-apache-flink
  18. Rafael Ferreira. 2019. Microservices at Nubank, an overview. Nubank. Retrieved April 8, 2024 from https://building.nubank.com.br/microservices-at-nubank-an-overview
  19. Rafael Ferreira and Edward Wible. 2017. Architecting a Modern Financial Institution. Nubank. Retrieved April 8, 2024 from https://www.infoq.com/presentations/nubank-architecture
  20. Martin Fowler. 2017. What do you mean by “Event-Driven”? Retrieved November, 1st 2023 from https://martinfowler.com/articles/201701-event-driven.html
  21. An open-source benchmark suite for microservices and their hardware-software implications for cloud & edge systems. In Proceedings of the Twenty-Fourth International Conference on Architectural Support for Programming Languages and Operating Systems. 3–18.
  22. Seth Gilbert and Nancy Lynch. 2002. Brewer’s Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services. SIGACT News 33, 2 (jun 2002), 51–59. https://doi.org/10.1145/564585.564601
  23. Adam Gluck. 2022. Introducing Domain-Oriented Microservice Architecture. Uber Technologies Inc. Retrieved April 8, 2024 from https://www.uber.com/en-DK/blog/microservice-architecture
  24. IATA. [n.d.]. Airline Retailing. IATA. Retrieved March 24, 2024 from https://www.iata.org/en/programs/airline-distribution/retailing
  25. imbursepayments. [n.d.]. What is a PSP and how does it work? Retrieved November, 4 2022 from https://imbursepayments.com/what-is-a-psp
  26. Ninad Khisti. 2018. Measuring Transactional Integrity in Airbnb’s Distributed Payment Ecosystem. AirBnb. Retrieved April 8, 2024 from https://medium.com/airbnb-engineering/measuring-transactional-integrity-in-airbnbs-distributed-payment-ecosystem-a670d6926d22
  27. Online Event Processing. Commun. ACM 62, 5 (apr 2019), 43–49. https://doi.org/10.1145/3312527
  28. Rodrigo Laigner. 2023. EventBenchmark. Retrieved April 4, 2024 from https://github.com/diku-dk/EventBenchmark/releases/tag/v1.0
  29. A Benchmark for Data Management Challenges in Microservices (Extended Version). https://rnlaigner.github.io/files/extended.pdf Manuscript submitted for publication.
  30. Data Management in Microservices: State of the Practice, Challenges, and Research Directions. Proc. VLDB Endow. 14, 13 (sep 2021), 3348–3361. https://doi.org/10.14778/3484224.3484232
  31. Hybrid Deterministic and Nondeterministic Execution of Transactions in Actor Systems. In Proceedings of the 2022 International Conference on Management of Data (Philadelphia, PA, USA) (SIGMOD ’22). Association for Computing Machinery, New York, NY, USA, 65–78. https://doi.org/10.1145/3514221.3526172
  32. Materialize. [n.d.]. How Ecommerce Company Drizly uses Materialize for Real-Time Notifications, Alerting, and Personalization. Retrieved November, 4 2022 from https://materialize.com/customer-stories/drizly
  33. Math.NET. 2023. Math.NET Numerics. Retrieved November 20, 2023 from https://numerics.mathdotnet.com/
  34. Ricardo Mayerhofer. 2018. restQL: Tackling microservice query complexity. B2W. Retrieved April 8, 2024 from https://medium.com/b2w-engineering-en/restql-tackling-microservice-query-complexity-27def5d09b40
  35. Osvaldo Santana Neto. 2018. Olist Architecture From Monolith to microservices. Olist. Retrieved March 18, 2024 from https://www.slideshare.net/osantana/olist-architecture-v20
  36. Matheus Oliveira. 2017. Gerenciamento de dados com micro-serviços e a experiência do iFood. iFood. Retrieved April 8, 2024 from https://www.infoq.com/br/presentations/gerenciamento-de-dados-com-micro-servicos-e-a-experiencia-do-ifood
  37. Microsoft Orleans. 2023. Request scheduling. Retrieved November 25, 2023 from https://learn.microsoft.com/en-us/dotnet/orleans/grains/request-scheduling
  38. Microsoft Orleans. 2024a. Orleans streams implementation details. Microsoft. Retrieved April 8, 2024 from https://learn.microsoft.com/en-us/dotnet/orleans/implementation/streams-implementation/
  39. Microsoft Orleans. 2024b. Streaming with Orleans. Microsoft. Retrieved March 24, 2024 from https://learn.microsoft.com/en-us/dotnet/orleans/streaming/?pivots=orleans-7-0
  40. Nitin Sarma. 2020. Event Driven Architectures @ Netflix Content Finance Engineering. Netflix. Retrieved April 8, 2024 from https://www.linkedin.com/pulse/event-driven-architectures-netflix-content-finance-engineering-s/
  41. Natan Silnitsky. 2022a. Event Driven Architecture — 5 Pitfalls to Avoid. Wix. Retrieved July 1, 2023 from https://medium.com/wix-engineering/event-driven-architecture-5-pitfalls-to-avoid-b3ebf885bdb1
  42. Natan Silnitsky. 2022b. Troubleshooting Kafka for 2000 Microservices at Wix. Wix. Retrieved July 1, 2023 from https://medium.com/wix-engineering/troubleshooting-kafka-for-2000-microservices-at-wix-986ee382fd1e
  43. Aakriti Singla and Simon Wu. 2020. Revolutionizing Money Movements at Scale with Strong Data Consistency. Uber Technologies Inc. Retrieved April 8, 2024 from https://eng.uber.com/money-scale-strong-data
  44. Apache Flink Statefun. 2023a. Co-located Functions. Retrieved November 25, 2023 from https://nightlies.apache.org/flink/flink-statefun-docs-master/docs/concepts/distributed_architecture/#co-located-functions
  45. Apache Flink Statefun. 2023b. Shopping Cart Example with Docker Compose. Retrieved November 25, 2023 from https://github.com/apache/flink-statefun-playground/tree/main/java/shopping-cart
  46. Apache Flink Statefun. 2023c. Stateful Functions: A Platform-Independent Stateful Serverless Stack. Retrieved November 11, 2023 from https://nightlies.apache.org/flink/flink-statefun-docs-master/
  47. Statista. 2024. eCommerce - Worldwide. Retrieved March 18, 2024 from https://www.statista.com/outlook/emo/ecommerce/worldwide
  48. Jan Stenberg. 2019. Experiences Moving from Microservices to Workflows at Jet.com. Jet.com. Retrieved March 21, 2024 from https://www.infoq.com/news/2019/02/migrate-microservices-workflows
  49. P-Store: An Elastic Database System with Predictive Provisioning. In Proceedings of the 2018 International Conference on Management of Data (Houston, TX, USA) (SIGMOD ’18). Association for Computing Machinery, New York, NY, USA, 205–219. https://doi.org/10.1145/3183713.3190650
  50. UCloud. [n.d.]a. Products - UCloud. Retrieved November 28, 2023 from https://docs.cloud.sdu.dk/guide/resources-products.html#compute
  51. UCloud. [n.d.]b. UCloud User Guide. Retrieved November 28, 2023 from https://docs.cloud.sdu.dk
  52. Synapse: A Microservices Architecture for Heterogeneous-Database Web Applications. In Proceedings of the Tenth European Conference on Computer Systems (Bordeaux, France) (EuroSys ’15). Association for Computing Machinery, New York, NY, USA, Article 21, 16 pages. https://doi.org/10.1145/2741948.2741975
  53. VTEX. [n.d.]. Commerce Microservices. VTEX. Retrieved March 18, 2024 from https://vtex.com/us-en/commerce-microservices/
  54. Modeling and Building IoT Data Platforms with Actor-Oriented Databases. In Advances in Database Technology - 22nd International Conference on Extending Database Technology, EDBT 2019, Lisbon, Portugal, March 26-29, 2019. OpenProceedings.org, 512–523. https://doi.org/10.5441/002/edbt.2019.47
  55. Enabling Seamless Kafka Async Queuing with Consumer Proxy. Uber Technologies Inc. Retrieved April 8, 2024 from https://www.uber.com/en-SE/blog/kafka-async-queuing-with-consumer-proxy/
  56. UniBench: A Benchmark for Multi-model Database Management Systems: Recognizing Outstanding Ph.D. Research. 7–23. https://doi.org/10.1007/978-3-030-11404-6_2
  57. Fault Analysis and Debugging of Microservice Systems: Industrial Survey, Benchmark System, and Empirical Study. IEEE Trans. Softw. Eng. 47, 2 (feb 2021), 243–260. https://doi.org/10.1109/TSE.2018.2887384
  58. Benchmarking microservice systems for software engineering research. In Proceedings of the 40th International Conference on Software Engineering: Companion Proceeedings, ICSE 2018, Gothenburg, Sweden, May 27 - June 03, 2018, Michel Chaudron, Ivica Crnkovic, Marsha Chechik, and Mark Harman (Eds.). ACM, 323–324. https://doi.org/10.1145/3183440.3194991
Citations (2)

Summary

We haven't generated a summary for this paper yet.

X Twitter Logo Streamline Icon: https://streamlinehq.com