top of page

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A informação sobre atributos específicos de utilizadores como playlists customizadas, notificações e artistas favoritos, são guardados primariamente no sistema de base de dados Cassandra, que também guarda metadados acerca de entidades como artistas e playlists, exemplos disto são nomes de artistas, nome do album , etc... Também são usados a certo nível, com mais destaque, os sistemas de base de dados PostgreSQL e Hadoop.

Para os eventos de tempo-real o Spotify usa o software Apache Kafka para colecionar os eventos log que são o que fornece informações como, se uma música terminou, tentativa de password falhada, entre outros.

Os dados recolhidos pelo Kafka podem seguir dois caminhos, ou vão para o Hadoop Distributed File System (HDFS) que permite guardar e aceder a uma quantidade grande de dados uma vez os ficheiros são guardados em vários servidores, ou vão ser processados pelo Apache Storm.

Os logs enviados para o HDFS são, então, processados por o software Apache Crunch, responsável por executar uma sequência de comandos com diferentes inputs submetido como um único comando (batch computation), para entre outros, prevenir eventos duplicados e filtras campos nos dados que são indesejados. Os dados saídos do Crunch, que incluem histórico de comportamento, são guardados no sistema Cassandra, outros que geram metadados, são também guardados no sistema para consultar em tempo-real. Estes últimos seguem o mesmo caminho que os log Kafka poderiam seguir, sendo usados no software Apache Storm que serve para processamento em tempo-real. Os dados usados Storm são agrupados e usando algoritmos de agregação e derivação são criados atributos do utilizador que combinados com o histórico de comportamento proveniente do Crunch, formam o perfil do utilizador, que é guardado na base de dados [12].

bottom of page