Background
SkuVault is a global software provider that facilitates small and medium enterprises to optimise operations with their inventory management technology platform. From their headquarters in Louisville, KY, SkuVault delivers and maintains their platform that enhances supply chains for multichannel retailers from start to finish. Their focused and dedicated team is passionate about helping their customers operate more efficiently and make the most of their inventory.
The Challenge
SkuVault has been developing their initial platform since creating their proof of concept version in 2011, with 35 Developers in both Louisville and Russia working together on maintenance and development. The system they wanted to build would accurately track all inventory and provide a detailed log of shipping, receiving and sales for inventory and auditing purposes, across multiple selling platforms.
After some initial research on building a cloud-based solution, Slav Ivanyuk, Chief Technical Officer and Co-Founder at SkuVault, came across Event Sourcing as a systems design concept. It was evident to Slav that an event-sourced system would allow SkuVault to focus on inventory management and do it well - it would allow for accurate, reliable tracking of the movement of goods, with strong auditing capabilities and flexible reporting, and scale as needed.
They built their original proof of concept on a traditional relational database, but reached the limits of the technology even before going into production, and knew it would not be able to scale. A different approach was needed.
After working on a custom event store database for some time, SkuVault contacted Event Store for a technical assessment on their system. During this process, EventStoreDB - the only purpose built database for Event Sourcing - was recommended as a stable, secure database for SkuVault to use.
“We needed to focus on our product, not building a database to store events. We decided to switch to EventStoreDB as it enforces correct structure [for Event Sourced systems] and has the ability to have streams per aggregate” says Slav Ivanyuk, Chief Technology Officer and Co-Founder at SkuVault.
Over the course of development, the team turned to Event Store for help improving and refining their system as their business grew, enabling them to focus on their product. “We knew that we were going to need support, that was a big benefit of moving to Event Store; not just the database that we don’t have to worry about, but also commercial support that helps us. If you’re running a large business and want to use this free, open source tool, what happens when it breaks? Who are you going to call?”
The Solution
Immediately, our Engineering team helped to improve SkuVault's database and plan for a migration to EventStoreDB.
“We felt the value of support immediately. Over time the questions I asked became more advanced and in-depth, as I worked to understand EventStoreDB and could ask the subject-matter experts at Event Store.” Slav Ivanyuk, CTO and Co-Founder
Given the scope and scale of the SkuVault project, both teams saw an opportunity to work together to make EventStoreDB a better product.
"SkuVault’s existing datastore size alongside their migration and throughput requirements stretched the legs of EventStoreDB in some interesting ways, and it was a great opportunity to work closely with Slav and his team to improve EventStoreDB’s scalability in these scenarios” said James Geall, Event Store's VP of Engineering.
Ultimately, SkuVault and Event Store have worked together to fulfil SkuVault’s requirements and incorporate these improvements into the newest version of EventStoreDB.
Now that the process of migration has been completed and SkuVault has been using EventStoreDB for some time, the benefits of the database have become clear: “Event Store were really willing to step up and help us with our database. And the final result is more stable and faster than before. The main thing is we don’t have to worry about how to run EventStoreDB or develop [a database], we can rely on Event Store Support for that, and they ensure we have a stable cluster.”
The whole experience has validated Slav’s initial thoughts on Event Sourcing, and confirmed his choice of database.
“With SQL you can only design data structures, with Event Sourcing you can design to model behaviour. Modelling behaviours makes it much easier to model business processes, not just the data. In our world of logistics which deals with how things change and move over time, capturing that behaviour of people and things is crucial.”Slav Ivanyuk, CTO and Co-Founder