Giter Site home page Giter Site logo

karkerraquel / fdb-record-layer Goto Github PK

View Code? Open in Web Editor NEW

This project forked from foundationdb/fdb-record-layer

0.0 0.0 0.0 22.26 MB

A record-oriented store built on FoundationDB

License: Apache License 2.0

Shell 0.11% Python 0.07% Java 70.65% HTML 0.02% Raku 29.15%

fdb-record-layer's Introduction

FoundationDB logo

FoundationDB is a distributed database designed to handle large volumes of structured data across clusters of commodity servers. It organizes data as an ordered key-value store and employs ACID transactions for all operations. It is especially well-suited for read/write workloads but also has excellent performance for write-intensive workloads. Users interact with the database using API language binding.

To learn more about FoundationDB, visit foundationdb.org

FoundationDB Record Layer

The Record Layer is a Java API providing a record-oriented store on top of FoundationDB, (very) roughly equivalent to a simple relational database, featuring:

  • Structured types - Records are defined and stored in terms of protobuf messages.
  • Indexes - The Record Layer supports a variety of different index types including value indexes (the kind provided by most databases), rank indexes, and aggregate indexes. Indexes and primary keys can be defined either via protobuf options or programmatically.
  • Complex types - Support for complex types, such as lists and nested records, including the ability to define indexes against such nested structures.
  • Queries - The Record Layer does not provide a query language, however it provides query APIs with the ability to scan, filter, and sort across one or more record types, and a query planner capable of automatic selection of indexes.
  • Many record stores, shared schema - The Record Layer provides the ability to support many discrete record store instances, all with a shared (and evolving) schema. For example, rather than modeling a single database in which to store all users' data, each user can be given their own record store, perhaps sharded across different FDB cluster instances.
  • Very light weight - The Record layer is designed to be used in a large, distributed, stateless environment. The time between opening a store and the first query is intended to be measured in milliseconds.
  • Extensible - New index types and custom index key expressions may be dynamically incorporated into a record store.

The Record Layer may be used directly or provides an excellent foundational layer on which more complex systems can be constructed.

Documentation

fdb-record-layer's People

Contributors

0xflotus avatar alecgrieser avatar ammolitor avatar arnaud-lacurie avatar butlermh avatar davelester avatar dme26 avatar dsimmen avatar foundationdb-ci avatar g31pranjal avatar hatyo avatar jaydunk avatar jjezra avatar jleach4 avatar mmcm avatar nblintao avatar normen662 avatar nschiefer avatar ohadzeliger avatar panghy avatar pengpeng-lu avatar qdnguyen0 avatar saintstack avatar scgray avatar scottdugas avatar scottfines avatar sophiabuell avatar tian-yizuo avatar vsharma999 avatar wshaib-apple 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.