跳到主要内容
版本:dev

Standard Row Format

Fory Row Format is a cache-friendly binary format for efficient random access and partial deserialization. Unlike object graph serialization, it lets readers access individual fields without reconstructing the complete object.

Features

  • Zero-copy random access: Read selected fields directly from encoded data.
  • Partial deserialization: Reconstruct only the values an application needs.
  • Cross-language compatibility: Share Standard Row bytes between Java, Python, C++, and Rust.
  • Apache Arrow integration: Convert rows to Arrow data in Java and Python.

Format Boundary

Standard Row stores fixed-width values inline and variable-width values by offset and size. Rows, arrays, and maps use a schema to resolve field positions and element types. The normative byte layout, alignment rules, type table, and endianness are defined by the Row Format Specification.

Row Format is intended for analytics, memory-mapped data, selective field access, and data pipelines. Use Object Serialization when the application needs general object graphs, shared or circular references, or complete object reconstruction as its primary access pattern.

Implementations

RuntimeStandard Row compatibilityRuntime guideAdditional integration
JavaCompatibleJavaArrow conversion; interface and extension-type mapping
PythonCompatiblePythonPyArrow schema and table conversion
C++CompatibleC++Native row readers and writers
RustCompatibleRustBorrowed struct, array, and map views

Use the runtime guides for installation, schema construction, encoding, random access, partial reads, and language-specific integrations.