Skip to content

keyvi is a key value index, an in-memory FST-based data structure, optimized for size and lookup performance.

License

Notifications You must be signed in to change notification settings

michael-a-cliqz/keyvi

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Keyvi

Keyvi - the short form for "Key value index" - defines a special subtype of the popular key value store (KVS) technologies. As you can imagine from the name, keyvi is an immutable key value store, therefore an index not a store. Keyvi's strengths: high compression ratio and extreme scalability. So if you need online read/writes keyvi is not for you, however, if your use case is mostly reads and infrequent writes you might be interested in checking keyvi out.

Build status

Linux Coveralls
lin-badge cov-badge

Install

Quick

Precompiled binaries for Ubuntu 14.04LTS are available at the keyvi PPA. To install use:

sudo add-apt-repository ppa:hendrik-muhs/keyvi
sudo apt-get update
sudo apt-get install keyvi python-keyvi

From Source

The core part is a C++ header-only library, but the TPIE 3rdparty library needs to be compiled once. The commandline tools are also part of the C++ code. For instructions check the Readme file.

For the python extension pykeyvi check the Readme file in the pykeyvi subfolder.

Read

Usage

  • Howtos
    • [Compiling Dictionaries/Indexes](/doc/usage/Building keyvi dictionaries.md)
    • Pykeyvi
      • [Compiling](/doc/usage/Building keyvi dictionaries with python.md)
  • Crashcourse
  • [Using pykeyvi with EMR (mrjob or pyspark)](/doc/usage/Using pykeyvi in EMR.md)

Development

  • [Build/Packaging](/doc/development/Packaging keyvi.md)

Internals

If you like to go deep down in the basics, keyvi is inspired by the following 2 papers:

Licence and 3rdparty dependencies

keyvi is licenced under apache license 2.0, see licence for details.

In addition keyvi uses 3rdparty libraries which define their own licence. Please check their respective licence. The 3rdparty libraries can be found at keyvi/3rdparty.

About

keyvi is a key value index, an in-memory FST-based data structure, optimized for size and lookup performance.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 82.5%
  • Python 16.2%
  • C 1.1%
  • Shell 0.2%