musiXmatch is the second most used app on spotify and features the world’s largest lyrics catalog. So what is LARGE? It means 20 million users accessing more that 7 million lyrics in 38 languages.

musiXmatch is revolutionizing the experience for music lovers, giving them an opportunity to get the lyrics for their favorite song to sing along anywhere. Read this blog to learn how Couchbase Server was used to power this highly scalable online music service …


Have you ever searched google for the lyrics of your favorite song? “Lyrics” is one of the top searched Google term, that means that billions of people use Google to search the term “lyrics” in order to get a song’s lyrics. Now, there is a better way.

In this blog, I wanted to share my conversation with Francesco Delfino (co-founder of musiXmatch), as he explains why the musiXmatch team is using Couchbase Server, what they’re doing with Couchbase, and why he’s confident about the capabilities of Couchbase.

So Francesco, Can you tell us about musiXmatch and your role there?

musiXmatch manages and sub-licences the largest catalogue of worldwide licensed lyrics that can be accessed through a B2B API, a mobile and desktop player app. With more than 20 millions download, musiXmatch player is the most used “music player with lyrics” on Android, iOS and Windows Phone, in several countries.

I am a technical co-founder of musiXmatch and my role is to choose and manage the deployment of new server technologies in the backend infrastructure.

Francesco, can you share more details about how your application uses Couchbase?

At musiXmatch, we use Couchbase for storing user session and semi-transient device data. We run Couchbase on the Amazon AWS platform with a total cluster size of about 4TB and this backend system is growing.

When we designed the musiXmatch app, we started looking for a distributed database architecture first experimented with memcached and dynamodb. Our app also needed search, so we had to manage another system for running elasticsearch on top of S3.

Thanks to Couchbase, we have both these capabilities within a single system that is easy to manage. Couchbase provides us with native memcached support, search integration with elasticSearch and cross datacenter replication that allows us grow our cluster across different geographies with minimum developer effort. Using Couchbase Server simplified our backend architecture to a great extend.

What are the typical access patterns of your app ?

We use Couchbase primarily for storing sessions and see heavy “key­value” access pattern. In addition to key­value access, we also have a specialized Couchbase cluster with a number of views that allow us some simple real-­time analytics on user data such as partitioning the user based on their characteristics such as paying vs. not paying.

What made you pick Couchbase over other NoSQL databases out there?

When we tried Couchbase for the first time we found it very easy to use. The top 3 things that we liked about Couchbase Server :

  1. Cross datacenter replication was easy to setup and use

  2. Compatibility with the memcached protocol made early prototyping very easy without any application rewrites.

  3. The cluster was easy to scale with a single click of a button.

What advice do you have for new Couchbase users?
Download Couchbase Server and try it out!

Any next steps? Are there new features or new apps you are planning to build with Couchbase Server ?

In the future, we plan to grow the size of data stored in Couchbase significantly.. around 10x. This means that we will store more user data in Couchbase including playlists, etc.  

Thank you Francesco

My pleasure. Thank you!


New to Couchbase? Register for our upcoming webinar that introduces Couchbase Server 2.5.

Author

Posted by Don Pinto, Principal Product Manager, Couchbase

Don Pinto is a Principal Product Manager at Couchbase and is currently focused on advancing the capabilities of Couchbase Server. He is extremely passionate about data technology, and in the past has authored several articles on Couchbase Server including technical blogs and white papers. Prior to joining Couchbase, Don spent several years at IBM where he maintained the role of software developer in the DB2 information management group and most recently as a program manager on the SQL Server team at Microsoft. Don holds a master's degree in computer science and a bachelor's in computer engineering from the University of Toronto, Canada.

2 Comments

  1. Musixmatch Brings Largest Lyrics Database to Rosetta Stone

    March 26, 2012

    Musixmatch
    tracks a lot of lyrics – that’s one reason why The Echo Nest
    enthusiastically welcomes Musixmatch onto our Project Rosetta Stone
    platform.

    Project Rosetta Stone brings the unique ability to help music
    services “talk” to one another to the music and technology industries,
    by lining up the songs on one service with the songs on another. In the
    case of Musixmatch, that means developers on all platforms can pop lyrics into their apps quickly and easily.

    Musixmatch’s integration into Project Rosetta Stone could (and probably will) lead to apps that figure out what song is playing to display lyrics on smartphones; integrate lyrics into Rdio’s social playlists; or combine lyric visualizers with music itself.

    Musixmatch’s lyrics database includes over 5.9 legally-licensed
    million lyrics from over 500,000 artists. Developers who wish to add
    lyrics to their apps quickly and easily using Musixmatch and Project
    Rosetta Stone can find additional resources here.

    Welcome aboard, Musixmatch!

    http://www.bocsit.com/Courier/

  2. […] Blog of the Week: Couchbase NoSQL @ musiXmatch: Lyrics for everyone […]

Leave a reply