Rakam alternatives and similar software solutions
Based on the "Analytics" category.
Alternatively, view Rakam alternatives based on common mentions on social networks and blogs.
-
Superset
DISCONTINUED. Apache Superset is a Data Visualization and Data Exploration Platform [Moved to: https://github.com/apache/superset] -
Metabase
The easy-to-use open source Business Intelligence and Embedded Analytics tool that lets everyone work with data :bar_chart: -
Redash
Make Your Company Data Driven. Connect to any data source, easily visualize, dashboard and share your data. -
PostHog
🦔 PostHog provides open-source web & product analytics, session recording, feature flagging and A/B testing that you can self-host. Get started - free. -
Piwik
Empowering People Ethically with the leading open source alternative to Google Analytics that gives you full control over your data. Matomo lets you easily collect data from websites & apps and visualise this data and extract insights. Privacy is built-in. Liberating Web Analytics. Star us on Github? +1. And we love Pull Requests! -
Plausible
Simple, open source, lightweight (< 1 KB) and privacy-friendly web analytics alternative to Google Analytics. -
GoAccess
GoAccess is a real-time web log analyzer and interactive viewer that runs in a terminal in *nix systems or through your browser. -
cube.js
📊 Cube — Universal semantic layer platform for AI, BI, spreadsheets, and embedded analytics -
Fathom Analytics
Fathom Lite. Simple, privacy-focused website analytics. Built with Golang & Preact. -
Countly
Countly is a product analytics platform that helps teams track, analyze and act-on their user actions and behaviour on mobile, web and desktop applications. -
ThinkUp
ThinkUp gives you insights into your social networking activity on Twitter, Facebook, Instagram, and beyond. -
Open Web Analytics
Official repository for Open Web Analytics which is an open source alternative to commercial tools such as Google Analytics. Stay in control of the data you collect about the use of your website or app. Please consider sponsoring this project. -
Chartbrew
Open-source web platform used to create live reporting dashboards from APIs, MongoDB, Firestore, MySQL, PostgreSQL, and more 📈📊 -
Socioboard
Socioboard is world's first and open source Social Technology Enabler. Socioboard Core is our flagship product. -
Mixpost
Self-hosted social media management. Schedule and organize your social content. Built with Laravel Framework. -
IG Monitoring
DISCONTINUED. 🚨 DISCONTINUED🚨 IGMonitoring - Free, self hosted Instagram Analytics and Stats -
Tellery
Tellery lets you build metrics using SQL and bring them to your team. As easy as using a document. As powerful as a data modeling tool. -
Matomo
Leading open-source analytics platform that gives you more than just powerful analytics, formerly known as Piwik.
Nutrient – The #1 PDF SDK Library, trusted by 10K+ developers

* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of Rakam or a related project?
Popular Comparisons
README
Rakam
Rakam is an analytics platform that allows you to create your analytics services.
Features / Goals
Rakam is a modular analytics platform that gives you a set of features to create your own analytics service.
Typical workflow of using Rakam:
- Collect data from multiple sources with trackers, client libraries, webhooks, tasks etc.
- Enrich and sanitize your event data with event mappers
- Store data in a data warehouse to analyze it later. (Postgresql, Snowflake, S3 etc.)
- Analyze your event data with your SQL queries and integrated rich analytics APIs with Rakam Cloud (funnel, retention, segmentation reports
- Develop your own modules for Rakam to customize it for your needs.
We also provide user interface for Rakam as a separate product called Rakam UI. You can create custom reports with SQL, dashboards, funnel and retention reports via Rakam UI.
All these features come with a single box, you just need to specify which modules you want to use using a configuration file (config.properties) and Rakam will do the rest for you. We also provide cloud deployment tools for scaling your Rakam cluster easily.
Deployment
If your event data-set can fit in a single server, we recommend using Postgresql backend. Rakam will collect all your events in row-oriented format in a Postgresql node. All the features provided by Rakam are supported in Postgresql deployment type. Please note that we support Postgresql 11 because we're using new features such as partitioning and BRIN indexes for performance.
However Rakam is designed to be highly scalable in order to provide a solution for high work-loads. You can configure Rakam to send events to a distributed commit-log such as Apache Kafka or Amazon Kinesis in serialized Apache Avro format and process data in PrestoDB workers and store them in a distributed filesystem in a columnar format.
Heroku
You can deploy Rakam to Heroku using Heroku button, it uses Heroku Postgresql add-on for your app and uses Postgresql deployment type.
Docker
Run the following command to start a Postgresql server in docker container and Rakam API in your local environment.
docker run -d --name rakam-db -e POSTGRES_PASSWORD=dummy -e POSTGRES_USER=rakam postgres:10.1 && docker run --link rakam-db --name rakam -p 9999:9999 -e RAKAM_CONFIG_LOCK__KEY=mylockKey -e RAKAM_CONFIG_STORE_ADAPTER_POSTGRESQL_URL=postgres://rakam:dummy@rakam-db:5432/rakam buremba/rakam
After docker container is started, visit http://127.0.0.1:9999 and follow the instructions. You can also register your local Rakam API to Rakam BI at http://app.rakam.io or directly use Rakam API. You may also consult to API documentation for details of the API.
We also provide a docker-compose definition for a Postgresql backend. Create a docker-compose.yml
with this definition and run the command docker-compose -f docker-compose.yml up -d
.
version: '2.1'
services:
rakam-db:
image: postgres:11.4
environment:
- POSTGRES_PASSWORD=dummy
- POSTGRES_USER=rakam
healthcheck:
test: ["CMD-SHELL", "pg_isready"]
interval: 5s
timeout: 5s
retries: 3
rakam-api:
image: buremba/rakam
environment:
- RAKAM_CONFIG_STORE_ADAPTER_POSTGRESQL_URL=postgres://rakam:dummy@rakam-db:5432/rakam
- RAKAM_CONFIG_LOCK__KEY=mylockKey
ports:
- "9999:9999"
depends_on:
rakam-db:
condition: service_healthy
You can set config variables for Rakam instance using environment variables. All properties in config.properties file can be set via environment variable RAKAM_CONFIG_property_name_dots_replaced_by_underscore
.
For example, if you want to set store.adapter=postgresql
you need to set environment variable RAKAM_CONFIG_STORE_ADAPTER=postgresql
. Also the dash -
is replaced by double underscore character __
.
Therefore the environment variable RAKAM_CONFIG_LOCK__KEY
corresponds to lock-key
config property.
Dockerfile will generate config.properties
file from environment variables in docker container that start with RAKAM_CONFIG
prefix.
In order to set environment variables for container, you may use -e
flag for for docker run
but we advice you to set all environment variables in a file and use --env-file
flag when starting your container.
Then you can share same file among the Rakam containers. If Dockerfile can't find any environment variable starts with RAKAM_CONFIG
, it tries to connect Postgresql instance created with docker-compose.
AWS (Terraform)
See https://github.com/rakam-io/rakam-api-terraform-aws.
Terraform installer is the recommended way to deploy Rakam in production because it automatically handles most of the complexity like fail over and load-balancing.
Custom
- Download Java 1.8 for your operating system.
- Download latest version from Bintray ([VERSION]/rakam-[VERSION]-.bundle.tar.gz) extract package.
- Modify
etc/config.properties
(sample for Postgresql deployment type) file and runbin/launcher start
. - The launcher script can take the following arguments:
start|restart|stop|status|run
.bin/launcher run
will start Rakam in foreground.
Building Rakam
You can try the master branch by pulling the source code from Github and building Rakam using Maven:
Requirements
- Java 8
- Maven 3.2.3+ (for building)
git clone https://github.com/rakam-io/rakam.git
cd rakam
mvn clean install package -DskipTests
Running the application locally
rakam/target/rakam-*-bundle/rakam-*/bin/launcher.py run --config rakam/target/rakam-*-bundle/rakam-*/etc/config.properties
Note that you need to modify config.properties
file in order to be able to start Rakam. (sample for Postgresql deployment type)
Running Rakam in your IDE
Since we already use Maven, you can import Rakam to your IDE using the root pom.xml file. We recommend using Intellij IDEA since the core team uses it when developing Rakam. Here is a sample configuration for executing Rakam in your IDE:
Main Class: org.rakam.ServiceStarter
VM Options: -ea -Xmx2G -Dconfig=YOUR_CONFIG_DIRECTORY/config.properties
Working directory: $MODULE_DIR$
Use classpath of module: rakam
Managed
We're also working for managed Rakam cluster, we will deploy Rakam to our AWS accounts and manage it for you so that you don't need to worry about scaling, managing and software updates. We will do it for you.
Please shoot us an email to [email protected]
if you want to test our managed Rakam service.
Web application
This repository contains Rakam API server that allows you to interact with Rakam using a REST interface. If you already have a frontend and developed a custom analytics service based on Rakam, it's all you need.
However, we also developed Rakam Web Application that allows you to analyze your user and event data-set but performing SQL queries, visualising your data in various charts, creating (real-time) dashboards and custom reports. You can turn Rakam into a analytics web service similar to Mixpanel, Kissmetrics and Localytics using the web application. Otherwise, Rakam server is similar to Keen.io with SQL as query language and some extra features.
Another nice property of Rakam web application is being BI (Business Intelligence)
tool. If you can disable collect APIs and connect Rakam to your SQL database with JDBC adapter and use Rakam application to query your data in your database. Rakam Web Application has various charting formats, supports parameterized SQL queries, custom pages that allows you to design pages with internal components.
Contribution
Currently I'm actively working on Rakam. If you want to contribute the project or suggest an idea feel free to fork it or create a ticket for your suggestions. I promise to respond you ASAP. The purpose of Rakam is being generic data analysis tool which can be a solution for many use cases. Rakam still needs too much work and will be evolved based on people's needs so your thoughts are important.
Acknowledgment
We use YourKit Java Profiler in order to monitor the JVM instances for identifing the bugs and potential bottlenecks. Kudos to YourKit for supporting Rakam with your full-featured Java Profile!