GithubHelp home page GithubHelp logo

rlishtaba / incubator-pinot Goto Github PK

View Code? Open in Web Editor NEW

This project forked from apache/pinot

1.0 2.0 0.0 164.44 MB

Apache Pinot (Incubating) - A realtime distributed OLAP datastore

Home Page: https://pinot.apache.org

License: Apache License 2.0

Shell 0.25% Java 69.57% ANTLR 0.02% HTML 1.42% Thrift 0.02% CSS 4.09% JavaScript 23.32% Python 0.16% Makefile 0.04% Batchfile 0.03% FreeMarker 1.01% PLpgSQL 0.08%

incubator-pinot's Introduction

Apache Pinot (incubating)

Build Status codecov.io Join the chat at https://gitter.im/linkedin/pinot license

Apache Pinot is a realtime distributed OLAP datastore, which is used to deliver scalable real time analytics with low latency. It can ingest data from offline data sources (such as Hadoop and flat files) as well as online sources (such as Kafka). Pinot is designed to scale horizontally.

These presentations on Pinot give an overview of Pinot:

Looking for the ThirdEye anomaly detection and root-cause analysis platform? Check out the Pinot/ThirdEye project

Key Features

  • A column-oriented database with various compression schemes such as Run Length, Fixed Bit Length
  • Pluggable indexing technologies - Sorted Index, Bitmap Index, Inverted Index
  • Ability to optimize query/execution plan based on query and segment metadata
  • Near real time ingestion from Kafka and batch ingestion from Hadoop
  • SQL like language that supports selection, aggregation, filtering, group by, order by, distinct queries on fact data
  • Support for multivalued fields
  • Horizontally scalable and fault tolerant

Because of the design choices we made to achieve these goals, there are certain limitations present in Pinot:

  • Pinot is not a replacement for database i.e it cannot be used as source of truth store, cannot mutate data
  • Not a replacement for search engine i.e full text search, relevance not supported
  • Query cannot span across multiple tables

Pinot works very well for querying time series data with lots of Dimensions and Metrics. Example - Query (profile views, ad campaign performance, etc.) in an analytical fashion (who viewed this profile in the last weeks, how many ads were clicked per campaign).

Instructions to build Pinot

More detailed instructions can be found at Quick Demo section in the documentation.

# Clone a repo
$ git clone https://github.com/apache/incubator-pinot.git
$ cd incubator-pinot

# Build Pinot
$ mvn clean install -DskipTests -Pbin-dist

# Run Quck Demo
$ cd pinot-distribution/target/apache-pinot-incubating-<version>-SNAPSHOT-bin
$ bin/quick-start-offline.sh

Getting Involved

Documentation

Check out Pinot documentation for a complete description of Pinot's features.

License

Apache Pinot is under Apache License, Version 2.0

incubator-pinot's People

Contributors

jfim avatar apucher avatar jackie-jiang avatar brandtg avatar mayankshriv avatar npawar avatar mcvsubbu avatar xiangfu0 avatar kishoreg avatar dhaval2025 avatar justyves avatar puneetjaiswal avatar antumbde avatar jihaozh avatar jenniferdai avatar akshayrai avatar cyy0714 avatar harleyjj avatar jackjlli avatar ttbach avatar aaronucsd avatar sunithabeeram avatar cecilynie avatar rven1 avatar jiaqi-g avatar jrgp avatar jhong93 avatar bl44 avatar jiateoh avatar raviarin avatar

Stargazers

Roman avatar

Watchers

James Cloos avatar Roman Lishtaba avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.