skip to main content
10.1145/3022211.3022214acmotherconferencesArticle/Chapter ViewAbstractPublication Pagescee-secrConference Proceedingsconference-collections
research-article

YoctoDB: A Partitioned Immutable Embedded Database

Published:28 October 2016Publication History

ABSTRACT

YoctoDB is a small embedded engine for extremely fast partitioned immutable-after-construction databases. Several high load services at Yandex.Classifieds implement pipelined partitioned data reindexing. The result of the reindexing process is an immutable index delivered to many search machines, reopened as a part of the composite index and queried when serving user requests. Read performance, memory consumption, fast reopening and reproducible latencies are paramount for the database engine. YoctoDB has successfully provided a solution for all of these services. We describe the role of YoctoDB in the architecture of indexing and search components, it's simple data model, client API, design, implementation and use cases. We conclude the paper with limitations of the approach and directions of future development.

References

  1. S. Chambi, D. Lemire, O. Kaser, and R. Godin. Better bitmap performance with roaring bitmaps. Software: practice and experience, 2015.Google ScholarGoogle Scholar
  2. F. Chang, J. Dean, S. Ghemawat, W. C. Hsieh, D. A. Wallach, M. Burrows, T. Chandra, A. Fikes, and R. E. Gruber. Bigtable: A distributed storage system for structured data. ACM Transactions on Computer Systems (TOCS), 26(2):4, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. D. Comer. Ubiquitous b-tree. ACM Computing Surveys (CSUR), 11(2):121--137, 1979. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. D. J. DeWitt, R. H. Katz, F. Olken, L. D. Shapiro, M. R. Stonebraker, and D. A. Wood. Implementation techniques for main memory database systems, volume 14. ACM, 1984. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. L. George. HBase: the definitive guide. O'Reilly Media, Inc., 2011.Google ScholarGoogle Scholar
  6. G. Graefe. Modern b-tree techniques. Foundations and Trends in Databases, 3(4):203--402, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. J. E. Hopcroft. Data structures and algorithms. Addison-Wesley Boston, MA, USA, 1983.Google ScholarGoogle Scholar
  8. M. Kleppmann. Designing data-intensive applications. O'Reilly Media, 2016.Google ScholarGoogle Scholar
  9. A. Lakshman and P. Malik. Cassandra: a decentralized structured storage system. ACM SIGOPS Operating Systems Review, 44(2):35--40, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. D. Lemire, G. Ssi-Yan-Kai, and O. Kaser. Consistently faster and smaller compressed bitmaps with roaring. Software: Practice and Experience, 2016. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. C. Okasaki. Purely functional data structures. Cambridge University Press, 1999.Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. P. O'Neil, E. Cheng, D. Gawlick, and E. O'Neil. The log-structured merge-tree (lsm-tree). Acta Informatica, 33(4):351--385, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. V. Tsesko. Akka at Yandex (in Russian) // JPoint 2014. http://2014.javapoint.ru/talks/07/, Apr. 2014. [Online; accessed 18-July-2016].Google ScholarGoogle Scholar
  14. J. Zhou and K. A. Ross. Implementing database operations using simd instructions. In Proceedings of the 2002 ACM SIGMOD international conference on Management of data, pages 145--156. ACM, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in
  • Published in

    cover image ACM Other conferences
    CEE-SECR '16: Proceedings of the 12th Central and Eastern European Software Engineering Conference in Russia
    October 2016
    102 pages
    ISBN:9781450348843
    DOI:10.1145/3022211

    Copyright © 2016 ACM

    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 28 October 2016

    Permissions

    Request permissions about this article.

    Request Permissions

    Check for updates

    Qualifiers

    • research-article
    • Research
    • Refereed limited
  • Article Metrics

    • Downloads (Last 12 months)5
    • Downloads (Last 6 weeks)0

    Other Metrics

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader