One of our oldest customers, Beatman is a software development company that‘s been using RavenDB as its database of choice for the last decade. RavenDB’s performance, DevOps simplicity, and wide range of features have helped them take countless high-quality software products to market faster than their competitors could dream of.
Beatman is a software development company that builds software of all shapes and sizes for clients in industries across the board. After an initial stint with MongoDB, they became frustrated by the amount of time and work required to manage their databases and started looking for an alternative. They discovered RavenDB 1.0 as a potential solution and tested it out on a new project; a CRM SaaS Cloud product they were building. They were immediately impressed by the performance, and how easy it was to develop with.
Beatman has now been using RavenDB for around 10 years in many of their projects. Today, whenever a project calls for a document database, they recommend ours to their customers.
“We really like to work with RavenDB, it’s really easy for us.”Yaniv, Beatman Developer
Table of contents
Beatman’s Main Projects: Yapp and The Wallet
About 4 years ago, the company started developing a marketplace with responsive social features called Yapp. Alongside this marketplace, Beatman built a complementary, yet entirely independent, wallet application to store virtual currency and keep track of financial transactions. Both of these projects were built on RavenDB, each using its own database.
RavenDB is Yapp’s real-time transactional database, providing top-tier DB performance with ACID guarantees.
The Israeli-based application allows buyers to use it for free, while sellers can pay to post or boost their products to appear higher in the listings. The app counts more than 200k registered users and over 1000 daily users, with expansion planned outside Israel in the near future.
In case of traffic spikes, the monitoring features in the studio allow developers to keep track of the database’s performance in real time. They can then adjust the CPU and memory to dynamically account for changing load.
The Wallet was developed independently from the marketplace, using a separate database for regulation and security purposes. It currently manages all of the transactions on the marketplace; behind the scenes, every transaction is synced from the market to the wallet with a RavenDB ETL task. These are stored along with the status and history of each user. The wallet currently uses “Yapp Coins” as a placeholder until a traditional currency or a cryptocurrency is decided upon. In the future, Beatman plans to integrate the wallet with other applications.
Yapp was first deployed on version 3 of RavenDB and was later migrated to v 5. The Wallet is still managed on v 3.5, but the migration to v 5 is planned to start soon.
Until recently, Beatman was hosting their databases on their own cloud, managing the backend on AWS. When RavenDB Cloud launched, they were quick to jump on board, but they encountered some teething issues with the young service that made a potential migration unappealing at that time.
About a year ago, they gave RavenDB Cloud another chance and found that the much more mature service met their needs perfectly. Having successfully migrated some of their most important projects to the platform, they now see it as a natural fit for their projects.
Using managed cloud databases, Beatman’s developers are able to focus on their application code rather than handling the backend.
Other Features Used by Beatman
Automatic & Advanced Indexes
Beatman appreciates the intuitive nature and ease of use of RavenDB’s indexing.
“It’s easy to use, it’s easy to create.”Herve, Beatman CEO
They create custom indexes when necessary but otherwise rely on our automatic indexing functionality.
They also take advantage of many of the advanced indexing features such as:
- Spatial Indexing for localization – Listing products in order of their distance from the customer.
- MapReduce for personalization – Generating custom search results based on customers’ search and purchase history.
Beatman uses SQL ETL (for their clients and for themselves) to move data to MySQL, and from there to other business intelligence services. In the case of Yapp, they analyze the data and use the results to personalize customer experience on the marketplace.
Revisions allow them to see the previous and current versions of their documents. All actions on the wallet or the market can be retrieved and managed through the revision/version feature – an essential tool for auditing.
Subscriptions are used for marketing automation purposes. Users can, for instance, be notified when a seller they’re following lowers their prices. In addition, if a user didn’t use the application for a certain amount of time, the system can automatically take action to encourage retention and engagement.
Beatman uses RavenDB’s full-text search functionality for the Yapp marketplace. It’s built on the industry-standard Lucene library and is comparable in functionality and performance to specialized search engines.
Beatman generally develop in .NET Core with C#.
Their largest RavenDB database is the one behind the Yapp Marketplace. It:
- Contains 20 million documents.
- Handles 1 million requests per day
- Contains 120GB of data.
Runs on a 3 node cluster – a standard setup in RavenDB that ensures high availability.
Access to Core Developers
Beatman’s developers enjoy the direct communication they have with the RavenDB team, both in terms of support, and the ability to request new features.
“Ayende and his team show deep involvement in every aspect of our projects, providing fast and efficient support for over 10 years.”Herve, Beatman CEO
Beatman plans to keep RavenDB as their database of choice for future projects and to continue enjoying the extensive support provided by our team over the last ten years.
Here’s to another ten.
To see how you can benefit from RavenDB’s NoSQL database performance, click here to book a free demo.