SenseiDB

SenseiDB is a distributed database that supports the backend of LinkedIn homepage and LinkedIn Signal. The data is protected by replication and eventual consistency is guaranteed. Driven by a large number of search tasks, SenseiDB is also a efficient search engine on structured metadata and unstructured contents.

History

SenseiDB was initially developed and employed by LinkedIn team in 2012. It was then contributed by a number of engineers across different companies and continents. After three releases, SenseiDB has no longer updated since year 2013.

Query Interface

Custom API

*Browsing Query Language* (BQL) is supported by SenseiDB, which has the similar syntax to SQL.

Concurrency Control

Not Supported

SenseiDB partitions its data within the system to improve processing speed, but it only accepts a single data stream at a time.

Joins

Not Supported

Joins are not supported in SenseiDB since it is not a strictly relational database.

Isolation Levels

Read Uncommitted

The users are responsible for guaranteeing data isolation.

Stored Procedures

Not Supported

Indexes

Hash Table

SenseiDB applies an indexing manager called Zoie, which is a real-time search and indexing system. The biggest feature of Zoie is the support for real-time updates while preserving the high-efficiency.

Storage Architecture

Disk-oriented

Data is replicated in multiple disks to be robust against failures.

Data Model

Column Family

A SenseiDB instance is a table of data that is organized into columns. Each column may fall into one of the supported types: **string**, **int**, **long**, **short**, **float**, **double**, **char**, **date**, **text**.

System Architecture

Shared-Disk

The entire database is partitioned into a number of shards. Each shard is replicated across N nodes so that there might be more than one shards in a single node. Below is an example of a Sensei cluster. ![](http://senseidb.github.io/sensei/images/index-sharding.png)

SenseiDB Logo
Website

http://senseidb.github.io/sensei/

Source Code

https://github.com/linkedin/sensei

Tech Docs

http://senseidb.github.io/sensei/overview.html

Developer

LinkedIn

Country of Origin

US

Start Year

2012

End Year

2013

Project Type

Open Source

Written in

Java

Supported languages

Java, Python

Operating Systems

All OS with Java VM

Licenses

Apache v2