Jump to content
 







Main menu
   


Navigation  



Main page
Contents
Current events
Random article
About Wikipedia
Contact us
Donate
 




Contribute  



Help
Learn to edit
Community portal
Recent changes
Upload file
 








Search  

































Create account

Log in
 









Create account
 Log in
 




Pages for logged out editors learn more  



Contributions
Talk
 



















Contents

   



(Top)
 


1 History  





2 Architecture  





3 Features  





4 Problems and restrictions  





5 Documentation  





6 See also  





7 References  





8 External links  














Elliptics






Русский
 

Edit links
 









Article
Talk
 

















Read
Edit
View history
 








Tools
   


Actions  



Read
Edit
View history
 




General  



What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Cite this page
Get shortened URL
Download QR code
Wikidata item
 




Print/export  



Download as PDF
Printable version
 
















Appearance
   

 






From Wikipedia, the free encyclopedia
 


Elliptics
Developer(s)Evgeniy Polakov with Yandex support
Initial release2008; 16 years ago (2008)
Repository
Written inC++, Python, Go
TypeNoSQL
LicenseGNU Lesser General Public License
Websitewww.reverbrain.com

Elliptics is a distributed key–value data storage with open source code. By default it is a classic distributed hash table (DHT) with multiple replicas put in different groups (distributed hashes). Elliptics was created to meet requirements of multi-datacenter and physically distributed storage locations when storing huge amount of medium and large files (1 KB up to gigabytes in size, thousands to billions of objects).

History[edit]

Elliptics was created in 2007, initially as a part of POHMELFS,[1][2]acache coherent distributed file system developed by Linux programmer Evgeniy Polyakov. POHMELFS was announced on January 31, 2008,[3] and merged into the staging area of the Linux kernel source tree in version 2.6.30, released June 9, 2009. The filesystem went practically unused and was removed again in February 2012.[4]

In 2008 Elliptics separated as an independent project. Polyakov tried different approaches to distributed data storage systems, some of them were not suitable because of their complexity and some of them were too far from a real-life (BerkeleyDB, LevelDB, Kyoto Cabinet backends for medium and big files, different datacenters in a single DHT ring, non eventual recovery). Elliptics is eventually consistent system with multiple updated in parallel replicas potentially living in physically distributed locations. Elliptics contains multiple layers from low-level on-disk store (named Eblob) up to SLRU caches and dynamic routing protocol.[5]

In 2012, Polyakov announced a new version of POHMELFS based on Elliptics.[4]

As of 2014, Elliptics is used in Yandex Maps, Disk, Music, Photos, Market and infrastructure,[6] Sputnik search engine and Coub.

Architecture[edit]

By default, Elliptics forms a distributed hash table in single group (a replica). Group may contains one or many servers as well as physical server can contain multiple elliptics groups (replicas) stored on different backends. Groups can live in different physical locations thus allowing to serve clients' requests when other locations are not accessible. A peer-to-peer (P2P) protocol can be used to access data directly from storage servers without proxying. Elliptics supports server-side scripting in C++, JavaScript, Python, based on the Cocaine technology, SLRU cache and multiple pluggable backends (eblob is the fastest for medium and large data and the most popular one).

Elliptics clients connect directly to all storage servers which helps to:

There are several application programming interfaces (APIs) for data access:

Features[edit]

Problems and restrictions[edit]

Documentation[edit]

Elliptics and its supporting projects are being documented at community wiki Archived 2020-01-21 at the Wayback Machine. It contains high-level design docs, tutorial, low-level details and knowledge base. Elliptics and related projects are discussed in open Google group.

See also[edit]

References[edit]

  1. ^ "POHMELFS: A New But Old Distributed Linux File-System - Phoronix". www.phoronix.com. Retrieved 8 May 2017.
  • ^ "POHMELFS returns [LWN.net]". lwn.net. Retrieved 8 May 2017.
  • ^ "Entry 2008.01.31". Archived from the original on 6 October 2008. Retrieved 8 May 2017.
  • ^ a b Evgeniy Polyakov (8 February 2012). "pohmelfs: call for inclusion".
  • ^ "Как устроены облака Яндекса: Elliptics". Retrieved 8 May 2017.
  • ^ "Elliptics — Yandex Technologies". api.yandex.com. Retrieved 8 May 2017.
  • External links[edit]


    Retrieved from "https://en.wikipedia.org/w/index.php?title=Elliptics&oldid=1211891255"

    Categories: 
    Key-value databases
    Software using the LGPL license
    NoSQL products
    Yandex software
    Hidden category: 
    Webarchive template wayback links
     



    This page was last edited on 5 March 2024, at 01:33 (UTC).

    Text is available under the Creative Commons Attribution-ShareAlike License 4.0; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.



    Privacy policy

    About Wikipedia

    Disclaimers

    Contact Wikipedia

    Code of Conduct

    Developers

    Statistics

    Cookie statement

    Mobile view



    Wikimedia Foundation
    Powered by MediaWiki