Uploaded image for project: 'Ignite'
  1. Ignite
  2. IGNITE-14035

Table access public API.

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 3.0.0-alpha2
    • Component/s: None
    • Labels:
    • Ignite Flags:
      Docs Required, Release Notes Required

      Description

      Motivation.

      Some users may want to use Key-value (KV) pair to store their data, some would like to have a single Record class for the same purpose.
      Both approaches are reasonable and perfectly maps to the row layout described in IEP. The only difference is separate key and value classes vs a single record class.
      Also, we must provide lower-level TableView to access data via BinaryObject analogs (like keepBinary() projection does in ignite 2.x) because ones may not have classes on the server-side.

      Description.

      Create table access API (incl. Record and KV concepts).
      Cover the next cases with Examples of how API can be used:

      • Simple Record case. (Row mapped to a single user class)
      • Simple KV case. (Row mapped to key-value pair of user classes)
      • Binary row case.
      • Binary KV case.
      • Truncated classes. (Value\Record class that covers a part of value columns.)
      • Custom class field->columns mapping.
      • Conditional serialization.
      • Inheritance mapping single table strategy (wide table schema vs conditional serialization)
      • Transition from "schemaless" (pure binary KV case) to schema-powered.

      Serializer\marshaller, schema management, schema versioning, underlying storage are out-of-scope and may be stubbed if needed.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                amashenkov Andrey Mashenkov
                Reporter:
                amashenkov Andrey Mashenkov
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 50m
                  50m