Git Product home page Git Product logo

raghu999 / vespa Goto Github PK

View Code? Open in Web Editor NEW

This project forked from vespa-engine/vespa

0.0 2.0 0.0 90.64 MB

Vespa is an engine for low-latency computation over large data sets.

Home Page: https://vespa.ai

License: Apache License 2.0

CMake 0.85% Java 53.44% Shell 0.39% Makefile 0.01% Perl 0.41% Python 0.07% C++ 43.99% C 0.11% CSS 0.07% HTML 0.32% JavaScript 0.05% ANTLR 0.04% Dockerfile 0.01% LLVM 0.01% Yacc 0.02% Emacs Lisp 0.18% GAP 0.01% Ruby 0.02% Objective-C 0.02% PigLatin 0.01%

vespa's Introduction

#Vespa

The big data serving engine - Store, search, rank and organize big data at user serving time. Vespa is an engine for low-latency computation over large data sets. It stores and indexes your data and executes distributed queries including evaluation of machine-learned models over many data points in real time.

Travis-CI build status: Build Status

Table of contents

Background

Use cases such as search, recommendation and personalization need to select a subset of data in a large corpus, evaluate machine-learned models over the selected data, organize and aggregate it and return it, typically in less than 100 milliseconds, all while the data corpus is continuously changing.

This is hard to do, especially with large corpuses that needs to be distributed over multiple nodes and evaluated in parallel. Vespa is a platform which performs these operations for you. It has been in development for many years and is used on a number of large internet services and apps which serve hundreds of thousands of queries from Vespa per second.

Install

To get started using Vespa pick one of the quick start documents:

Usage

Full documentation is available on https://docs.vespa.ai.

Contribute

We welcome contributions! See CONTRIBUTING.md to learn how to contribute.

If you want to contribute to the documentation, see https://github.com/vespa-engine/documentation

Building

You do not need to build Vespa to use it, but if you want to contribute you need to be able to build the code. This section explains how to build and test Vespa. To understand where to make changes, see Code-map.md. Some suggested improvements with pointers to code are in TODO.md.

Set up the build environment

C++ and Java building is supported on CentOS 7. The Java source can also be built on any platform having Java 11 and Maven installed. We recommend using the following environment: Create C++ / Java dev environment on CentOS using VirtualBox and Vagrant. You can also setup CentOS 7 natively and install the following build dependencies:

sudo yum-config-manager --add-repo https://copr.fedorainfracloud.org/coprs/g/vespa/vespa/repo/epel-7/group_vespa-vespa-epel-7.repo
sudo yum -y install epel-release centos-release-scl yum-utils
sudo yum -y install ccache \
    rpm-build
yum-builddep -y <vespa-source>/dist/vespa.spec

Build Java modules

export MAVEN_OPTS="-Xms128m -Xmx1024m"
source /opt/rh/rh-maven35/enable
bash bootstrap.sh java
mvn -T <num-threads> install

Build C++ modules

Replace <build-dir> with the name of the directory in which you'd like to build Vespa. Replace <source-dir> with the directory in which you've cloned/unpacked the source tree.

bash bootstrap-cpp.sh <source-dir> <build-dir>
cd <build-dir>
make -j <num-threads>
ctest3 -j <num-threads>

Create RPM packages

sh dist.sh VERSION && rpmbuild -ba ~/rpmbuild/SPECS/vespa-VERSION.spec

License

Code licensed under the Apache 2.0 license. See LICENSE for terms.

vespa's People

Contributors

baldersheim avatar bjorncs avatar freva avatar jonmv avatar gjoranv avatar geirst avatar arnej27959 avatar mpolden avatar vekterli avatar hakonhall avatar havardpe avatar bratseth avatar aressem avatar tokle avatar dybis avatar lesters avatar kkraune avatar olaaun avatar henrhoi avatar lonemeow avatar smorgrav avatar ollivir avatar vegardsjo avatar yngveaasheim avatar frodelu avatar andreer avatar ldalves avatar bjormel avatar thigm85 avatar smeringdal avatar

Watchers

Raghu Vamshi Challa avatar  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.