FoundationDB Record Layer

一个建立在 FoundationDB 上的面向记录的存储。「A record-oriented store built on FoundationDB

Github星跟蹤圖







FoundationDB Record Layer

Record Layer 是一个 Java API,在 FoundationDB 之上提供了一个面向记录的存储,(非常)大致相当于一个简单的关系型数据库,其特点是:

  • 结构化类型 -- 记录是以 protobuf 消息来定义和存储的。
  • 索引 -- 记录层支持各种不同的索引类型,包括值索引(大多数数据库提供的那种)、等级索引和集合索引。索引和主键可以通过 protobuf 选项或编程来定义。
  • 复杂类型 -- 支持复杂类型,如列表和嵌套记录,包括针对这种嵌套结构定义索引的能力。
  • 查询 -- 记录层没有提供查询语言,但是它提供了查询 API,能够在一个或多个记录类型中进行扫描、过滤和排序,以及能够自动选择索引的查询规划器。
  • 许多记录存储,共享模式 -- 记录层提供了支持许多离散记录存储实例的能力,所有这些实例都有一个共享的(和不断发展的)模式。例如,与其建模一个单一的数据库来存储所有用户的数据,不如给每个用户提供他们自己的记录存储,也许在不同的 FDB 集群实例中进行分片。
  • 非常轻量级 -- Record 层是为了在一个大型的、分布式的、无状态的环境中使用而设计的。打开一个存储和第一次查询之间的时间打算以毫秒为单位。
  • 可扩展 -- 新的索引类型和自定义索引键表达式可以动态地纳入记录存储。
  • 记录层可以直接使用,也可以提供一个很好的基础层,在此基础上可以构建更复杂的系统。

文档


主要指標

概覽
名稱與所有者FoundationDB/fdb-record-layer
主編程語言Java
編程語言Python (語言數: 6)
平台BSD, Cross-platform, Linux, Mac, Windows
許可證Apache License 2.0
所有者活动
創建於2018-08-02 20:59:44
推送於2025-05-13 16:23:34
最后一次提交
發布數563
最新版本名稱4.2.8.0 (發布於 2025-05-07 10:37:05)
第一版名稱2.1.10.0 (發布於 2018-10-23 18:37:49)
用户参与
星數616
關注者數33
派生數103
提交數4.6k
已啟用問題?
問題數1480
打開的問題數409
拉請求數1547
打開的拉請求數47
關閉的拉請求數273
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?

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
    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

沒有收錄該擁有者的更多項目. 推荐一個?